iptables match 查找policy


iptables match到一条policy之后就不会往下继续查找policy了,来看看为什么。

也就是说,当一个包到达网卡,iptables检查的时候,是按照我们/etc/sysconfig/iptables中设定的规则一条一条往下check的,所以,设定在前面的规则会影响到后面的规则,设置的时候小心了。比如:

# Generated by iptables-save v1.2.8 on Sun Nov 25 16:13:01 2007

*filter

:INPUT DROP [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j DROP

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT

-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT

-A INPUT -i eth1 -p tcp -m tcp --dport 139 -j ACCEPT

-A INPUT -m state --state ESTABLISHED -j ACCEPT

-A OUTPUT -o lo -j ACCEPT

-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT

-A OUTPUT -p tcp -m tcp --sport 53 -j ACCEPT

-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT

-A OUTPUT -p tcp -m tcp --sport 139 -j ACCEPT

COMMIT

# Completed on Sun Nov 25 16:13:01 2007

这样的一段规则,设置之后就没有任何效果。因为一开始:

-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j DROP

这一句就把所有发往eth1的可能的网络链接封掉了,所以,下面的开放22端口这些东西就全都无效了,因为iptables根本就不往下看了。所以,一定要小心了。

通过上文,想必大家都知道为什么iptables match到一条policy之后就不会往下继续查找policy了把!希望本文对你们有用!

相关内容