Nous avons des salles de formation où Windows XP est normalement installé (via PXE). L’infrastructure DNS/DHCP « normale » est constituée de serveurs Windows. La salle de formation a son propre VLAN (différent des serveurs Windows), il y a donc très probablement un relais DHCP actif sur le routeur Cisco auquel tous les PC de cette salle sont connectés.
Nous voulions convertir certains PC en Linux. L’idée était de mettre notre propre ordinateur portable avec un serveur DHCP dans le VLAN de la salle et de supplanter la réponse DHCP « normale ». L’idée était que cela devrait fonctionner, puisqu’un serveur DHCP directement connecté dans ce VLAN devrait avoir un temps de réponse plus rapide que le serveur DHCP « normal » situé à plusieurs sauts de ce VLAN.
Il s’est avéré que cela n’a pas fonctionné. Nous avons dû libérer manuellement le bail sur le serveur DHCP d’origine pour que cela fonctionne.
Sur l’ordinateur portable, nous avons vu le client demander l’IP et « notre » DHCP envoyait des NACK à la demande d’IP Windows, avant d’offrir notre propre réponse.
Ancienne question :
Pourquoi cela n’a-t-il pas fonctionné comme prévu ? Qu’est-ce qui fait que le PC récupère son ancien bail ?
Mise à jour 08/08/2012 :
Le problème de récupération a été expliqué dans la RFC DHCP. Cela explique maintenant pourquoi le PC récupère son ancien bail.
Maintenant nous libérons l’IP du serveur DHCP Windows avant de réessayer.
Encore une fois - le serveur DHCP Windows gagne.
Je soupçonne qu’il y a un algorithme pour le client DHCP qui détermine la « meilleure » réponse DHCP pour le client. La nouvelle question est :
Comment le client choisit-il la « meilleure » réponse ?