Como transmitir a atualização do ARP para todos os vizinhos no Linux?

18

Alguns clientes na sub-rede armazenam em cache o IP com o endereço MAC antigo, eu quero que eles atualizem o novo valor fazendo uma transmissão ARP, é possível no Linux?

    
por Howard 29.08.2010 / 11:00

3 respostas

24

Sim, chama-se "ARP não solicitado" ou "ARP gratuito". Verifique a página de manual para arping para mais detalhes, mas a sintaxe é algo como isto:

arping -U 192.168.1.101

Se você estiver falsificando um endereço, talvez seja necessário executá-lo primeiro:

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

Por fim, devido à sua capacidade de falsificação, o envio de pacotes ARP não solicitados às vezes é considerado uma atividade "hostil" e pode ser ignorado, ou pode levar ao bloqueio de alguns firewalls de terceiros.

    
por 29.08.2010 / 11:24
6

O que você está procurando é chamado de " Gratuitous ARP " e pode ser feito usando "arping". Se o seu endereço IP for 10.0.0.1 no eth0, você usaria este comando:

arping -A -I eth0 10.0.0.1

Você pode verificar se o ARP está sendo enviado usando "tcpdump" enquanto o "arping" está em execução, neste caso eu estou assistindo "wlan0":

laptop:~$ sudo tcpdump -lni wlan0 arp    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:14:11.219936 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:12.220119 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220288 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
laptop:~$ 
    
por 02.03.2013 / 20:17
0

Não é necessário. Como em: quando você mudou o IP, o computador deveria ter feito isso automaticamente. Se os clietns forem codificados, uma transmissão não alterará a substituição codificada.

Faço TI há cerca de 20 anos e, em todo esse tempo, NUNCA (!) aconteceu sem equipamentos defeituosos.

    
por 29.08.2010 / 11:08