要在我的非默认NIC(dvb)上接收多播,请执行以下操作:
此时接收所需多播数据包的唯一方法是在路由表中添加一条规则,通过dvb到达发送方所在的网络(另一个网络),就像dvb需要回复多播一样发件人;让我们说一种源发送器组播模式。谁知道发生了什么事?这个问题让我讨厌,因为原则上我不知道发送者的IP。
答案 0 :(得分:11)
您似乎被rp_filter
反向路径过滤蜇了。如果数据包到达没有源地址路由的接口,则会丢弃数据包。
您可以使用sysctl /proc/sys/net/ipv4/conf/<if>/rp_filter
基于每个接口禁用它。
答案 1 :(得分:0)
绑定多播地址
这绝对是错误的。您必须绑定到实际适配器的实际IP地址,或0.0.0.0。
请注意,常见的错误是绑定 “0.0.0.0”
这不是错误。这是正确的过程,除非您只想听一个IP地址。
然后收到 socket甚至多播你不是 感兴趣
我不知道这意味着什么。
原则上我不知道发送者的IP
任何UDP数据报的发件人的IP地址都可以通过套接字API获得。