如何使用 iptables 通过 DNAT 将单播转换为广播?

如何使用 iptables 通过 DNAT 将单播转换为广播?

如何通过 DNATiptables或其他方式将 UDP 单播数据包转换为广播地址?

答案1

使用 iptables 是不可能的(据我所知),除非您允许广播流量传递到路由器(在我看来这是一个坏主意)。

DNAT 在 PREROUTING 中执行,数据包被 DNAT 以在此链中广播,并且当这些数据包到达路由决策时,它是广播流量,通常会被阻止并且不会转到 FORWARD。

其他选项是设置一个静态 ARP 条目,将目标单播 IP 转换为广播以太网地址。

答案2

实际上 iptables 不做任何广播。当路由机制看到数据包有广播目标地址时,它可能会这样做

如前所述,它默认丢弃所有转发的广播

在最近的 Linux 内核(大约 5.0 版)中,已经可以转发定向 UDP 广播

需要修改广播网络接口的bc_forwarding参数:

sudo sysctl -w net.ipv4.conf.eth1.bc_forwarding=1

(注意:似乎选项 net.ipv4.conf。全部.bc_forwarding 不起作用)

相关内容