2016-08-11 9 views
3

これはHow to multicast send to all network interfaces?と同じではありません。これは1つのプログラムでのみ動作するソリューションを求めており、ソースアクセスが必要です。すべてのインターフェイスへのマルチキャストルート

ワイファイとイーサネットの両方のネットワーク上で見たいマルチキャストトラフィックを生成するプログラムがたくさんありますが、ネットワークに障害が発生した場合には「ルートなし」から死ぬことも嫌いです。

私が本当に望むのは、マシンから利用可能なすべてのインターフェイスへのすべてのマルチキャストトラフィックをルーティングすることです。インターフェイスがない場合はループバックします。

sudo ifconfig lo multicast 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo 

をしかし、これは人々がマルチキャストを取得することはできませんeth0のまたはwlan0を使用していることを意味します

Linux上で私が言うことができます。

同様に私が言うことができます。その後、

sudo ifconfig lo multicast 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 

しかしwlan0は、マルチキャストを取得することはありません。さらに悪いことに、私のプログラムは、すべてのインターフェイスがダウンすると「no multicast ip」へのルートでクラッシュします。

ループバックを含め、すべてのアダプタに接続するにはどうすればよいですか?

答えて

1

ルートを使用すると、mutlicastルートを複数のデバイスに追加できます。

sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev wlan0 

これは、ルーティングテーブルに反映し、当社のサービスが動作するように、別のNIC上で動作させました。

しかし、それはあなたに私には明らかではないこれを行う必要があります。

私が「有効」である私はどうやら「IPルートを」使用する/時代遅れの非推奨された経路を使用してからポートにしようとしたということであれば確認していない理由は、例えば

ip route add 224.0.0.0/4 dev eth0 
ip route add 224.0.0.0/4 dev wlan0 

しかしIPルートウォン2番目のルートを追加することはできません。私はasked aboutを明示的なマルチキャストグループアドレスを使用せずにip routeを適切に使用する方法を持っていますが、あなたがルートを使用して快適であれば、使用する必要がある各デバイスにルートを追加できるはずです。

関連する問題