Résolution des problèmes de démarrage PXE avec l’analyseur de protocole réseau

Documentation

Maintenance et performances

000006544

12/02/2020

Solutions

Ces informations ne détaillent pas les défaillances susceptibles de provoquer l’échec du démarrage PXE. Ce document fournit des informations sur les exigences d’un démarrage PXE réussi et décrit ce qui se produit lorsqu’aucun serveur PXE n’est disponible.

Le processus de démarrage à distance PXE s’appuie sur le protocole DHCP. Pour comprendre le fonctionnement de PXE, vous devez d’abord avoir une connaissance de base de DHCP.


SERVEUR

DHCP s’appuie sur le protocole Bootstrap, communément appelé BootP, qui permet aux systèmes d’obtenir une adresse IP et un démarrage à distance à partir du réseau. Le protocole DHCP ajoute des fonctions, telles que l’adressage IP dynamique et les champs d’option pour transmettre les informations du système.

Le processus DHCP débute avec un client qui demande une adresse à l’aide d’un message de découverte DHCP. Le message DISCOVER est un paquet UDP avec un port source de 68 (défini comme bootpc, pour le client BOOTP) et un port de destination 67 (défini comme bootps, pour le serveur BOOTP). Le message DISCOVER a l’adresse MAC du nœud demandeur en tant qu’adresse MAC source, et une diffusion (tous F) comme adresse MAC de destination. L’adresse IP source est 0.0.0.0 et l’adresse IP de destination est 255.255.255.255 (diffusion). Au minimum, la demande inclut les options suivantes.

  • Option 55 (liste de demande de paramètres)
  • Option 1 (masque de sous-réseau)
  • Option 3 (routeur)
  • Option 6 (serveur de nom de domaine)

Un ou plusieurs serveurs DHCP doivent répondre avec une offre DHCP. Le message d’offre DHCP est un paquet UDP avec l’adresse MAC du client demandant le service comme adresse de destination. Les ports doivent être le contraire de la demande originale (le port source doit être 67, le port de destination doit être 68). L’adresse IP source est l’adresse du serveur qui offre l’offre, et l’adresse IP de destination est une diffusion. Cette offre comprendra une adresse IP proposée et des réponses aux paramètres facultatifs demandés.

Le client répond à l’une des offres avec une demande DHCP. Le message de demande est un paquet UDP similaire au message DISCOVER, qui utilise les mêmes ports et adresses de source et de destination, et demande les mêmes paramètres.

Le serveur répond avec un accusé de réception (ACK) DHCP contenant toutes les informations demandées. Le message ACK est un paquet UDP similaire au message d’offre et comporte les informations facultatives demandées.


Extensions PXE à DHCP

Le processus de démarrage PXE étend le protocole DHCP en ajoutant les informations nécessaires au démarrage à distance d’un ordinateur. Ces informations comprennent le fournisseur du client et la classe permettant au serveur PXE de sélectionner une image spécifique au client.

Le système qui demande un démarrage PXE utilise le message de découverte DHCP pour identifier sa classe de fournisseur et de machine, et pour demander l’emplacement et le nom de fichier d’un fichier d’image. Le client PXE identifie son fournisseur et sa classe d’ordinateur, car il peut y avoir plusieurs images disponibles via les serveurs PXE.

Le message de découverte DHCP du client PXE inclut les demandes de paramètres facultatives suivantes :

  • 60-identificateur de classe de fournisseur
  • 66 – nom du serveur TFTP (demande de nom du serveur TFTP hébergeant l’image de démarrage)
  • 67 – BootFile nom (le nom du fichier image à télécharger)


Examen d’une trace Ethereal * ou Wireshark * d’un démarrage PXE

Un processus de démarrage PXE implique de nombreux échanges.

  1. Le client PXE envoie une découverte DHCP avec les options PXE remplies.
  2. Le serveur DHCP répond avec une offre DHCP avec des paramètres TCP/IP.
  3. Le client PXE répond avec une demande DHCP
  4. Le serveur DHCP répond avec un ACK DHCP.
  5. Si le serveur DHCP est également le serveur PXE, le DHCP ACK possède généralement le nom du serveur TFTP et le nom du fichier de démarrage. Si le serveur PXE est un système différent, il existe un échange de demandes et de réponses distinct entre le serveur PXE et le client PXE à la suite du processus DHCP initial.
    Noter
    • Si l’échange DHCP initial ne comporte pas le nom du serveur TFTP et le nom du fichier de démarrage, examinez la trace jusqu’à ce que vous voyiez un ACK DHCP réussi et que ces deux options soient remplies.
    • Une fois que le client PXE a reçu un accusé de réception avec le nom du serveur TFTP et le nom du fichier de démarrage, le client se connecte au serveur TFTP avec une demande de lecture TFTP qui inclut le nom du fichier de démarrage.
    • Une session TFTP est établie et continue jusqu’à ce que le transfert de fichiers soit terminé.

La figure 1 représente une capture d’écran d’un message de découverte de DHCP provenant d’un client PXE. Notez que l’option 55 (liste de demandes de paramètres) est mise en surbrillance et que les paramètres demandés sont répertoriés.

Les paramètres incluent également une demande de nom de serveur TFTP (option 66) et un nom de fichier de démarrage (option 67). L’option 60 est également demandée pour l’identificateur de classe du fournisseur. Une réponse à la demande est facultative et est utilisée pour informer le client que le serveur PXE se trouve sur un serveur différent de celui du serveur DHCP (un proxy DHCP est utilisé).

DHCP DISCOVER
Figure 1. DÉCOUVERTE DHCP

 

La figure 2 illustre la réponse ACK DHCP à la demande DHCP. Le service DHCP ACK comprend les mêmes options que celles que vous pouvez observer dans l’offre DHCP. Notez que le serveur TFTP et le nom de fichier de démarrage sont inclus dans le paquet lorsqu’une transaction DHCP réussit.

DHCP ACK
Figure 2. ACK DHCP

 

Un échange DHCP réussi est suivi par une session TFTP commençant par une demande de lecture TFTP. La figure 3 montre le début d’une session TFTP.

TFTP Session
Figure 3. Session TFTP.

 

La figure 4 montre un suivi d’un démarrage PXE ayant échoué, car aucun serveur PXE n’est présent. Même si le client PXE a demandé un nom de serveur TFTP (option 66) et un nom de fichier de démarrage (option 67), l’offre DHCP indiquée n’inclut pas l’option 66 ou 67. Dans ce cas, le client PXE effectue des demandes de découvertes DHCP répétées, suivies par DHCP, des réponses qui ne disposent pas des options nécessaires pour effectuer l’opération de démarrage PXE.

DHCP OFFER
Figure 4. OFFRE DHCP
Où aucun serveur PXE n’est disponible