k3a*_*k3a 5 linux bridge multicast
我在路由器(Linux 机器)上设置了这些接口:
br0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet 192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255
bridge name bridge id STP enabled interfaces
br0 8000.00156d8591ec no eth0
wlan0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::7271:bcff:feb1:d9cf prefixlen 64 scopeid 0x20<link>
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.200.44.147 netmask 255.255.255.128 broadcast 10.200.44.255
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::215:6dff:fe85:91ec prefixlen 64 scopeid 0x20<link>
Run Code Online (Sandbox Code Playgroud)
在 br0 中有两个接口(eth0 - 本地家庭网络和 wlan0 - 无线家庭网络)。eth1 是互联网连接接口,不是 br0 的一部分。
我使用 mumudvb 发送 IP 组为 239.100.0.1 (udp/1234) 的多播 IPTV,并使用 VLC 播放器在 LAN 上的另一台机器上接收此多播流量。
当我将它配置为通过 eth0 发送多播时,一切都在家庭局域网上运行良好,但我无法从路由器本身加入多播组。
这就是为什么我将它配置为通过 br0 发送多播(更有意义 - 然后我可以从 LAN eth0 以及路由器本身加入多播组)但是加入后大约 5 分钟,LAN 多播连接断开(不发送任何 IGMP 消息) )。但我可以再次加入,它会在接下来的 5 分钟内再次工作,然后下降。
为什么通过 br0 发送多播时会掉线,而直接通过 eth0 发送时不会掉线?我是否缺少桥上的一些配置?在此期间什么可以过期?例如,桥的 STP 被禁用,但它不应该影响这一点?
当我从路由器本身加入 br0 多播组时,它不会掉线。仅当从通过 eth0 连接到 br0 的机器订阅时。
使用 br0 进行组播时,需要启用 IGMP 查询器。当它启用时,IGMP 协议版本将从 v3 更改为 v2,它将开始发出成员资格查询并且不再下降。
从我用谷歌搜索的内容来看,似乎没有在网桥上启用查询器的实用程序,必须通过/sys如下方式完成:
$ echo -n 1 > /sys/devices/virtual/net/br0/bridge/multicast_querier
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8301 次 |
| 最近记录: |