iptables 阻止流量

iptables 阻止流量

有人可以解释一下为什么 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 这一行似乎应该接受所有流量,但事实并非如此。

答案1

应该查看每个链的 iptables。

  1. INPUT所有流量均在链中被接受。
  2. OUTPUT所有流量均在链中被接受。
  3. FORWARD即使将默认策略设置为,链中的所有流量都会被拒绝ACCEPT

总之,您的防火墙允许所有传入和传出连接。但是,它拒绝将任何数据包转发到任何其他主机。

一般规则是按照 iptables 规则进行匹配。如果没有匹配,则应用默认链策略。

答案2

 pkts bytes target     prot opt in     out     source               destination
 6741  691K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
    1    84 ACCEPT     icmp --  any    any     anywhere             anywhere
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere

事实证明,我以为允许所有流量通过的只是允许环回流量(即“lo”)。

相关内容