環境:ルータ経由で接続された2台のサーバー、両方Ubuntu 16.04を実行
マルチキャストを無効にするには、次のコマンドを使用します。
ifconfig eno1 -multicast
または
ip link set eno1 multicast off
結果を確認すると、マルチキャストフラグはありません。
$ ifconfig eno1
eno1 Link encap:Ethernet HWaddr f8:ca:b8:4b:5b:88
inet addr:192.168.1.240 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::34c4:560f:208a:9249/64 Scope:Link
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:193 errors:0 dropped:0 overruns:0 frame:0
TX packets:742 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:39493 (39.4 KB) TX bytes:602751 (602.7 KB)
Interrupt:20 Memory:f7200000-f7220000
次に、iperfを使用して、1つのサーバーがパケットを送信するマルチキャストをテストしました。
$ iperf -c 226.94.1.1 -u -i 1
他のサーバーは依然としてパケットを受信します。
$ iperf -s -u -B 226.94.1.1 -i 1
------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 226.94.1.1
Joining multicast group 226.94.1.1
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 226.94.1.1 port 5001 connected with 192.168.1.240 port 36855
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0- 1.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%)
[ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%)
マルチキャストモードが無効になっていないようです。理由はわかりません。
助けてくれてありがとう。
答え1
avahi-daemon設定からマルチキャストを手動で削除してみてください。
編集する/etc/init/avahi-daemon.conf
ラインをstart on (filesystem and started dbus)
次に交換します。start on (never and filesystem and started dbus)
次に、stop
その行を次に置き換えます。stop on stopping dbus
そのstop
行がない場合は、その行の下にstop on stopping dbus
追加start on
してください。
変更を適用した後にネットワークを再起動してみるか、単に再起動すると問題が解決する可能性があります。