1.1 iptables是什么?
开源的基于数据包过滤的防火墙工具。
1.2 Iptables企业应用场景
1、主机防火墙(filter表的INPUT链)。
2、局域网共享上网(nat表的POSTROUTING链)。半个路由器,NAT功能。
3、端口及IP映射(nat表的PREROUTING链),硬防的NAT功能。
4、IP一对一映射。
1.3 Iptables工作流程
1、防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
2、如果匹配上了规则,即明确表明是阻止还是通过,此时数据包就不在向下匹配新规则了。
3、如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
4、防火墙的默认规则是对应链的所有的规则执行完以后才会执行的(最后执行的规则)。
1.4 iptables表(tables)和链(chains)
iptables防火墙==>4张表(tables)===>一共有5个链=(chains)====>规则(policy)
代表不能功能 (进入、流出、转发) 具体执行办事的
工作内容:就是需要知道在哪张表哪个链上,配置合适的规则,从而控制数据包的处理!
1.4.1 iptables包含4张表:
1.filter(负责主机防火墙功能)******
2.nat(端口或IP映射以及共享上网功能)******
3.mangle(配置路由标记 ttl tos mark)
4.raw==不用
1.4.2 表对应的链:
filter : INPUT,OUTPUT,FORWARD
NAT : POSTROUTING,PREROUTING,OUTPUT
mangle:INPUT,OUTPUT,FORWARD,POSTROUTING,PREROUTING
raw
1.5 请写出查看 iptables 当前所有规则的命令。
iptables -nL --line-number
-n #<==以数字的形式显示规则
-L #<==列表链里的所有规则
--line-number #<==打印规则序号
-t 指定表(default: `filter')
1.6 禁止来自 10.0.0.188 ip 地址访问 80 端口的请求
iptables -A INPUT -p tcp --dport 80 -j DROP
1.7 如何使在命令行执行的 iptables 规则永久生效?
/etc/init.d/iptables save
iptables save >>/etc/sysconfig/iptables
1.8 实现把访问 10.0.0.3:80 的请求转到 172.16.1.17:80
iptables -t nat -A PREROUTING -d 10.0.0.3 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.6:80
1.9 实现 172.16.1.0/24 段所有主机通过 124.32.54.26 外网 IP 共享上网。
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 124.32.54.26
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
待续……