存在多播包但无法访问

时间:2014-08-17 21:18:21

标签: networking kernel multicast sysctl

我的盒子运行ubuntu 14.04。它是一个旧的32位盒子,带有4个以太网。 我想要实现的是从上游接口(eth2.8 - 动态ip)到下游接口(eth0.13 - 192.168.40.1)的多播路由。 我的笔记本电脑通过eth0.13连接到上面的盒子可以像魅力一样从40.1读取多播。 我通过在40.1

上运行vlc作为服务器来验证
cvlc -vvv ./POS-Movie-927x521.mov --sout udp:239.255.12.42 --ttl 12

并使用

在我的笔记本电脑上接收流
vlc udp://@239.255.12.42

甚至可以反过来使用我的笔记本电脑发送并在服务器端接收。

那为什么不能通过eth2.8访问多播包呢?

加入作品。我可以通过

验证到货包裹
sudo tcpdump -i eth2.8 -n multicast

但没有tcpdump似乎根本无法访问这些软件包! this exactly describes what i am experiencing,单独解决方案不一样。

这里有一些sysctl参数:

  • net.ipv4.conf.eth2 / 8.rp_filter = 1
  • net.ipv4.conf.eth2 / 8.mc_forwarding = 1
  • net.ipv4.conf.eth2 / 8.forwarding = 1

eth2.8和eth0.13的sysctl参数之间没有区别。

是的,即使防火墙已关闭,也会发生这种情况!

任何暗示赞赏,你都会成为我的一周!

/马库斯

1 个答案:

答案 0 :(得分:0)

到上游主机失踪的单播路由! 接口确实接受来自其自己的类c net中的ip的传入igmp流量,但拒绝来自其他主机的数据包。 不幸的是,上游来自一些完全不同的网络。 一个简单的" ip route add ip / mask dev eth2.8"终于解决了所有问题。