為什麼這些連接在 conntrack 下沒有被分類為「已建立」?

為什麼這些連接在 conntrack 下沒有被分類為「已建立」?

我有以下規則iptables

-A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT

這樣,未分類為已建立的傳出連線將被記錄。有時,防火牆出口日誌會擷取此類資料包:

09:56:48 DST=a.b.167.208 TTL=64 SPT=80 DPT=25960 WINDOW=119 ACK URGP=0
09:48:48 DST=a.b.166.231 TTL=64 SPT=80 DPT=29861 WINDOW=119 ACK PSH URGP=0
09:29:57 DST=a.b.167.244 TTL=64 SPT=80 DPT=58244 WINDOW=119 ACK URGP=0

經過進一步檢查,Web伺服器存取日誌顯示,之前有與上述IP位址75-100對應的傳入連線。

為什麼上​​述連接沒有被歸類為由 conntrack 模組建立的?怎樣才能濾除噪音呢?

答案1

根據我的理解,TCP連線只進入ESTABLISHED狀態已經ACK完成了,這些ACK包正是您在那裡記錄(和阻止)的內容。

http://www.iptables.info/en/connection-state.html#TCPCONNECTIONS

你有沒有嘗試過--ctstate ESTABLISHED,RELATED

正如您所說,僅“偶爾”記錄: dmesg/syslog 不會捕獲所有資料包。如果出現太多類似的訊息,它們將被丟棄以避免日誌氾濫。這是可配置的,但超出了這個問題的範圍。

相關內容