cent7 iptables默认的规则表
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
INPUT的第三行看着已经把所有的流量都允许通过了 为什么实际测试只有22端口流量和icmp能通过
我这里加了一条规则iptables -I INPUT -p all -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT显示的和第三条一样就都可以了 请问是怎么回事 哭死 新加的一条和原表显示一样的 加完其他端口测试就能通
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
参考GPT和自己的思路:
根据你提供的规则表,第3行的规则是接受所有相关和建立连接的流量,所以在这个规则下,只有与之前已经建立了连接的流量才能通过。而你提到的22端口和icmp流量都可以通过,原因是它们是与之前已经建立了连接的,或者是建立新连接的,符合第3行的规则。
当你新增一条和第3行相同的规则之后,也就是第6行的规则,它和之前的规则可以一起匹配新连接,所以之后的其他端口测试也可以通过了。
因此,如果你想允许所有流量通过,可以把第3行的规则改成:
ACCEPT all -- anywhere anywhere
或者把第7行的规则改成:
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
这样就可以让所有的流量都可以通过了。