Kategorien
Blogpost ConfigMgr DHCP IP-Helper Netzwerk PowerShell PXE Router SCCM WDS

PXE-Boot: DHCP-Optionen oder IP-Helper

Immer wieder muss ich bei meinen Einsätzen als ConfigMgr-Berater in die Diskussion einsteigen, ob IP-Helper oder DHCP-Optionen besser sind für den PXE-Boot. Aus diesem Grund habe ich beschlossen eine Blogartikel darüber zu schreiben. Ich bin kein Netzwerkguru. Ich hoffe aber das meine Ausführungen in diesem Artikel ein wenig dazu beitragen, dass der Vorteil von PXE-Boot mit IP-Helper klar wird.

Der Prozess hinter den DHCP-Optionen

Der denkbar einfachste DHCP-Prozess läuft wie folgt ab:

  • Der Client verbindet sich mit dem Netzwerk und sendet einen DHCP-Broadcast aus
  • Der DHCP-Server empfängt den Broadcast
  • Der Server antwortet dann mit einer vorgeschlagenen IP-Adresse
  • Der Client bestätigt den Server und verwendet die angegebene Adresse

Wenn der Client allerdings einen PXE-Boot initiiert (indem er traditionell F12 drückt, oder im UEFI die Entertaste), stellt sich der Prozess etwas anders da:

  • Der Client sendet einen DHCP-Broadcast und teilt mit, dass er PXE booten muss
  • Der DHCP-Server empfängt diesen Broadcast und antwortet mit einer vorgeschlagenen IP-Adresse, die verwendet werden soll. Wenn der Server über die Informationen zum PXE-Boot verfügt, werden diese Informationen in seine Antwort aufgenommen.
  • Der Client antwortet dann dem Server und verwendet die angegebene Adresse.
  • Dann kontaktiert der Client den PXE-Boot-Server (traditionell ein WDS- oder ConfigMgr-Server) und fordert die Bootdatei an, die er vom DHCP-Server erhalten hat.
  • Die Datei wird dann geladen und auf dem Client gestartet.

Normalerweise werden in diesem Szenario Option 66 oder Option 67 in den DHCP-Bereichsoptionen festgelegt. Option 66 gibt an, welcher Server zu kontaktieren ist, und Option 67 ist der Name der anzufordernden Datei.

Wie läuft das nun mit IP-Helper

Eine andere Methode zur Bereitstellung der Boot-Informationen für einen Client besteht darin, einen Dienst auf die DHCP-Anfrage warten zu lassen. Configuration Manager bietet hierzu dynamischen PXE-Boot unter Verwendung des Windows Deployment Service (WDS) oder den ConfigMgr eigenen PXE-Service ohne WDS. Dies läuft dann wie folgt ab:

  • Der Client stellt eine Verbindung zum Netzwerk her und sendet einen DHCP-Broadcast aus.
  • Der DHCP-Server empfängt diesen Broadcast und antwortet mit einer vorgeschlagenen IP-Adresse, die verwendet werden soll.
  • Der WDS-Dienst antwortet dem Client ebenfalls mit den Informationen, die er für den PXE-Boot benötigt.
  • Der Client antwortet dem DHCP-Server und verwendet die vorgeschlagene Adresse.
  • Der Client kontaktiert auch den PXE-Boot-Server und fordert die in den gesendeten Boot-Informationen angegebene Boot-Datei an.
  • Die Datei wird dann geladen und auf dem Client gestartet.


Kurz gesagt ist IP-Helper eine Funktion in Ihrem Router, die es ermöglicht, Broadcast-Verkehr kontrolliert zwischen Netzwerken weiterzuleiten. Normalerweise wird eine bestimmte Art von Datenverkehr an ein bestimmtes Ziel weitergeleitet. Im obigen Beispiel könnten wir unsere IP-Helper so konfigurieren, dass sie z.B. vom Subnetz 10.0.50.x des Endbenutzers auf 10.0.10.5 (den DHCP-Server) und 10.0.10.20 (den ConfigMgr-DP) zeigen.

Schlussfolgerung

Es gibt seit langem eine Debatte darüber, welche Methode Sie verwenden sollten, um Ihre Clients zu Ihrem PXE-Boot-Server zu leiten. Microsoft hat seit langem erklärt, dass sie die Verwendung von DHCP-Optionen als Umleitungsmethode nicht empfehlen oder unterstützen und es vorziehen, dass Sie die IP-Helper-Tabelle Ihres Routers mit den erforderlichen Informationen aktualisieren. Die Verwendung der DHCP-Optionen schränkt Ihre Möglichkeiten ein, da Sie nur einen Server und eine Network Boot Program (NBP)-Datei angeben können. Die Möglichkeit, nur eine NBP-Datei anzugeben, kann in Umgebungen, in denen sowohl Legacy- als auch UEFI-Clients verwendet werden, zu Problemen führen. In einer gerouteten Umgebung bevorzuge ich persönlich die Verwendung von IP-Helper-Optionen, die auf Router-Ebene konfiguriert werden, da sie viel mehr Flexibilität bieten und von Microsoft unterstützt werden.

Die obigen Ausführungen beziehen sich nur auf einfache Umgebungslösungen, aber ich hoffe, dass sie Ihnen helfen, die Prozesses zu verstehen und zu erkennen, an welcher Stelle Sie bei der Fehlerbehebung ansetzen müssen.