Il server DHCP deve inviare l'indirizzo del server TFTP o HTTP e il nome del file del caricatore di avvio iniziale all'host ESXi.

Quando la macchina di destinazione viene avviata per la prima volta, trasmette un pacchetto attraverso la rete richiedendo informazioni per l'avvio stesso. Il server DHCP risponde. Il server DHCP deve essere in grado di determinare se alla macchina di destinazione è consentito l'avvio e la posizione del file binario del caricatore di avvio iniziale. Per l'avvio PXE, la posizione è un file su un server TFTP. Per l'avvio HTTP UEFI, la posizione è un URL.

Attenzione: Non configurare un secondo server DHCP se la rete ne ha già uno. Se più server DHCP rispondono alle richieste DHCP, le macchine possono ottenere indirizzi IP errati o in conflitto oppure non ricevere le informazioni di avvio corrette. Parla con un amministratore di rete prima di configurare un server DHCP. Per assistenza sulla configurazione di DHCP, contattare il fornitore del server DHCP.

Sono disponibili diversi server DHCP che è possibile utilizzare. Gli esempi seguenti sono per un server DHCP ISC. Se si utilizza una versione di DHCP per Microsoft Windows, vedere la documentazione del server DHCP per determinare come passare gli argomenti next-server e filename alla macchina di destinazione.

Esempio di avvio mediante PXE e TFTP con IPv4

Questo esempio mostra come configurare un server DHCP ISC per l'avvio PXE di ESXi utilizzando un server TFTP all'indirizzo 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";
   }
}

Quando una macchina prova a eseguire l'avvio PXE, il server DHCP fornisce un indirizzo IP e la posizione del file binario pxelinux.0 o mboot.efi nel server TFTP.

Esempio di avvio mediante PXE e TFTP con IPv6

Questo esempio mostra come configurare un server ISC DHCPv6 per l'avvio PXE ESXi utilizzando un server TFTP all'indirizzo 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";

Quando una macchina prova a eseguire l'avvio PXE, il server DHCP fornisce un indirizzo IP e la posizione del file binario mboot.efi nel server TFTP.

Esempio di avvio mediante iPXE e HTTP con IPv4

Questo esempio mostra come configurare un server DHCP ISC per l'avvio di ESXi caricando iPXE da un server TFTP all'indirizzo 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 {
      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 {
      if exists user-class and option user-class = "iPXE" {
         # Instruct iPXE to load pxelinux as secondary bootloader
         filename = "pxelinux.0";
      } else {
         # Load the undionly configuration of iPXE as initial bootloader
         filename = "undionly.kpxe";
   }
}

Quando una macchina prova a eseguire l'avvio PXE, il server DHCP fornisce un indirizzo IP e la posizione del file binario undionly.kpxe o snponly.efi nel server TFTP. Nel caso del BIOS legacy, iPXE chiede quindi al server DHCP di caricare il file successivo e il server restituisce pxelinux.0 come nome del file. Nel caso di UEFI, iPXE chiede quindi al server DHCP di caricare il file successivo e questa volta il server restituisce mboot.efi come nome del file. In entrambi i casi, iPXE è residente e il sistema dispone di funzionalità HTTP. Di conseguenza, il sistema può caricare file aggiuntivi da un server HTTP.

Esempio di avvio mediante iPXE e HTTP con IPv6

Questo esempio illustra come configurare un server ISC DHCPv6 per l'avvio di ESXi caricando iPXE da un server TFTP all'indirizzo 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";
}

Quando una macchina prova l'avvio PXE, il server DHCP fornisce un indirizzo IP e la posizione del file binario snponly.efi(iPXE) nel server TFTP. iPXE chiede quindi al server DHCP di caricare il file successivo e questa volta il server restituisce mboot.efi come nome del file. iPXE è residente e il sistema dispone di funzionalità HTTP. Di conseguenza, il sistema può caricare file aggiuntivi da un server HTTP.

Esempio di avvio mediante HTTP UEFI con IPv4

In questo esempio viene illustrato come configurare un server DHCP ISC per l'avvio di ESXi utilizzando il protocollo HTTP UEFI nativo su IPv4 dal server Web www.example.com.

#
# 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 "httpclients" {
   match if substring(option vendor-class-identifier, 0, 10) = "HTTPClient";
   option vendor-class-identifier "HTTPClient";

   if option client-system-arch = 00:10 {
      # x86_64 UEFI HTTP client
      filename = http://www.example.com/esxi/mboot.efi;
   }
}

Esempio di avvio mediante HTTP UEFI con IPv6

Questo esempio mostra come configurare un server ISC DHCPv6 per l'avvio di ESXi utilizzando il protocollo HTTP UEFI nativo su IPv6 dal server Web www.example.com.

#
# 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.user-class code 15 = { integer 16, string };
option dhcp6.vendor-class code 16 = { integer 32, integer 16, string };

if option dhcp6.client-arch-type = 00:10 {
      # x86_64 HTTP clients
      option dhcp6.vendor-class 0 10 "HTTPClient";
      option dhcp6.bootfile-url "http://www.example.com/esxi/mboot.efi";
}