Centos

只有在 iptables 中有 STATE NEW 會阻止 ESTABLISHED 連接?

  • May 21, 2017

我的 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 上所有已建立的連接嗎?

如果這是您的整個 INPUT 鏈,它不會阻止任何內容,因為 INPUT 策略是 ACCEPT 並且您沒有 DROP 規則。

如果您想要一個正常執行的防火牆,您需要將 INPUT 策略更改為 DROP 或添加 DROP 規則。但是,是的,如果您這樣做,您還需要一個規則來接受已建立的連接。你可以這樣做:

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

這接受所有已建立的連接作為第一個輸入規則,這通常是合理的做法。

如果您通過 ssh 連接,請確保在添加 DROP 策略或規則之前在 ssh 埠上接受新的和已建立的 tcp 連接。否則你可能會把自己鎖在外面。

引用自:https://serverfault.com/questions/851419