Frage Wie wird ARP-Update an alle Nachbarn in Linux gesendet?


Einige Clients im Subnetz haben die IP mit der alten MAC-Adresse zwischengespeichert, ich möchte, dass sie den neuen Wert aktualisieren, indem sie eine ARP-Übertragung durchführen, ist das unter Linux möglich?


18
2017-08-29 09:00


Ursprung




Antworten:


Ja, es heißt "Unsolicited ARP" oder "Gratuitous ARP". Überprüf den Manpage für Arping für mehr Details, aber die Syntax sieht in etwa so aus:

arping -U 192.168.1.101

Wenn Sie eine Adresse gefälscht haben, müssen Sie diese möglicherweise zuerst ausführen:

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

Aufgrund seiner Spoofing-Fähigkeit wird das Senden von unaufgeforderten ARP-Paketen manchmal als "feindliche" Aktivität angesehen und kann ignoriert werden oder dazu führen, dass sie von Firewalls von Drittanbietern blockiert werden.


24
2017-08-29 09:24



Unter debian war der Befehl für mich arping -S ip.to.update -i ethX destination.host. Beispiel: arping -S 10.0.0.2 -i eth0 10.0.0.1 - radicand
Ich fand es notwendig, wie in Linux beschrieben, einen Arping zu einem Router durchzuführen, wenn die IP ein Alias ​​auf dem Gerät ist (d. H. Entweder ein sekundärer NIC verwendet den IP oder einen Alias ​​auf einem vorhandenen NIS, der mit a eingerichtet wurde ifconfig ethx:x Art des Alias). Wenn es das Primäre ist, scheint es nie notwendig zu sein.


Was Sie suchen, heißt "Gratuitous ARP"und kann mit" arping "durchgeführt werden. Wenn Ihre IP-Adresse 10.0.0.1 auf eth0 ist, würden Sie diesen Befehl verwenden:

arping -A -I eth0 10.0.0.1

Sie können überprüfen, dass der ARP mit "tcpdump" gesendet wird, während das "arping" läuft, in diesem Fall sehe ich "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:~$ 

6
2018-03-02 19:17





Es ist nicht erforderlich. Wie in: Wenn Sie die IP geändert haben, sollte der Computer dies automatisch getan haben. Wenn die Cliente fest codiert sind, wird eine Übertragung die überschriebene Überschreibung nicht ändern.

Ich mache IT seit ungefähr 20 Jahren, und in dieser ganzen Zeit habe ich das NIE (!) Ohne fehlerhaftes Gerät passiert.


0
2017-08-29 09:08



Das Problem ist, dass ich versehentlich eine neue Maschine mit einer benutzten IP-Adresse versehe, so dass sie die IP in Konflikt bringen. Ich kann mit SSH nicht auf die alte Maschine zugreifen. Jetzt kann ich den falschen (neuen) Rechner aus der Ferne herunterfahren, aber ich kann immer noch nicht auf den alten Rechner zugreifen. Ich vermute, dass der Router die MAC-Adresse in seiner ARP-Tabelle zwischengespeichert hat. - Howard
Dies wird als "unentgeltlicher ARP" bezeichnet - siehe en.wikipedia.org/wiki/... - Kimvais
Sollte funktionieren, nachdem der ARP-Cache abgelaufen ist. Sie können auch versuchen, die arp-Tabelle auf der Maschine zu löschen, von der Sie versuchen, auf die alte Maschine zuzugreifen - Kimvais
@TomTom - vielleicht hast du gerade nicht in der richtigen Umgebung gearbeitet, um es zu sehen. Das Senden unerwünschter ARP-Pakete ist eine gängige Methode, um den Datenverkehr in einer Failover-Situation schnell auf einen neuen Server umzuleiten. Viele High-End-Switches und Router können mehrere haben Protokoll zu erkennen, dass sich eine IP-Adresse sonst auf einen anderen physischen Port verschoben hat. Cisco Switches sind dafür berüchtigt. - tylerl
@ TomTom: Ja, wenn Sie über Heartbeat / Corosync ausfallen, was auch immer. Wenn Sie jedoch manuell Dienste von einem Computer auf einen anderen verschieben, insbesondere wenn Sie Cisco-Geräte verwenden, ist das manuelle Senden eines kostenlosen ARP äußerst hilfreich. Ich stimme zu, dass es nicht häufig vorkommt, aber als jemand, der seit 20 Jahren auch IT macht, befand ich mich in einer Reihe von Situationen, in denen ich es tun musste. - Sean Reifschneider