通过 debian miniPC eth0->eth1 进行多播路由

通过 debian miniPC eth0->eth1 进行多播路由

您好,我可能有一个菜鸟问题,因为我已经花了一些时间并且也弄乱了本地网络,因此:

我有一台 miniPC,用于在网络和 IPTV 机顶盒之间进行实时日志记录。机顶盒上有 DHCP,因此也可以为机顶盒提供 IP。此外,名为 loglicent 的应用程序用于捕获来自机顶盒的日志。

Eth0 已插入外部网络,并已设置多播。Eth1 上装有带 IP 的机顶盒,非多播服务正在运行(从存储播放等),但直播流 - 多播服务则无法运行。

我试过https://github.com/pali/igmpproxy但这并不好用,因为 miniPC 开始表现得像一个路由器,而其他设备正在请求该多播,当然没有响应。

所以我想知道,有没有简单的方法,如何简单地在 eth0 和 eth1 之间中继 mcast 流量?logclient 应用程序仍在运行。

答案1

igmpproxy是处理您的情况的正确方法。但是,要使多播流量流经您的路由器,您必须设置以下sysctl变量:

sysctl net.ipv4.conf.all.rp_filter=2 sysctl net.ipv4.conf.all.mc_forwarding=1

igmpproxy的作用是将来自您的 STB 的多播组的加入/离开请求转发到上游网络,但是,如果mc_forwarding禁用,则不会路由多播流量,而rp_filter这通常是必要的,因为大多数多播电视流通常有一些奇怪的源 IP,可能与您自己的网络空间重叠。

相关内容