多个网络接口和 UDP 数据包分发

多个网络接口和 UDP 数据包分发

我有一台 Linux 服务器,它有 2 个 1Gb 网络接口 eth1 和 eth2。如果我启动 2 个客户端来监听同一个多播地址,并且每个客户端通过不同的 NIC 连接(假设客户端 1 通过 eth1 监听多播,客户端 2 通过 eth2 监听多播),那么客户端 2 会收到重复的 UDP 数据包。

另一方面,如果两个客户端都使用相同的接口 eth1,则两个客户端都可以正常工作。

我已经尝试将 arp_filter 和 proxy_arp 设置为 1(arp flux 问题),但问题仍未解决。这是 Linux 内核问题吗?或者还有其他方法可以正确设置接口?

答案1

这是因为多播对每个接口监听一次。每个订阅特定多播地址的接口都会收到数据包。

如果没有更多关于您要做什么以及为什么这样做的信息,我想我只会说“不要那样做”。

相关内容