Não é possível desativar o multicast no linux

1

Ambiente: Dois servidores conectados por meio de um roteador, ambos executando o Ubuntu 16.04

Eu uso os seguintes comandos para desativar o multicast:

ifconfig eno1 -multicast

ou

ip link set eno1 multicast off

E verifique o resultado, sem sinalizador de multicast:

$ 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 

Então eu uso iperf para testar multicast, Um servidor envia pacotes:

$ iperf -c 226.94.1.1 -u -i 1

Outro servidor ainda recebe pacotes:

$ 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%)

Parece que o modo multicast não está desativado. Não sei porque.
Obrigado por qualquer ajuda.

    
por fillzero 12.02.2017 / 02:40

1 resposta

1

Tente remover o multicast manualmente da configuração do avahi-daemon:

Edite o /etc/init/avahi-daemon.conf

Substitua a linha start on (filesystem and started dbus) por start on (never and filesystem and started dbus)

Em seguida, substitua a linha stop por stop on stopping dbus

Se a linha stop não existir, basta adicionar stop on stopping dbus abaixo da linha start on

Você pode tentar reiniciar a rede para que as alterações entrem em vigor ou apenas fazer uma reinicialização, o que deve ser uma boa solução.

    
por 13.02.2017 / 12:45