Pour effectuer un démarrage PXE du programme de d'installation ESXi, le serveur DHCP doit envoyer l'adresse du serveur TFTP et le nom de fichier du chargeur de démarrage initial à l'hôte ESXi.

Lorsque la machine cible démarre pour la première fois, elle transmet un paquet sur le réseau demandant cette information pour pouvoir démarrer. Le serveur DHCP répond. Le serveur DHCP doit pouvoir déterminer si la machine cible est autorisée à démarrer et connaître l'emplacement du fichier binaire de démarrage initial (qui réside généralement sur le serveur TFTP).

Attention : Ne configurez un second serveur DHCP si votre réseau en compte déjà un. Si plusieurs serveurs DHCP répondent aux requêtes DHCP, les machines peuvent obtenir des adresses IP incorrectes ou conflictuelles, ou ne pas recevoir les bonnes informations de démarrage. Adressez-vous à un administrateur réseau avant de configurer un serveur DHCP. Pour obtenir de l'aide à propos de la configuration du serveur DHCP, adressez-vous au fournisseur du serveur DHCP.

De nombreux serveurs DHCP peuvent démarrer les hôtes par PXE. Si vous utilisez une version DHCP pour Microsoft Windows, reportez-vous à la documentation du serveur DHCP pour déterminer comment transmettre les arguments next-server et filename à la machine cible.

Exemple de démarrage en utilisant TFTP avec IPv4

Cet exemple fournit la configuration d'un serveur ISC DHCP pour démarrer ESXi à l'aide d'un serveur TFTP à l'adresse IPv4 xxx.xxx.xxx.xxx.

#
# ISC DHCP server configuration file snippet.  This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
   match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
   next-server xxx.xxx.xxx.xxx;
   if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
      filename = "mboot.efi";
   } else {
      filename = "pxelinux.0";
   }
}

Lorsqu'une machine tente de démarrer en PXE, le serveur DHCP fournit une adresse IP et l'emplacement du fichier binaire pxelinux.0 ou mboot.efisur le serveur TFTP.

Exemple de démarrage en utilisant TFTP avec IPv6

Cet exemple fournit la configuration d'un serveur ISC DHCPv6 pour démarrer ESXi à l'aide d'un serveur TFTP à l'adresse IPv6 xxxx:xxxx:xxxx:xxxx::xxxx.

#
# ISC DHCPv6 server configuration file snippet.  This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option dhcp6.bootfile-url code 59 = string;
option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi";

Lorsqu'une machine tente de démarrer en PXE, le serveur DHCP fournit une adresse IP et l'emplacement du fichier binaire mboot.efi sur le serveur TFTP.

Exemple de démarrage en utilisant HTTP avec IPv4

Cet exemple fournit la configuration d'un serveur ISC DHCP pour démarrer ESXi à l'aide d'un serveur Web à l'adresse IPv4 xxx.xxx.xxx.xxx. L'exemple utilise gPXELINUX pour les anciens hôtes BIOS et iPXE pour les hôtes UEFI.

#
# ISC DHCPv6 server configuration file snippet.  This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
   match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
   next-server xxx.xxx.xxx.xxx;
   if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
      if exists user-class and option user-class = "iPXE" {
         # Instruct iPXE to load mboot.efi as secondary bootloader
         filename = "mboot.efi";
      } else {
         # Load the snponly.efi configuration of iPXE as initial bootloader
         filename = "snponly.efi";
      }
   } else {
      filename "gpxelinux.0";
   }
}

Lorsqu'une machine tente de démarrer en PXE, le serveur DHCP fournit une adresse IP et l'emplacement du fichier binaire gpxelinux.0 ou snponly.efi sur le serveur TFTP. Dans le cas de l'UEFI, iPXE demande au serveur DHCP le fichier suivant à charger. Le serveur retourne cette fois le nom de fichier mboot.efi.

Exemple de démarrage en utilisant HTTP avec IPv6

Cet exemple fournit la configuration d'un serveur ISC DHCPv6 pour démarrer ESXi à l'aide d'un serveur TFTP à l'adresse IPv6 xxxx:xxxx:xxxx:xxxx::xxxx.

#
# ISC DHCPv6 server configuration file snippet.  This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;

option dhcp6.bootfile-url code 59 = string;
if exists user-class and option user-class = "iPXE" {
   # Instruct iPXE to load mboot.efi as secondary bootloader
   option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi";
} else {
   # Load the snponly.efi configuration of iPXE as initial bootloader
   option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/snponly.efi";
}

Lorsqu'une machine tente de démarrer en PXE, le serveur DHCP fournit une adresse IP et l'emplacement du fichier binaire snponly.efi (iPXE) sur le serveur TFTP. iPXE demande au serveur DHCP le fichier suivant à charger. Le serveur retourne cette fois le nom de fichier mboot.efi.