Ich habe ein Experiment durchgeführt, um zu überprüfen, ob Linux den kostenlosen ARP- oder ARP-Test sendet, bevor die Ziel-IP verwendet wird.
Das Experiment-Szenario ist wie folgt:
Es gibt zwei Linux-Computer, die beide mit demselben AP verbunden sind. Ich habe die erste zuerst angeschlossen und ifconfig wlan0 192.168.1.30
die IP-Adresse statisch festgelegt (dies ist die Standard-IP-Adresse eines anderen Linux-Computers).
Dann benutze ich WPA_supplicant, um den anderen zu verbinden und dhclient wlan0
um die IP-Adresse zu erhalten. Vom Schnüffler aus habe ich keine kostenlose ARP- oder ARP-Sonde beobachtet, die vom zweiten Computer gesendet wurde.
Ich frage mich nur, unter welchen Bedingungen wird der Linux-Computer diese beiden ARP-Anfragen senden? Unter den gleichen Bedingungen beobachte ich, dass mein Windows-Computer den ARP-Test sendet, um die IP abzurufen.
Vielen Dank
Hier ist eine Frage:
Why would Linux send an ARP probe for an IP that is being locally assigned, it knows who the own of that IP will be (itself!) ?
- Sie stellen die IPs so ein, dass Sie wissen sollten, welche IP frei ist. Wenn Sierm -rf /
Linux nicht überprüfen, wird es "nur", weil Sie wissen sollten, ob es in Ordnung ist, diesen Vorgang auszuführen oder nicht. Windows (zum Beispiel) hat die Angewohnheit, Ihre Hand zu halten, um sie idiotensicherer zu machen (meiner Meinung nach).Wenn Sie bei einem MS-DHCP-Server eine Paketerfassung auf einem (den ich habe) Server ausführen, werden Sie feststellen, dass dieser eine Adresse anpingt, bevor er sie an einen Client vermietet, um sicherzustellen, dass sie nicht bereits vergeben ist und nicht wissen darüber Bescheid (entweder aufgrund eines anderen DHCP-Servers oder einer statischen Zuweisung).
Wenn Sie einer Schnittstelle unter Linux eine IP zuweisen, müssen Sie kein kostenloses ARP senden. Wenn ein anderer Host den MAC für IP 1.2.3.4 wissen möchte, kann er eine ARP-Anfrage senden. Es hat keinen Vorteil, ARP unentgeltlich auszuschalten, wenn eine Schnittstelle auftaucht.
Ich weiß, dass ich nur wenige Aussagen ohne harte Beweise gemacht habe, um sie zu stützen, aber gemäß Ihrer Frage haben Sie selbst das gleiche Verhalten gesehen. Das macht für mich nur logisch Sinn.
quelle
Solaris 10 und höher unterstützen DAD (RFC 5227) für IPv4 sowohl für statisch zugewiesene IP-Adressen als auch für dynamisch zugewiesene IP-Adressen.
Der dhcp-Daemon (dhcpd) unter NetBSD und anderen Plattformen (wie Ubuntu) unterstützt RFC 5227.
quelle