iptables 中的 OUTPUT 鏈規則

iptables 中的 OUTPUT 鏈規則

netfilter似乎允許來自我的INPUT鏈的被拒絕的流量通過我的OUTPUT鏈。以下是INPUT應用於相關資料包的鏈中的規則:

 LOG         all  --  *  *   0.0.0.0/0  0.0.0.0/0    LOG flags 0 level 6 prefix "ICATCH:"
 REJECT-PKT  all  --  *  *   0.0.0.0/0  0.0.0.0/0    

使用者自訂REJECT-PKT鍊及其相關規則:

 REJECT    tcp  --  *  *  0.0.0.0/0    0.0.0.0/0    tcp reject-with tcp-reset

這是記錄的結果:

May 15 06:41:51 li51-144 kernel: ICATCH:IN=eth0 OUT= MAC=f2:3c:91:1f:61:44:84:78:ac:0d:97:c1:08:00 SRC=188.138.135.9 DST=<my IP> LEN=40 TOS=0x00 PREC=0x00 TTL=46 ID=46841 PROTO=TCP SPT=8838 DPT=23 WINDOW=22014 RES=0x00 SYN URGP=0
May 15 06:41:51 li51-144 kernel: OCATCH:IN= OUT=eth0 SRC=<my IP> DST=188.138.135.9 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=23 DPT=8838 WINDOW=0 RES=0x00 ACK RST URGP=0

第二行由表中的以下(倒數第二)規則產生OUTPUT

LOG        all  --  0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "OCATCH:"

我的印像是被拒絕的資料包以某種方式被核心標記,並且帶有RSTiptables規則產生的標誌的 TCP 流量未被防火牆處理。

我誤解了什麼?

答案1

就像@Aaron 所說,這是正常的。

當傳入封包達到REJECT 規則時,它將由 netfilter 處理,並用RST封包和訊息回覆發送者。

但是,如果您將其設為DROP相反,則來源將不會收到任何訊息。

檢查此連結: DROP 和 REJECT 之間的區別

值得運行tcpdumpwireshark捕獲輸出並查看集線器下發生了什麼。

相關內容