Der Eintrag wird entfernt, haben Sie etwas Geduld.
(Wenn Sie eine möglichst kurze Antwort wünschen:unvollständig ==gelöscht)
Nehmen wir an, "Löschen" ist das falsche Wort für die Aktion. Was hier wirklich passiert ist, dass der Eintrag manuell auf den Zustand "Anfrage gesendet, keine Antwort" gesetzt wird (daher "unvollständiger" ARP-Prozess) als wäre die Maschine wirklich unerreichbar.
Nun wird der Eintrag bald vollständig entfernt, es sei denn, er bekommt zwischenzeitlich eine neue gültige ARP-Antwort. In diesem Fall würde der Eintrag trotzdem neu hinzugefügt, auch wenn er entfernt wurde, anstatt als unvollständig markiert zu werden. Es gibt also kein wirkliches Für oder Wider für dieses Verhalten.
Aber denken Sie daran, dass wir von einem Cache sprechen. Das Löschen von Dingen aus Caches ist schwierig und teuer. Es ist viel effizienter, einen Eintrag ungültig zu machen und zu warten, bis er ersetzt wird, bevor er endgültig entfernt wird. Aber für das System ist es völlig egal, ob der Eintrag aus der Liste verschwunden oder nur als unvollständig markiert ist.
Nur um alle anderen Antworten zu ergänzen, fand ich diesen Link sehr nützlich.
In manchen Fällen mit ip
ist besser geeignet, wie der Befehl:
# ip -s -s neigh flush all
Die Ergebnisse können von Ihrem Linux-Kernel abhängen.
Abgesehen von den anderen guten Antworten ist es erwähnenswert, dass es möglich ist, den Arp-Cache vollständig zu löschen, indem man ihn entfernt. Einer der weniger schmerzhaften Wege ist:
ip link set arp off dev eth0 ; ip link set arp on dev eth0
Dies sollte alle Einträge entfernen, egal in welchem Zustand.
Alternative Methoden umfassen das Herunterfahren und Hochfahren der Schnittstelle und ähnliche Methoden, um den Arp-Cache vollständig zu entfernen und neu zu erstellen.