DHCPNAK (DHCP negative acknowledgment) is a standard DHCP message type defined in RFC 2131 that a server sends to reject a client's DHCPREQUEST when the requested address is invalid, already allocated, or no longer valid for the client's current network. When a client receives a DHCPNAK, it must stop using the rejected address and restart the DHCP discovery process to obtain a valid configuration. Monitoring DHCPNAK rates is operationally important because elevated rejections can signal roaming clients, synchronized lease database issues, misconfigured relay agents, overlapping DHCP scopes, or security threats such as rogue servers, enabling network teams to identify and resolve connectivity problems before users experience outages.
So funktioniert DHCPNAK
Ein Server sendet ein DHCPNAK, wenn er eine DHCPREQUEST nicht erfüllen kann. Die Nachricht teilt dem Client mit, dass die angeforderte Adresse oder die angeforderten Parameter in seinem aktuellen Netzwerk nicht verwendbar sind.
- Der Client sendet eine Anfrage: Der Client sendet ein DHCPREQUEST, entweder um ein Angebot anzunehmen, um eine Adresse zu bestätigen, die er nach einem Neustart gespeichert hat, oder um eine bestehende Lease zu verlängern oder neu zu binden.
- Der Server prüft die Anfrage: Der Server vergleicht die angeforderte Adresse mit seinen Konfigurations- und Lease-Einträgen. Die Anfrage schlägt fehl, wenn die Adresse für das Subnetz des Clients ungültig ist, bereits einem anderen Client zugewiesen wurde oder aus anderen Gründen nicht verfügbar ist.
- Server sendet DHCPNAK: Anstelle eines DHCPACK sendet der Server ein DHCPNAK zurück. Ist ein Relay-Agent beteiligt, wird die Nachricht über den Relay-Agenten an den Client zurückgesendet.
- Neustart des Clients: Nach Erhalt des DHCPNAK stellt der Client die Nutzung der Adresse ein und kehrt in den Ausgangszustand zurück, in dem er ein neues DHCPDISCOVER sendet, um eine gültige Konfiguration zu erhalten.
Ein DHCPNAK kann eine Nachrichtenoption enthalten, die die Ablehnung begründet, enthält jedoch keine Adresse und keine Lease. Clients sollten dies als endgültige Antwort auf diese Anfrage betrachten und die abgelehnte Adresse nicht weiter verwenden.
Häufige Probleme mit DHCPNAK
Ein Client erhält wiederholt ein DHCPNAK und startet die Erkennung neu, ohne eine Lease zu erhalten. Dies tritt häufig auf, wenn der Server und das Subnetz des Clients nicht übereinstimmen, z. B. aufgrund eines fehlenden oder falschen Bereichs auf dem Relay-Pfad.
Ein nicht autorisierter DHCP-Server im Segment kann die Anfrage eines legitimen Clients mit einem DHCPNAK beantworten. Clients können dann gültige Leases nicht verlängern, und die Ursache ist schwer zu finden, bis Paketaufzeichnungen die unerwartete Server-ID anzeigen.
Nach einem Server-Neuaufbau oder einem Failover ohne synchronisierte Lease-Daten erkennt der Server möglicherweise Adressen nicht, die Clients noch halten. Clients, die diese Leases erneuern, erhalten NAKs in Schüben, was sich als sprunghafter Anstieg der Ablehnungen zeigt.
Wenn der Relay-Agent die falsche Gateway-Adresse festlegt, wählt der Server einen Bereich aus, der nicht mit dem tatsächlichen Subnetz des Clients übereinstimmt. Er lehnt dann Anfragen für die vom Client verwendete Adresse ab, und Clients in diesem VLAN verlieren die Verbindung.
Zwei nicht aufeinander abgestimmte Server können dieselbe Adresse vergeben, oder einer kann eine Anfrage für eine vom anderen zugewiesene Lease ablehnen. Bei den Clients treten dann zeitweise NAKs und Adresskonflikte auf.