Inhaltsverzeichnis
PXE-Server
Schematischer Aufbau eines PXE Boot-Servers:
Netzwerk-Boot von einem zentralen Repository
Das booten eines Betriebssystems von einem zentralen Repository im lokalen Netzwerk statt vom lokalen Datenträger bietet viele Vorteile, beispielsweise lassen sich so temporär oder zum testen Betriebssysteme laden die lokal nicht installiert sind, oder es können Betriebssysteme installiert werden (auch als OS-Rollout), auch wenn kein USB-Anschluss oder optisches Laufwerk (CD/DVD) vorhanden, oder wenn der passende Installations-Datenträger auf DVD gerade nicht verfügbar ist und es lassen sich so ganz komfortabel komplette Tools wie die „Ultimate Boot-CD“ laden um beispielsweise Probleme mit einer Windows-Partition zu bereinigen.
Windows-Systeme
In Firmen mit Windows-Clients werden Betriebssysteme, Aktualisierungen (Patches) und Konfigurationen fast immer über ein zentrales Repository der IT-Administration ausgerollt, beispielsweise über Microsofts SCCM (System Center Configuration Manager). Allerdings kann Microsoft´s SCCM seit dem 22.3.2018 nicht mehr mit Linux umgehen, da der dazu normalerweise benötigte Linux-Agent von Microsoft in der aktuellen SCCM-Version (seit SCCM-Version 1902) rausgenommen wurde.
Heterogene Netzwerke
In einem heterogenen Netzwerk, dass nicht nur aus Windows-Systemen besteht, muss daher eine Alternative bzw. eine zweite Boot-Server Instanz zum SCCM geschaffen werden. Es bleibt entweder die Möglichkeit eines „Handovers“ indem der SCCM einen externen PXE-Boot-Server antriggert, oder es wird der DHCP komplett umgangen indem die Netzwerkkonfiguration manuell erfolgt und per IPXE gebootet wird.
Damit zukünftig beide Systeme (Windows/Linux) für Rollouts, oder Live-Systeme unterstützt werden können, muß parallel zum Microsoft DHCP-Server mit SCCM UEFI Boot-Server ein separater PXE-Server aufgesetzt werden der Deployments ausserhalb der Windows-Welt möglich macht. Dieser separate PXE Boot-Server kann auf einem beliebigen Windows-, oder Linux-PC installiert werden. Für Windows gibt es z.B. die fertige Lösung „AOMEI PXE Boot Free 1.5“, die allerdings nur immer ein bestimmtes ISO-Image ausliefern kann. Für Linux bietet sich „DNSmasq“ an, da dieser bereits alle notwendigen Komponenten wie DHCP-Proxy und TFTP-Server integriert hat.
Für den Privatbereich gibt es einige Netzwerkspeicher wie beispielsweise die aktuellen NAS-Modelle von Synology die von Haus ein PXE-Boot unterstützen. Ab der Firmware Synology DSM 4.2 ist es möglich direkt vom NAS zu booten.
Alternative ist Microsoft Azure.
Scenarios
Grundsätzlich gibt es zwei verschiedene Netboot-Scenarios:
- Keine Installation (Live-System) - Man bootet über das Netzwerk um darüber ein Live-System zu starten, das ohne Installation auskommt und daher auch keine Festplatte benötigt. Da das komplette Live-System ins RAM geladen wird ist die Auswahl an Live-Systemen sehr klein, der Rechner sollte mindestens 4 GB RAM haben, besser 8 GB RAM und das OS sollte möglichst klein sein, damit noch Platz für die Arbeitsdateien im RAM bleibt. In diesem Fall läuft alles ausschliesslich im RAM ab, die Festplatte bleibt komplett unberührt.
- Installation übers Netzwerk (Net-Install) - Man bootet über das Netzwerk um darüber ein Betriebssystem zu installieren das auf der lokalen Festplatte eingerichtet wird. In diesem Fall lädt man per Netboot zunächst nur einen Installer, der anschließend die restlichen Daten aus einem zentralen Repository im LAN oder über das Internet holt.
Voraussetzungen
- Aktivieren von PXE-Boot im BIOS (Preboot Execution Environment)
- Funktioniert nur im LAN
- Funktioniert nur mit dynamischer IP via DHCP
- Zusätzlicher DHCP-Proxy
- Zusätzlicher TFTP-Server
- OS-Image als fertiges Netzwerk-Installationsprogramm oder als Live-System ohne Installation
- Im BIOS muß Secure Boot deaktiviert werden, da fast alle bootbaren ISO-Images nicht digital signiert sind
Pre-Install
- Im BIOS prüfen ob sich der Rechner auf Netzwerk-Boot (PXE-Boot) umschalten lässt. Alternativ über das Boot-Menü (je nach Rechner via F8, F10 oder F12) den Netzwerkadapter als Startgerät auswählen. Falls dieser nicht auswählbar ist, im BIOS nachsehen ob er als Startgerät aktivierbar ist.
- Secure Boot muß deaktiviert werden
- Fast immer muß auch UEFI-Boot deaktiviert werden, stattdessen Legacy Boot einschalten
Testumgebung
Da der Test für Netboot nur in einer abgeschotteten, vom restlichen Netzwerk getrennten Test-Umgebung stattfinden kann um den produktiven Betrieb im Netzwerk nicht zu stören, wurden zwei Rechner an einen separaten Netzwerk-Switch gehangen der keinen physikalischen Anschluss an das restliche Netzwerk hat. Der als PXE-Server fungierende Rechner muß dabei eine statische IP-Adresse haben, damit diese feste IP in die LAN-Konfiguration der Clients eingetragen werden kann. Nun kann man in dieser abgeschotteten Umgebung allerdings nicht den tatsächlichen Verlauf eines Netboots simulieren, denn es fehlen DNS, DHCP und Gateway. Somit kann kein Netboot mit Installation getestet werden, sondern nur Netboot mit einem Live-System ohne Installation. Beim starten des Clients bekommt dieser keine IP-Adresse des DHCP-Proxys zugewiesen, denn dieser kommt ausschliesslich vom richtigen DHCP-Server. DNS wird benötigt um die Namensauflösung zu garantieren, sonst kann nur mit statischen IP gearbeitet werden, das ist aber in der Produktivumgebung so nicht der Fall. Bei einem vorhandenen DHCP darf DNSmasq nur als DHCP-Proxy laufen, oder der vorhandene DHCP muß einen IP-Bereich frei lassen der dann von DNSmasq benutzt werden kann. Das Gateway (Internetzugang) wird benötigt um das Installationsimage vom Repository nachzuladen wenn ein Netboot mit anschließender Installation ausgewählt wird. Bei DNSmasq müsste eine Forwarder-DNS angegeben werden, aber ohne Gateway auch kein Nameserver in höherer Instanz.