小编Art*_*ski的帖子

通过 iptables 单播到多播

注意:虽然现在有一个可以接受的答案,但这只是一部分;检查下面的最终 iptables 规则。

我在一个接口上接收单播 RTP 流,并希望通过多播在第二个接口上将其发送出去。有问题的系统是一个运行 Linux 的嵌入式处理器,但我发现在我的 Ubuntu 10.10 主机上设置同样困难。基于http://lists.netfilter.org/pipermail/netfilter/2002-October/038890.html和其他来源的简单而明显的答案似乎是:

iptables -t nat -A PREROUTING -i [unicast-interface] -p udp --dport [unicast-incoming-port] -j DNAT --to-destination [multicast-addr]:[multicast-port]
Run Code Online (Sandbox Code Playgroud)

一些额外的研究导致了这种配对:

iptables -t nat -A PREROUTING -i [unicast-interface] -p udp --dport [unicast-incoming-port] -j DNAT --to-destination [multicast-addr]:[multicast-port]
iptables -A FORWARD -i [unicast-interface] -o [multicast-interface] -p udp --dport [unicast-incoming-port] -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

尽管列出时会显示规则,并且 tcpdump 显示传入的单播数据包,但单独机器上的 Wireshark 显示没有数据包传出。

我查看了如何使用 iptables 通过 DNAT 将单播转换为广播?但这似乎与广播案件的细节有关。

注意:没有设置其他的 iptables 规则。我已经使用 iptables -L(和 -t nat -L)和 iptables --flush …

iptables multicast

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

iptables ×1

multicast ×1