Tenemos salas de capacitación donde normalmente se instala Windows XP (a través de PXE). La infraestructura DNS / DHCP "normal" son los servidores de Windows. La sala de capacitación tiene su propia VLAN (diferente de los servidores de Windows), por lo que es más probable que haya un auxiliar de IP para las solicitudes de DHCP activas en el enrutador Cisco al que están conectadas todas las PC de esa sala.
Ahora queríamos convertir algunas de las PC a Linux. La idea era: colocar nuestra propia computadora portátil con un servidor DHCP en la VLAN de la sala y anular la respuesta DHCP "normal". La idea era que esto debería funcionar, ya que un servidor DHCP conectado directamente en esa VLAN debería tener un tiempo de respuesta más rápido que el servidor DHCP "normal" ubicado a unos saltos de esa VLAN.
Resultó que esto no funcionó. Tuvimos que liberar manualmente el contrato de arrendamiento en el servidor DHCP original para que funcionara.
En la computadora portátil vimos que el cliente solicitaba la IP y "nuestro" dhcp estaba enviando NACK a la solicitud de IP de Windows, antes de eso ofrecíamos nuestra propia respuesta.
Pregunta anterior: ¿Por qué esto no funcionó como se esperaba? ¿Qué está haciendo que la PC recupere su antiguo contrato de arrendamiento?
Actualización 2012-08-08:
El problema de recuperación se ha explicado en el DHCP-RFC. Ahora esto explica por qué la PC recupera su antiguo contrato de arrendamiento.
Ahora liberamos la IP del servidor Windows-DHCP antes de intentarlo de nuevo.
Nuevamente, el servidor Windows-DHCP gana.
Sospecho que hay algún algoritmo para el cliente dhcp que determina la "mejor" respuesta dhcp para el cliente. La nueva pregunta es:
¿Cómo elige el cliente la "mejor" respuesta?