标题:iptables的具体应用规则 出处:沧海一粟 时间:Fri, 10 Sep 2010 14:56:00 +0000 作者:jed 地址:http://www.dzhope.com/post/687/ 内容: 一些iptables的具体应用 ICMP相关应用 使自己不能ping 通 127.0.0.1 iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP 192.168.0.0/24 网段无法ping能本机 iptables -A INPUT -s 192.168.0.0/24 -p icmp -j DROP 禁所有机器 # iptables -A INPUT -s 0/0 -p icmp -j DROP # ICMP(PING) 接受 ! echo-request /sbin/iptables -A INPUT -p icmp –icmp-type ! echo-request -j ACCEPT accept_redirects # echo “0″ > /proc/sys/net/ipv4/conf/all/accept_redirects or # sysctl net.ipv4.conf.all.accept_redirects=”0″ 禁止IP访问自己 [root@linux root]# iptables -A INPUT -s 192.168.0.253 -j DROP 封杀MSN /sbin/iptables -I FORWARD -d gateway.messenger.hotmail.com -j DROP /sbin/iptables -I FORWARD -p tcp –dport 1863 -j DROP 封杀QQ /sbin/iptables -A FORWARD -p tcp -d tcpconn.tencent.com –dport 80 -j DROP /sbin/iptables -A FORWARD -p tcp -d tcpconn.tencent.com –dport 443 -j DROP /sbin/iptables -A FORWARD -p tcp -d tcpconn2.tencent.com -j DROP /sbin/iptables -A FORWARD -i eth0 -p udp –dport 8000 -j DROP 封杀BT /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 6881:6890 -j DROP WWW # 禁止>>WWW /sbin/iptables -A FORWARD -p tcp –dport 80 -j DROP # 开放>>WWW /sbin/iptables -A FORWARD -p tcp –dport 80 -j ACCEPT FTP # 禁止FTP /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 20 -j DROP /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 21 -j DROP # 开放FTP /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 20 -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 21 -j ACCEPT SMTP,POP3 # 禁止SMTP,POP3 /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 25 -j DROP /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 110 -j DROP # 开入SMTP,POP3 /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 25 -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -p tcp –dport 110 -j ACCEPT Samba # 禁止Samba [root@linux root]# iptables -A FORWARD -p tcp –sport 137:139 -j DROP [root@linux root]# iptables -A FORWARD -p udp –sport 137:139 -j DROP DROP # DROP OTHERS /sbin/iptables -A FORWARD -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -s 192.168.1.0/24 -j DROP 使用iptables -L -n命令查看当前防火墙的规则,结果类似下面这样,其中(policy ACCEPT)指的就是预设的策略 Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all — 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination iptables定义策略的语法: iptables [-t tables] [-P] [INPUT, OUTPUT, FORWARD | PREROUTEING, OUTPUT, POSTROUTING] [ACCEPT, DROP] -P 定义Policy 用于fliter表中的参数 INPUT 请求主机的信息包 OUTPUT 主机发出的信息包 FORWARD 转发的信息包 用于nat表的参数 PREROUTING 路由之前处理 OUTPUT 主机发出的信息包 POSTROUTING 路由之后处理 iptables查看规则的语法: iptables [-t table] [-L] [-n] -t 后面接 iptables 的 table,默认就是 -t filter。 -L 列出当前的 table 的规则 -n 不进行 IP 与 hostname 的转换 iptables清除规则的语法: iptables [-t table] [-FXZ] -F 清除所有规则; -X 杀掉所有用户建立的链 -Z 将所有链的计数与流量统计都清零 iptables增加和定义规则的语法: iptables [-t table] [-AI INPUT,OUTPUT,FORWARD] [-s IP/network] -j [ACCEPT,DROP] -A:将一条规则添加到最后面 -I:插入一条规则,默认放在最前面 -s:来源数据包的IP地址或地址段 -j:要执行的动作(drop、accept、log) iptables删除规则语法: iptables -D INPUT 2,表示删除INPUT链中的第二条规则 Generated by Bo-blog 2.1.1 Release