Linuxではマルチキャストを無効にすることはできません。

Linuxではマルチキャストを無効にすることはできません。

環境:ルータ経由で接続された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してください。

変更を適用した後にネットワークを再起動してみるか、単に再起動すると問題が解決する可能性があります。

おすすめ記事