iptables 中只有 STATE NEW 才会阻止 ESTABLISHED 连接?

iptables 中只有 STATE NEW 才会阻止 ESTABLISHED 连接?

我的 iptables 现在是这样的:

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:12001 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:12001 
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:8989 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8989 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8888 

端口 8989 上的 STATE NEW 规则将允许新连接通过。但是,它会阻止端口 8989 上所有已建立的连接吗?

答案1

如果这是您的整个 INPUT 链,它不会阻止任何内容,因为 INPUT 策略是 ACCEPT 并且您没有 DROP 规则。

如果您想要一个正常运行的防火墙,您需要将 INPUT 策略更改为 DROP 或添加 DROP 规则。但是,是的,如果您这样做,您还需要一个规则来接受已建立的连接。您可以这样做:

iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

它接受所有已建立的连接作为第一个输入规则,这通常是合理的做法。

如果您通过 ssh 进行连接,请确保在添加 DROP 策略或规则之前,在您的 ssh 端口上接受新的和已建立的 tcp 连接。否则,您可能会把自己锁在外面。

相关内容