Linux

類似的 iptables 規則放在一起

  • January 24, 2022

我在 iptables 中有這些規則:

/sbin/iptables -N LOGGING
/sbin/iptables -A INPUT -j LOGGING
/sbin/iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
/sbin/iptables -A LOGGING -j DROP

我可以添加這些規則還是應該更改?不確定,如果我使用“A INPUT -j LOGGING”和“A INPUT -j LOG”來雙重記錄。

/sbin/iptables -A INPUT -j LOG
/sbin/iptables -A FORWARD -j LOG

不,你沒有。

-N LOGGING創建一個名為 的自定義表LOGGING。這只是您的自定義表格,您可以在其中放置規則以對它們進行分組。雖然它被稱為LOGGING,但它本身並不做任何日誌記錄。除了現有的表和目標之外,您可以以任何方式命名它。

當你用它來定位它時,-A INPUT -j LOGGING它只是告訴 netfilter “進入”這個表。現在它從第一條規則“走”到結束或終止目標 - 比如ACCEPTor DROP,而LOG是非終止目標。即,它會在處理非終止目標之後繼續執行下一條規則。所以-j LOG它們是實際的 LOG 目標,它進行日誌記錄。

但是,如果您提供的範例是完整的,那麼您可能會在這裡遇到的實際問題是-A LOGGING -j DROP一部分。它不包括任何匹配項,並且目標設置為DROP. 沒有任何匹配包括它通過的每個數據包。所以它只會在記錄後丟棄每個數據包。如果這是你的意圖,那沒關係。但通常這些是通過某種匹配完成的(如源/目標 IP、TCP/UDP 埠等)。

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