DHCPACK is a DHCP message type that a server sends to confirm an address lease and deliver final configuration parameters to a client in response to a DHCPREQUEST or DHCPINFORM, as defined in RFC 2131. It represents the final step in the standard four-message DHCP exchange where the lease becomes valid and the device gains working network access. In large networks, DHCPACK delivery is critical for continuous operation; slow or missing acknowledgments due to relay misconfiguration, exhausted pools, firewall rules, or server overload cause clients to remain without addresses or fall back to link-local addressing, resulting in user-visible network outages.
So funktioniert DHCPACK
DHCPACK ist die letzte Nachricht im standardmäßigen vierteiligen DHCP-Austausch für eine neue Lease. Sie wird auch verwendet, wenn ein Client eine Lease verlängert oder lediglich Konfigurationsparameter anfordert.
- Discover: Der Client sendet ein DHCPDISCOVER-Paket, um verfügbare DHCP-Server zu finden.
- Offer: Jeder antwortende Server sendet ein DHCPOFFER mit einer vorgeschlagenen Adresse und Konfigurationsoptionen.
- Anfrage: Der Client wählt ein Angebot aus und sendet ein DHCPREQUEST, in dem er den ausgewählten Server nennt; dadurch wird den anderen Servern mitgeteilt, dass ihre Angebote abgelehnt wurden.
- Bestätigung: Der ausgewählte Server protokolliert die Lease-Zuweisung und sendet ein DHCPACK-Paket, das die Adresse, die Lease-Dauer und die Optionen enthält. Der Client kann daraufhin seine Schnittstelle konfigurieren und die Adresse nutzen.
Bevor ein Client die Adresse verwendet, kann er das Netzwerk beispielsweise mit ARP abfragen, um sicherzustellen, dass kein anderer Host diese Adresse belegt. Ist die Adresse bereits vergeben, sieht RFC 2131 vor, dass der Client ein DHCPDECLINE sendet und von vorne beginnt. Wenn der Server eine Anfrage nicht erfüllen kann, sendet er anstelle eines DHCPACK ein DHCPNAK. Ein DHCPACK dient auch als Antwort auf ein DHCPINFORM; in diesem Fall enthält es Optionen, aber keine Adresse.
Häufige Probleme mit DHCPACK
Clients in einem entfernten Subnetz senden Anfragen, erhalten jedoch niemals ein DHCPACK, da der Relay-Agent eine falsche oder fehlende giaddr hat oder der Rückverkehr blockiert ist. Die Serverprotokolle zeigen eine gesendete Bestätigung an, während die Client-Protokolle wiederholte Anfragen anzeigen.
Nach einem Stromausfall oder einem Wi-Fi-Roam-Storm senden viele Clients gleichzeitig Anfragen, und ein überlasteter Server oder eine langsame Backend-Datenbank verzögert die DHCPACK-Antwort. Bei den Clients läuft die Zeit ab, sie versuchen es erneut und greifen möglicherweise auf link-lokale Adressen zurück.
Ein nicht autorisierter DHCP-Server – häufig ein an einen Switch angeschlossener Router für Privatanwender – sendet ein eigenes DHCPACK mit einem falschen Gateway oder DNS-Server. Die Nutzer erhalten Adressen, die lokal funktionieren, mit denen sie jedoch keine anderen Netzwerke erreichen können.
Ein Client prüft die Adresse nach dem DHCPACK, stellt fest, dass sie bereits belegt ist, und lehnt die Lease ab. Dies wird in der Regel durch ein Gerät mit statischer IP-Adresse innerhalb des dynamischen Bereichs verursacht und zeigt sich in den Serverprotokollen als wiederholte Ablehnungen.
Eine Sicherheitsrichtlinie oder DHCP-Snooping an einem nicht vertrauenswürdigen Port verwirft das DHCPACK des Servers, sodass der Server eine Lease aufzeichnet, von der der Client nie etwas erfährt. Stellen Sie sicher, dass der dem Server zugewandte Port als vertrauenswürdig eingestuft ist und dass die UDP-Ports 67 und 68 zugelassen sind.