Para inicializar em 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 é inicializada pela primeira vez, ela transmite um pacote pela rede solicitando informações para inicializar a si mesma. 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 a inicialização PXE, o local é um arquivo em um servidor TFTP. Para a inicialização HTTP 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 a solicitações DHCP, as máquinas poderão obter endereços IP incorretos ou conflitantes, ou poderão não receber as informações de inicialização adequadas. Fale com um administrador de rede antes de configurar um servidor DHCP. Para obter suporte na configuração do DHCP, entre em contato com o fornecedor do servidor DHCP.

Há 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 Microsoft Windows, consulte a documentação do servidor DHCP para determinar como passar 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 PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário pxelinux.0 ou mboot.efi no servidor TFTP.

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

Este exemplo mostra como configurar um servidor DHCPv6 ISC 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 PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário mboot.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 o 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 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 o próximo arquivo a ser carregado, e o servidor retorna pxelinux.0 como o nome do arquivo. No caso de UEFI, o iPXE solicita ao servidor DHCP o próximo arquivo a ser carregado e, desta vez, o servidor retorna mboot.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 DHCPv6 ISC para inicializar ESXi carregando o 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 PXE, o servidor DHCP fornece um endereço IP e a localização do arquivo binário snponly.efi (iPXE) no servidor TFTP. O iPXE então solicita ao servidor DHCP o próximo arquivo a ser carregado e, desta vez, o servidor retorna mboot.efi como o nome do arquivo. 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 UEFI HTTP com IPv4

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