有人能解释一下为什么 IPTABLES 会阻止此规则列表中的任何端口吗:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
在我看来,ACCEPT ALL 行应该接受所有流量,但事实并非如此。
您的 iptables 应该针对每个链进行查看。
INPUT
链中接受。OUTPUT
链中接受。FORWARD
即使默认策略设置为 ,链中的所有流量也会被拒绝ACCEPT
。总之,您的防火墙允许所有传入和传出连接。但是,它拒绝将任何数据包转发到任何其他主机。
一般规则是按照您的 iptables 规则进行匹配。如果没有匹配,则应用默认链策略。
事实证明,我认为允许所有流量通过的只是允许环回流量(即“lo”)。