"Fonctionnement du DHCP avec un Boot PXE"

publié le 03/04/2022 dans Réseau | tags : [pxe, dhcp, wds]

Fonctionnement normal

Dans un contexte de boot par le réseau PXE, le fonctionnement normal implique juste quelques échanges de packets DHCP. Nous avons donc trois acteurs: Le serveur DHCP, Le serveur PXE, et le client.

Vous connaissez tous la séquence "DORA" (Discover, Offer, Request, Ack) d'un échange DHCP...

Mais, observons ce qu'il se passe quand nous avons un serveur de déploiement PXE:

  1. Le client diffuse (Broadcast) un packet DHCP demandant l'adresse des serveurs DHCP (serveurs qui peuvent distribuer des adresses IP). C'est le "D" de DORA, le DHCP DISCOVER. C'est ce qu'on appelle une découverte, le client cherche les serveurs. Comme il veut booter sur le réseau il va indiquer dans le même packet qu'il recherche des serveurs PXE (option DHCP 60). DHCP Discover avec PXE

  2. Le serveur DHCP répond par un Broadcast (diffusion) pour indiquer au client qu'il est un serveur d'adresses IP. Il lui indique aussi l'adresse IP qu'il compte lui attribuer si l'échange va jusqu'au bout. C'est le "O" de DORA, le DHCP OFFER. DHCP Offer sans PXE

  3. Le serveur PXE répond lui aussi (eh oui...) pour indiquer qu'il est serveur de démarrage PXE. C'est encore un "O" de DORA, un autre DHCP OFFER ! DHCP Offer avec PXE

  4. Le client envoie au serveur DHCP un message demandant une adresse IP. Celle proposée par le serveur DHCP à l'étape 2. C'est le "R" de DORA, le DHCP REQUEST. DHCP Request

  5. Le Serveur DHCP répond par un DHCP ACK pour confirmer qu'il a bien attribuer l'adresse au client. C'est le "A" de DORA. DHCP ACK

  6. Le client va envoyer une requete au serveur PXE pour lui demander le chemin du programme de boot (NBP, Network Boot Program). proxyDHCP Request

  7. Le serveur PXE répond avec le chemin du NBP. proxyDHCP ACK

À ce stade, le démarrage PXE de base est effectué. Et tout fonctionne bien tant que le PC client et le serveur sont sur le même réseau... Eh oui, que se passerai t'il si le PC et le serveurs étaient sur des réseaux différents ?