DHCPNAK (reconocimiento negativo de DHCP) es un tipo de mensaje DHCP estándar definido en el RFC 2131 que un servidor envía para rechazar la solicitud DHCPREQUEST de un cliente cuando la dirección solicitada no es válida, no está disponible o ya no es aplicable a la red actual del cliente. Cuando un cliente recibe un DHCPNAK, debe dejar de utilizar la dirección rechazada y reiniciar el proceso de descubrimiento DHCP para obtener parámetros de configuración válidos. La supervisión de las tasas de DHCPNAK sirve como señal operativa para detectar problemas de red, tales como el roaming de clientes, problemas de sincronización de la base de datos de concesiones, agentes de retransmisión mal configurados o ámbitos DHCP superpuestos, antes de que provoquen una pérdida de conectividad para los usuarios.
Cómo funciona el DHCPNAK
Un servidor envía un DHCPNAK cuando no puede atender una solicitud DHCPREQUEST. El mensaje indica al cliente que la dirección o los parámetros que ha solicitado no son válidos en su red actual.
- El cliente envía una solicitud: el cliente envía un DHCPREQUEST, ya sea para aceptar una oferta, para confirmar una dirección que recuerda tras un reinicio, o para renovar o volver a vincular una concesión existente.
- El servidor comprueba la solicitud: el servidor compara la dirección solicitada con su configuración y sus registros de concesión. La solicitud falla si la dirección no es válida para la subred del cliente, ya está asignada a otro cliente o no está disponible por cualquier otro motivo.
- El servidor envía un DHCPNAK: en lugar de un DHCPACK, el servidor devuelve un DHCPNAK. Cuando interviene un agente de retransmisión, el mensaje se devuelve al cliente a través de la retransmisión.
- Reinicio del cliente: al recibir el DHCPNAK, el cliente deja de utilizar la dirección y vuelve al estado inicial, desde donde envía un nuevo DHCPDISCOVER para obtener una configuración válida.
Un mensaje DHCPNAK puede incluir una opción de mensaje que explique el rechazo, pero no contiene ninguna dirección ni concesión. Los clientes deben considerarlo definitivo para esa solicitud y dejar de utilizar la dirección rechazada.
Problemas habituales con DHCPNAK
Un cliente recibe repetidamente un DHCPNAK y reinicia el proceso de descubrimiento sin obtener una concesión. Esto suele ocurrir cuando el servidor y la subred del cliente no coinciden, por ejemplo, si falta un ámbito o este es incorrecto en la ruta de retransmisión.
Un servidor DHCP no autorizado en el segmento puede responder a la solicitud de un cliente legítimo con un DHCPNAK. En ese caso, los clientes no consiguen renovar las concesiones válidas, y la causa es difícil de detectar hasta que las capturas de paquetes muestran el identificador inesperado del servidor.
Tras una reconstrucción del servidor o una conmutación por error sin datos de concesión sincronizados, es posible que el servidor no reconozca las direcciones que los clientes aún mantienen. Los clientes que renuevan esas concesiones reciben NAK en ráfagas, lo que se manifiesta como un pico en los rechazos.
Si el agente de retransmisión establece una dirección de puerta de enlace incorrecta, el servidor selecciona un ámbito que no coincide con la subred real del cliente. A continuación, rechaza las solicitudes de la dirección que posee el cliente, y los clientes de esa VLAN pierden la conectividad.
Dos servidores que no estén coordinados pueden asignar la misma dirección, o uno puede rechazar una solicitud de concesión que el otro haya emitido. Los clientes observan mensajes NAK intermitentes y conflictos de direcciones.