导论:Linux 防火墙:关于 iptables 和 firewalld 的那些事(http://blog.jobbole.com/114430/)
iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具。但是ipfirewall工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,软件更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。
iptables 防火墙规则
1、查看当前的规则
root@ubuntu:/var/lib/tomcat7/conf# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
--没有规则,默认规则是ACCEPT。此时从本机或其它机器都可以访问tomcat (curl 192.168.1.102:8080)
2、清除所有规则 iptables -F
3、增加一条规则
iptables -A INPUT -p tcp --dport 8080 -j DROP --禁止访问tcp的8080端口
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j DROP --禁止从eth0访问tcp的8080端口
iptables -A INPUT -i eth0 -s 192.168.1.101 -p tcp --dport 8080 -j DROP --禁止192.168.1.101从eth0访问tcp的8080端口
通用规则 iptables -A INPUT|OUTPUT|FORWARD -i eth0 -p tcp|udp|icmp|all --dport 8080 -j DROP|REJECT|ACCPET
4、删除一条规则
iptables -D INPUT 1 --DELETE first RULE
iptables -D INPUT -i eth0 -p tcp --dport 8080 -j DROP
5、插入一条规则,原本该位置上的规则将会往后移动一个顺位。
iptables -I INPUT 1 --dport 80 -j ACCEPT
6、替换一条规则
iptables -R INPUT 1 -s 192.168.0.1 -j DROP
7、修改默认规则
iptables -P INPUT DROP
更详细的参数说明,见 http://blog.chinaunix.net/uid-9950859-id-98278.html