全部博文(297)
分类: LINUX
2007-09-11 13:26:08
通过以上个步骤,我们建立了一个相对完整的防火墙。只对外开放了有限的几个端口,同时提供了客户对Internet的无缝访问,并且对ip碎片攻击和icmp的ping
of
death提供了有效的防护手段。以下是完整的脚本文件内容,希望通过这个实例能是对iptables的用法有所了解:
#!/bin/sh
echo "Starting iptables rules..."
#Refresh all chains
/sbin/iptables -F
###########################Define HTTP packets####################################
#Allow www request packets from Internet clients to www servers
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j
ACCEPT
############################Define FTP packets#####################################
#Allow ftp request packets from Internet clients to Intranet ftp server
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.12 --dport ftp -i eth0 -j
ACCEPT
###########################Define smtp packets####################################
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.13 --dport smtp -i eth0 -j
ACCEPT
#############Define packets from Internet server to Intranet#######################
/sbin/iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.80.0/24 -i
eth0 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.0/24 ! -syn -i eth0 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT
#############Define packets from Intranet to Internet###############
/sbin/iptables -A FORWARD -s 198.168.80.0/24 -i eth1 -j ACCEPT
##################Define fregment rule#############/sbin/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j
ACCEPT
#####################Define icmp rule###################
/sbin/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j
ACCEPT
五、 iptables与ipchains的区别
·iptables的缺省链的名称从小写换成大写,并且意义不再相同:INPUT和OUTPUT分别放置对目的地址是本机以及本机发出的数据包的过虑规则。
·-i选项现在只代表输入网络接口,输入网络接口则使用-o选项。
·TCP和UDP端口现在需要用--source-port或--sport(或--destination-port/--dport)选项拼写出来并且必须置于"-p
tcp"或"-p udp"选项之后,因为它们分别是载入TCP和UDP扩展的。
·以前TCP的"-y"标志现在改为"--syn",并且必须置于"-p tcp"之后。
·原来的DENY目标最后改为了DROP。
·可以在列表显示单个链的同时将其清空。
·可以在清空内建链的同时将策略计数器清零。
·列表显示链时可显示计数器的当前瞬时值。
·REJECT和LOG现在变成了扩展目标,即意味着它们成为独立的内核模块。
·链名可以长达31个字符。
·MASQ现在改为MASQUERADE,并且使用不同的语法。REDIRECT保留原名称,但也改变了所使用的语法。
用iptables实现NAT