Para inicializar pela rede o instalador do ESXi, o servidor DHCP deve enviar o endereço do servidor TFTP ou HTTP e o nome do arquivo do carregador de inicialização inicial para o host ESXi.

Quando a máquina de destino é iniciada pela primeira vez, ela transmite um pacote através da rede solicitando informações para inicializar a si mesmo. O servidor DHCP responde. O servidor DHCP deve ser capaz de determinar se a máquina de destino tem permissão para inicializar e a localização do binário do carregador de inicialização inicial. Para inicialização em PXE, o local é um arquivo em um servidor TFTP. Para a inicialização HTTP da UEFI, o local é uma URL.

Cuidado: Não configure um segundo servidor DHCP se a sua rede já tiver um. Se vários servidores DHCP responderem às solicitações de DHCP, as máquinas poderão obter endereços IP incorretos ou conflitais, ou poderão não receber as informações de inicialização adequadas. Converse com um administrador de rede antes de configurar um servidor DHCP. Para obter suporte sobre como configurar o DHCP, entre em contato com o fornecedor do servidor DHCP.

Existem muitos servidores DHCP que você pode usar. Os exemplos a seguir são para um servidor DHCP ISC. Se você estiver usando uma versão do DHCP para o Microsoft Windows, consulte a documentação do servidor DHCP para determinar como transmitir os argumentos next-server e filename para a máquina de destino.

Exemplo de inicialização usando PXE e TFTP com IPv4

Este exemplo mostra como configurar um servidor DHCP ISC para inicialização PXE ESXi usando um servidor TFTP no endereço 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 uma máquina tenta inicializar em PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário pxelinux.0 ou iaot.efi no servidor TFTP.

Exemplo de inicialização usando PXE e TFTP com IPv6

Este exemplo mostra como configurar um servidor ISC DHCPv6 para inicialização PXE ESXi usando um servidor TFTP no endereço 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 uma máquina tenta inicializar em PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário tpot.efi no servidor TFTP.

Exemplo de inicialização usando iPXE e HTTP com IPv4

Este exemplo mostra como configurar um servidor DHCP ISC para inicializar ESXi carregando iPXE de um servidor TFTP no endereço 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 uma máquina tenta inicializar em PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário undionly.kpxe ou snponly.efi no servidor TFTP. No caso do BIOS herdado, o iPXE solicita ao servidor DHCP que o próximo arquivo carregue e o servidor retorna pxelinux.0 como o nome do arquivo. No caso da UEFI, o iPXE solicita ao servidor DHCP que o próximo arquivo seja carregado e, desta vez, o servidor retorna workot.efi como o nome do arquivo. Em ambos os casos, o iPXE é residente e o sistema tem capacidade HTTP. Como resultado, o sistema pode carregar arquivos adicionais de um servidor HTTP.

Exemplo de inicialização usando iPXE e HTTP com IPv6

Este exemplo mostra como configurar um servidor ISC DHCPv6 para inicializar ESXi carregando iPXE de um servidor TFTP no endereço 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 uma máquina tenta inicializar em PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário snponly.efi (iPXE) no servidor TFTP. Em seguida, o iPXE solicita ao servidor DHCP que o próximo arquivo seja carregado e, desta vez, o servidor retorna workot.efi como o nome do arquivo. O iPXE é residente e o sistema tem o recurso HTTP. Como resultado, o sistema pode carregar arquivos adicionais de um servidor HTTP.

Exemplo de inicialização usando UEFI HTTP com IPv4

Este exemplo mostra como configurar um servidor DHCP ISC para inicializar ESXi usando UEFI HTTP nativa sobre IPv4 de servidor 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;
   }
}

Exemplo de inicialização usando UEFI HTTP com IPv6

Este exemplo mostra como configurar um servidor ISC DHCPv6 para inicializar ESXi usando UEFI HTTP nativo sobre IPv6 a partir do servidor 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";
}