具有特定目標 IP 的 INPUT 的 iptable 規則不會被阻止,並且 iptable 根本不知道任何此類資料包

具有特定目標 IP 的 INPUT 的 iptable 規則不會被阻止,並且 iptable 根本不知道任何此類資料包

大多數關注點是 INPUT 鏈中的 SRC ip。

但對於以下情況:

如果有人發送錯誤的 src ip 或錯誤的目標端口,則以下內容有效:

主機中介面之一的 IP 為 192.168.1.11

iptables -A INPUT -s 192.168.1.1 -d 192.168.1.11 -dport 1000 -j ACCEPT
iptables -A INPUT -j NFLOG --nflog-group 30
iptables -A INPUT -j DROP

下面不起作用如果有人傳送錯誤的來源 IP 或錯誤的目標連接埠:

主機中的任何介面都沒有 IP - 192.168.1.11

iptables -A INPUT -s 192.168.1.1 -d 192.168.1.11 -dport 1000 -j ACCEPT
iptables -A INPUT -j NFLOG --nflog-group 30
iptables -A INPUT -j DROP

這給人的印像是:

  • 在主機中取消註冊 IP(沒有特定 IP 的 iface),使 iptable 根本不考慮該規則或者
  • iptable 根本不會收到這個傳入的 pcket,而且它會在它之前被丟棄。

iptables 在 IP 路由之後出現。

誰能告訴我 iptable 是否是這樣運作的?

另外,如果意圖登入 NFLOG,了解系統中描述錯誤目標 IP 的任何傳入訊息,克服該問題的方法是什麼。

我嘗試過 -t mangle、-t nat、-A preroute 以及字串檢查。

我是否需要使用較低級別的檢查,例如 ebtable、NetFilter 等。

答案1

主機中的任何介面都沒有 IP - 192.168.1.11

這給人的印像是: -- 在主機中取消註冊 IP(沒有特定 IP 的 iface),使得 iptable 根本不考慮該規則

退後一步,忽略 iptables,並考慮為什麼電腦會接受並處理資料包?如果完全停用所有防火牆規則會發生什麼事?

如果電腦沒有與給定介面關聯的 IP,並且您沒有執行任何異常操作,那麼它甚至不會使用 MAC 位址回覆 ARP 封包。因此,該資料包從一開始就不會被電腦處理。

相關內容