Inhaltsverzeichnis
Die Tools:
arp
arp ist Teil des net-tools Paketes und dient zur Anzeige und Manipulation des ARP-Caches.
arping
arping ist Teil des iputils Paketes und versendet ARP Pakete
- ARP REQUEST
- ARP REPLY
- Gratuitous ARP (grundloses, überflüssiges ARP)
- Suche nach mehrfach vorhandenen IP-Adressen
- Aufforderung an andere Hosts den ARP-Cache mit der gesendeten MAC zu aktualisieren
- Unsolicited ARP (unaufgeforderter ARP)
- De-Registration von ARP-Einträgen, d.h. Aufforderung an andere Hosts ARP-Eintrag aus ihrem Arp-Cache zu löschen
ARP-Cache auslesen
arp -v
oder alternativ mit
ip neigh show
server:~ # arp -a server-29.mg-it.net (192.168.42.29) auf 00:15:17:21:fd:22 [ether] auf eth0 server-11.mg-it.net (192.168.42.11) auf 00:1a:64:ad:d2:2c [ether] auf eth0 server-25.mg-it.net (192.168.42.25) auf d4:be:d9:d3:4d:f1 [ether] auf eth0 server-28.mg-it.net (192.168.42.28) auf 00:15:17:9b:99:c4 [ether] auf eth0 router-01.mg-it.net (192.168.42.1) auf 00:00:0c:ae:16:ed [ether] auf eth0
server:~ # ip neigh show 192.168.42.29 dev eth0 lladdr 00:15:17:21:fd:22 REACHABLE 192.168.42.25 dev eth0 lladdr d4:be:d9:d3:4d:f1 REACHABLE 192.168.42.28 dev eth0 lladdr 00:15:17:9b:99:c4 REACHABLE 192.168.42.1 dev eth0 lladdr 00:00:0c:ae:16:ed STALE
lokalen ARP-Cache manipulieren
Manuelle Zuordnung einer IP Adresse zu einer MAC Adresse.
arp -s 192.168.86.101 00:0C:29:37:53:A9
Löschen eines statischen Eintrages.
arp -d 192.168.86.101
oder
ip neigh flush 192.168.86.101
Kompletten ARP-Cache löschen
ip neigh flush all
ARP-Cache-Einträge einer Netzwerkkarte löschen
ip neigh flush dev eth1
ARP-Cache-Einträge für ein Subnetz löschen
ip neigh flush 192.168.86.0/24
ARP Informationen mit arping an andere Hosts schicken
Senden eines ‘Gratuitous ARP’ (Setzen eines Eintrages an einem Nachbarn, z.B. Switch):
arping -q -c 3 -A -I eth0 192.168.86.11
Senden eines Unsolicited ARP (Ungefragte Antwort):
arping -q -c 3 -U -I eth0 192.168.86.11
arping – Suche nach doppelter IP
arping sendet 10 ARP REQUESTs (-c 10)
IP-Adresse im Netz gefunden:
server:~ # arping -D -c 10 -I eth1 192.168.86.11 ARPING 192.168.86.11 from 0.0.0.0 eth1 Unicast reply from 192.168.86.11 [00:0C:29:04:E2:D3] 1.036ms Sent 1 probes (1 broadcast(s)) Received 1 response(s)
IP-Adresse im Netz nicht gefunden:
server:~ # arping -D -c 10 -I eth1 192.168.86.12 ARPING 192.168.86.12 from 0.0.0.0 eth1 Sent 10 probes (10 broadcast(s)) Received 0 response(s)
Problem: „Neighbour table overflow“ – ARP-Cache voll
Größe des ARP-Cache zu klein bzw. ARP-Cache ist voll
Jan 21 00:05:36 server kernel: Neighbour table overflow.
Abhilfe:
z.B. durch verdoppeln der Standardwerte für
gc_thresh1, gc_thresh2, gc_thresh3
gc_thresh1 (Default: 128) minimale Größe des ARP-Cache, d.h. Anzahl die beim Cache bereinigen auf jeden Fall erhalten bleibt gc_thresh2 (Default: 512) Soft-Maximum-Größe der maximal fünf Sekunden überschritten darf bevor derARP-Cache bereinigt wird gc_thresh3 (Default: 1024) maximale Größe des ARP-Cache. Ab diesem Wert wird eine permanente Bereinigung des ARP-Cach durchgeführt. Die Meldung Neighbour table overflow. wird geloggt.
GC = „Garbage Collector“
einmalig, d.h. geht bei reboot verloren
server:~ # echo 256 > /proc/sys/net/ipv4/neigh/default/gc_thresh1 server: ~# echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh2 server: ~# echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
oder dauerhaft in /etc/sysctl.conf
net.ipv4.neigh.default.gc_thresh1 = 256 net.ipv4.neigh.default.gc_thresh2 = 1024 net.ipv4.neigh.default.gc_thresh3 = 2048
interessanter Artikel zum Thema: