5

TLDR: 「ip route」を使用して複数の NIC のマルチキャスト ルートを追加する方法はありますか?

別々の NICS 上の異なる IP アドレスにバインドされた 2 つのソケットを 2 つの別々のマルチキャスト グループに参加させるソフトウェアがあります。マルチキャスト グループ 239.255.100.1。

現在、ルートを使用して 2 つのネットワーク インターフェイスにマルチキャスト ルートを設定するために、bash スクリプト (Linux カーネル 3.14.39) を使用しています。

route add -net 224.0.0.0 netmask 240.0.0.0 eth0
route add -net 224.0.0.0 netmask 240.0.0.0 eth1

route -n で検証

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth1

私は最近、ルートが非推奨/廃止され、代わりに ip route を使用する必要があることを読みました。

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

残念ながら、2 番目の呼び出しは「RTNETLINK の回答: ファイルが存在します」で失敗し、もちろんこれらの呼び出しの後に 2 番目のルートは表示されません。

複数の NIC にマルチキャスト ルートを追加するために ip route を使用する方法はありますか?

/8 をネットマスクとして使用できますか? 例えば

ip route add 233.0.0.0/8 dev eth0

ip route add 239.0.0.0/8 dev eth1

ただし、これを行うスクリプトは、どのマルチキャスト アドレスがどのデバイスに関連付けられているかを認識せず、システム構成によっては常に同じであるとは限らないため、問題があります。ルート追加の最初の例を使用すると、これは問題になりません。

4

0 に答える 0