私のボックスはubuntu 14.04を実行しています。これは、4 つのイーサネット NIC を備えた古い 32 ビット ボックスです。私が達成したいのは、アップストリーム インターフェイス (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 マルチキャスト
しかし、tcpdump なしでこれらのパッケージにアクセスすることはまったく不可能に思えます! これは私が経験していることを正確に説明していますが、それだけでは解決策は同じではありません。
ここにいくつかの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 パラメータに違いはありません。
はい、これはファイアウォールがダウンしている場合でも発生します!
ヒントをいただければ幸いです。あなたは私の週を作ります!
/マーカス