환경: 라우터를 통해 연결된 두 대의 서버, 둘 다 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를 사용하여 하나의 서버가 패킷을 보내는 멀티캐스트를 테스트했습니다.
$ 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
아래에 추가하세요.
변경 사항을 적용한 후 네트워크를 다시 시작해 볼 수도 있고, 간단히 다시 시작하면 문제가 해결될 수도 있습니다.