iptables:如何阻止网关 LAN 端设备之间的 UDP(使用 dd-wrt ​​固件)

iptables:如何阻止网关 LAN 端设备之间的 UDP(使用 dd-wrt ​​固件)

目标:阻止到此网关 LAN 端设备的 UDP 流量(使用 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 调用者有能力的通过不使用 ncat 参数,使用 TCP 与设备 1 上的 ncat 监听器进行通信-u

附加信息

  • 使用命令iptables -I INPUT -p udp -j DROP会对太多其他通信产生影响,但无论如何都会使用,以证明该规则在阻止这两个设备之间的 UDP 通信方面无效。
  • 使用硬件:tp-link AC1750(Archer C7 v5)
  • 使用固件:dd-wrt,设置“操作模式 = 网关”
  • 网关后面的设备是 UWP、iOS、Android。此处给出的示例使用 UWP(Windows 10)设备。
  • 我见过如何阻止 UDP,同时仍允许使用 iptables 进行出站 UDP 连接?,但就我而言似乎无效,正如尝试所证明的那样iptables -I INPUT -p udp -j DROP

答案1

您很可能无法干扰 LAN 到 LAN 的流量。据我所知,所有运行 DD-WRT / OpenWRT 的设备都配有集成交换机,可在第 2 层直接在 LAN 设备之间切换流量。

只有需要转发的流量才会被传递到系统的路由器部分(第 3 层),Netfilter 可以在此拦截流量。

您可以尝试设置一个带有多个以太网适配器的 Linux 机器,然后将这些适配器桥接在一起。然后您可以使用它br_netfilter来强制 L2 流量通过 Netfilter,从而允许拦截流量。

相关内容