对于“内网–>外网”的Web访问,取消状态跟踪
1)准备测试Web服务
在外网测试机pc120上快速开启httpd服务:
[root@pc205 ~]# yum -y install httpd
.. ..
[root@pc205 ~]# service httpd restart
.. ..
[root@pc205 ~]# echo "Test Page 120." > /var/www/html/index.html
根据当前的FORWARD策略,默认是被DROP掉的,因此从内网svr5访问外网pc120的Web服务时,将会被拒绝:
[root@svr5 ~]# elinks --dump http://174.16.16.120
.. ..
^C //长时间无响应,按Ctrl+c键中止
[root@svr5 ~]#
2)在gw1上添加规则,放行“内网–>外网”的Web访问,不做状态跟踪
编写防火墙规则:
[root@gw1 ~]# iptables -t raw -A PREROUTING -s 192.168.4.0/24 -p tcp --dport 80 -j NOTRACK
[root@gw1 ~]# iptables -t raw -A PREROUTING -d 192.168.4.0/24 -p tcp --sport 80 -j NOTRACK
[root@gw1 ~]# iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT
确认结果:
[root@gw1 ~]# iptables -t raw -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
NOTRACK tcp -- 192.168.4.0/24 0.0.0.0/0 tcp dpt:80
NOTRACK tcp -- 0.0.0.0/0 192.168.4.0/24 tcp spt:80
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@gw1 ~]# iptables -nL FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.4.0/24 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state UNTRACKED
3)再次测试Web访问
从内网svr5访问外网pc120的Web服务,可以快速看到Web页面内容:
[root@svr5 ~]# elinks --dump http://174.16.16.120
Test Page 120.