Iptables

iptables:如何阻止網關 LAN 端設備之間的 UDP(使用 dd-wrt 韌體)

  • November 10, 2021

目標:阻止 UDP 流量到此網關 LAN 端的設備(使用 dd-wrt ​​韌體),這些設備與網際網路和彼此通信,以測試每個設備上執行的特定通信應用程序。

例外:允許支持這些設備的基本網路操作所需的最低 UDP 繼續與網際網路和彼此通信(例如:通過 TCP)。

到目前為止我已經嘗試過:在此路由器/網關上添加了規則(通過 SSH 會話):

iptables -I FORWARD -p udp -j DROP 
iptables -I INPUT -p udp -j DROP

觀察到(什麼運作良好)

  • 該規則iptables -I FORWARD -p udp -j DROP成功阻止 LAN 端的設備通過 UDP 與 WAN 端的設備進行通信,這已通過無法使用實用程序在這些設備之間進行通信來驗證ncat -u

觀察到(什麼不起作用)

  • LAN 端的設備可以使用 UDP 相互通信:

    • 在設備 1(在 LAN 端):ncat -lvu # 在預設埠 31337 上使用 UDP 啟動 ncat 偵聽器
    • 在設備 2 上(在 LAN 端):ncat -vu <ip-addr-device-1># 在預設埠 31337 上使用 UDP 啟動 ncat 呼叫程序

期望(期望的結果)

  • 設備 2 上的 ncat 呼叫方無法使用 UDP 與設備 1 上的 ncat 偵聽器進行通信。
  • 設備 2 上的 ncat 呼叫者能夠使用 TCP 與設備 1 上的 ncat 偵聽器進行通信,但不使用 ncat 參數-u

附加資訊

  • 使用命令iptables -I INPUT -p udp -j DROP會影響太多其他通信,但無論如何都要使用,以證明此規則在阻止這兩個設備之間的 UDP 通信方面無效。
  • 使用硬體:tp-link AC1750(Archer C7 v5)
  • 使用韌體:dd-wrt,設置“Operating Mode = Gateway”
  • 網關後面的設備是 UWP、iOS、Android。此處給出的範例使用 UWP (Windows 10) 設備。
  • 我已經看到如何阻止 UDP 同時仍然允許與 iptables 的出站 UDP 連接?,但在我的情況下似乎沒有效果,正如嘗試所證明的那樣iptables -I INPUT -p udp -j DROP

您很可能無法干擾 LAN 到 LAN 的流量。我所知道的所有執行 DD-WRT / OpenWRT 的設備都有一個集成交換機,可以直接在第 2 層的 LAN 設備之間切換流量。

只有需要轉發的流量才會傳遞到系統的路由器部分(第 3 層),Netfilter 可以在其中攔截流量。

您可以嘗試使用多個乙太網適配器設置 Linux 機器,然後將這些適配器橋接在一起。然後您可以使用br_netfilter強制 L2 流量通過 Netfilter,允許攔截流量。

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