![如何为此网络设置多播?](https://linux22.com/image/132531/%E5%A6%82%E4%BD%95%E4%B8%BA%E6%AD%A4%E7%BD%91%E7%BB%9C%E8%AE%BE%E7%BD%AE%E5%A4%9A%E6%92%AD%EF%BC%9F.png)
我家有一个这样的网络。
# ip route show
default via 192.168.0.1 dev enp1s0
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.110
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.10
我在中间使用 linux box 所做的事情是使用 iptables 和 tc 监视互联网使用情况并在达到限制时限制数据
最近,我在我的一台 PC 上添加了 DVB 卡,并使用 DVBdream 软件尝试使用 LAN 流将频道流式传输到其他设备
在同一台电脑上,这工作正常。
但是如果我尝试在另一台电脑上使用 VLC 打开 udp://@224.0.0.10:1234,它不起作用
我尝试将多播网络添加到路由列表,但这没有任何作用
route -n add -net 224.0.0.0 netmask 240.0.0.0 dev enp3s0
linux 内核也启用了这些
CONFIG_IP_MULTICAST=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
如果我在 Linux 路由器上运行这个命令
tcpdump -i enp3s0 ip multicast
我可以看到这样的输出
13:50:37.072348 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072458 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072588 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072703 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072838 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072953 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073083 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073195 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073205 IP 192.168.1.100 > igrp-routers.mcast.net: udp
是否可以在该系统上进行组播并与其他 PC 查看频道?如果是这样,我如何在此系统上启用多播?
注意:我尝试了广播,它可以工作,但由于向连接到它的所有设备传输不必要的数据,网络出现延迟。
问候
答案1
非常简单地说:
1)组播不是通过路由转发的,所以你可以设置路由,直到你脸色发青,什么都不会改变。
2)首先尝试192.168.1.100和196.168.1.112,它们在同一网段,应该可以工作。如果不debug,用tcpdump。
3) 无线网关是否桥接?如果没有,您需要安装多播路由恶魔,例如smcroute
或pimd
。我强烈建议桥接它,这是更简单的解决方案。
4) 您可以使用 来测试一般的多播ssmping
。再次,tcpdump
在所有机器上使用进行调试。