-1

my box runs ubuntu 14.04. it is an old 32bit box with 4 ether nics. what i want to achieve is multicast routing from an upstream interface (eth2.8 - dynamic ip) to a downstream interfcae (eth0.13 - 192.168.40.1). my laptop attached to above box via eth0.13 can read multicast from 40.1 like a charm. i verified that by running vlc as a server on 40.1

cvlc -vvv ./POS-Movie-927x521.mov --sout udp:239.255.12.42 --ttl 12

and receiving the stream on my laptop with

vlc udp://@239.255.12.42

that works even the other way round, sending with my laptop and receiving on the serverside.

so why is it not possible to access multicast packages via eth2.8?

joining works. i can verify arriving packages by

sudo tcpdump -i eth2.8 -n multicast

but it seems simply impossible to access these packages without tcpdump! this exactly describes what i am experiencing, alone the solution is not the same.

here some sysctl parameter:

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

there is no difference between sysctl params of eth2.8 and eth0.13.

and yes, this happens even if the firewall is down!

any hint appreciated, you'll make my week!

/markus

4

1 回答 1

0

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

于 2014-08-22T14:06:12.033 回答