使用ip route add为多台设备添加组播路由

2023-12-22

TLDR:有没有办法使用“ip Route”为多个网卡添加多播路由?

我们有软件将两个绑定到不同 NICS 上不同 IP 地址的套接字连接到两个单独的多播组,例如套接字 1 绑定到 192.168.0.2 并加入多播组 233.255.10.1,而套接字 2 绑定到 10.57.31.2 并加入到多播组 239.255.100.1。

我们当前使用bash脚本(Linux内核3.14.39)使用route在两个网络接口上设置多播路由,例如

route add -net 224.0.0.0 netmask 240.0.0.0 eth0
route add -net 224.0.0.0 netmask 240.0.0.0 eth1

并通过路线 -n 进行验证

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth1

我最近读到路由已被弃用/过时,我们应该使用 ip 路由,例如

ip route add 224.0.0.0/4 dev eth0
ip route add 224.0.0.0/4 dev eth1

不幸的是,第二个调用失败,并显示“RTNETLINK 答案:文件存在”,当然,在这些调用之后第二个路由不会显示。

有没有办法使用 ip Route 将组播路由添加到多个网卡?

我可以使用 /8 作为网络掩码吗?例如

ip route add 233.0.0.0/8 dev eth0

and

ip route add 239.0.0.0/8 dev eth1

但这是有问题的,因为执行此操作的脚本不知道哪个多播地址与哪个设备关联,并且根据系统配置,它并不总是保证相同。使用我的第一个路由添加示例使这不再是问题。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用ip route add为多台设备添加组播路由 的相关文章

随机推荐