Der DHCP-Server muss zum Starten des ESXi-Installationsprogramms über PXE die Adresse des TFTP-Servers und den Dateinamen des anfänglichen Bootloaders an den ESXi-Host senden.

Beim ersten Start der Zielmaschine sendet sie ein Paket über das Netzwerk, und es werden Informationen angefordert, damit sie selbst starten kann. Der DHCP-Server antwortet. Der DHCP-Server muss feststellen können, ob die Zielmaschine starten darf. Er muss weiterhin den Speicherort der anfänglichen Bootloader-Binärdatei (normalerweise eine Datei auf einem TFTP-Server) ermitteln.

Vorsicht: Richten Sie keinen zweiten DHCP-Server ein, wenn sich bereits einer in Ihrem Netzwerk befindet. Falls mehrere DHCP-Server auf die DHCP-Anforderungen reagieren, können Maschinen falsche oder widersprüchliche IP-Adressen abrufen oder nicht die richtigen Startinformationen erhalten. Sprechen Sie mit einem Netzwerkadministrator, bevor Sie einen DHCP-Server einrichten. Zur Unterstützung bei der Konfiguration von DHCP wenden Sie sich an den Hersteller Ihres DHCP-Servers.

Viele DHCP-Server können Hosts per PXE-Startvorgang starten. Wenn Sie eine Version von DHCP für Microsoft Windows verwenden, lesen Sie die DHCP-Serverdokumentation, um zu erfahren, wie die Argumente next-server und filename an die Zielmaschine übergeben werden.

Beispiel für den Start unter Verwendung von TFTP mit IPv4

In diesem Beispiel wird gezeigt, wie ein ISC-DHCP-Server für den Start von ESXi unter Verwendung eines TFTP-Servers mit der IPv4-Adresse xxx.xxx.xxx.xxx konfiguriert wird.

#
# 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";
   }
}

Wenn eine Maschine einen Startvorgang über PXE versucht, stellt der DHCP-Server eine IP-Adresse und den Speicherort der Binärdatei pxelinux.0 oder mboot.efi auf dem TFTP-Server zur Verfügung.

Beispiel für den Start unter Verwendung von TFTP mit IPv6

In diesem Beispiel wird gezeigt, wie ein ISC-DHCPv6-Server für den Start von ESXi über einen TFTP-Server mit der IPv6-Adresse xxxx:xxxx:xxxx:xxxx::xxxx konfiguriert wird.

#
# 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";

Wenn eine Maschine einen Startvorgang über PXE versucht, stellt der DHCP-Server eine IP-Adresse und den Speicherort der Binärdatei mboot.efi auf dem TFTP-Server zur Verfügung.

Beispiel für den Start unter Verwendung von HTTP mit IPv4

In diesem Beispiel wird gezeigt, wie ein ISC-DHCP-Server für den Start von ESXi unter Verwendung eines Webservers mit der IPv4-Adresse xxx.xxx.xxx.xxx konfiguriert wird. In diesem Beispiel wird gPXELINUX für Legacy-BIOS-Hosts und iPXE für UEFI-Hosts verwendet.

#
# 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";
   }
}

Wenn eine Maschine einen Startvorgang über PXE versucht, stellt der DHCP-Server eine IP-Adresse und den Speicherort der Binärdatei gpxelinux.0 oder snponly.efi auf dem TFTP-Server zur Verfügung. Im UEFI-Fall fordert iPXE dann den DHCP-Server zum Laden der nächsten Datei auf, und dieses Mal gibt der Server mboot.efi als den Dateinamen zurück.

Beispiel für den Start unter Verwendung von HTTP mit IPv6

In diesem Beispiel wird gezeigt, wie ein ISC-DHCPv6-Server für den Start von ESXi über einen TFTP-Server mit der IPv6-Adresse xxxx:xxxx:xxxx:xxxx::xxxx konfiguriert wird.

#
# 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";
}

Wenn eine Maschine einen Startvorgang über PXE versucht, stellt der DHCP-Server eine IP-Adresse und den Speicherort der Binärdatei snponly.efi (iPXE) auf dem TFTP-Server zur Verfügung. iPXE fordert dann den DHCP-Server zum Laden der nächsten Datei auf, und dieses Mal gibt der Server mboot.efi als den Dateinamen zurück.