Table of Contents
***Alle Angaben auf dieser Website sind ohne Gewähr. Es wird keine Haftung für das Handeln und Nachahmen der gezeigten Inhalte übernommen. Auf den Inhalt externer Links wird keine Haftung übernommen.***
!!!Beitrag ist an roten stellen noch nicht fertig. Bitte hilf uns den Beitrag zu ergänzen!!!
Stand: 28.07.2024
PXE Network Boot
Im Privaten Umfeld ist das Booten aus dem Netzwerk nicht unbedingt relevant. Sobald aber die Systemlandschaft immer größer wird, kann dies die Einrichtung von Geräten an einigen Stellen erleichtern. Auch aus dem Grund, dass Raspberry Pis auch über Netzwerk booten können macht diesen Anwendungsfall interessant. Deswegen wird in diesem Beitrag die Einrichtung des PXE Boots erklärt.
———-
Folgende UniFi Geräte unterstützen dies:
Dream Machine | Ja (ab Firmware 1.7.0) |
Dream Machine Pro | Ja (ab Firmware 1.7.0) |
Dream Machine Pro SE | ? |
? |
———-
Einrichten
Zum Aktivieren des PXE Boots wird ein funktionierender PXE und TFTP Server benötigt. Dafür kann netboot.xyz oder eine andere Lösung verwendet werden. Wenn dieser Zeitweise oder auch länger nicht mehr läuft ist es auch nicht schlimm, da der DHCP Server immer noch normal funktioniert.
Als erstes muss du in Network (Bild 1 Nr1) auf Einstellungen (Bild 1 Nr2) klicken. Dort kannst du unter Netzwerke das Netzwerk(Bild 1 Nr3) auswählen, wo der PXE Boot aktiviert werden soll. Dies kann für jedes Netzwerk getrennt ausgewählt werden. In dem Netzwerk kannst du nun unter DHCP Service Management weitere Optionen anzeigen lassen (Bild 2). (Bild 3) Hier gibt es nun den Punkt Netzwerk-Start, der aktiviert werden muss. Nun kann die IP Adresse des PXE Servers angegeben werden und die Boot Datei, welche hier geladen werden soll. Nach dem Speichern ist der Netzwerk Boot aktiviert. Damit ist die Einrichtung auf der Seite von UniFi fertig.
———-
Probleme
Auswahl des Boot Modus
Da in jedem Netzwerk nur eine Bootdatei gewählt werden kann, muss du dich hier entscheiden ob Legacy Boot oder UEFI Boot unterstützt werden soll. Um beide Varianten zu unterstützen gibt es drei Lösungswege.
- Du legst ein separates Netzwerk für jede Boot Variante an und wählst die passende Bootdatei.
- Du verwendest einen eigenen DHCP Server.
- Da die UDM auf Dnsmasq setzt, können per SSH eigene Regeln übergeben werden. Dadurch kannst du eine eigene Konfiguration erstellt werden, wo erkannt wird, welche Architektur verwendet wird und hiermit die richtige Datei übergeben wird. Nachteil dabei ist, dass nach jedem Update der UDM die Einstellungen gelöscht sind und neu eingegeben werden müssen. Auch gilt das dann über alle Netzwerke diese Einstellungen.
Gucken wir uns das Konfigurieren des Dnsmasq genauer an. Dafür müssen wir den SSH Zugriff auf der UDM aktivieren. Wie das geht, ist hier zu finden. Verbunden per SSH geht es nun mit cd in das Verzeichnis „/run/dnsmasq.conf.d“. Dort legen wir mit dem Editor per vi die neue Datei „pxe.conf“ an.
cd /run/dnsmasq.conf.d vi pxe.conf
In diese Datei schreiben wir die nachfolgenden Zeilen rein, indem wir zuerst „i“ drücken um in den Insert Modus zu gelangen. Anschließend kommt der Code rein und wir beenden den Insert Modus mit „ESC“. Anschließend speichern wir mit „:wq“ die Datei und verlassen den Editor damit auch.
dhcp-match=set:legacy,option:client-arch,0 dhcp-match=set:efi32,option:client-arch,2 dhcp-match=set:efi32,option:client-arch,6 dhcp-match=set:efi64,option:client-arch,7 dhcp-match=set:efi64,option:client-arch,9 dhcp-boot=tag:legacy,netboot.xyz.kpxe,,192.168.40.37 dhcp-boot=tag:efi32,netboot.xyz.efi,,192.168.40.37 dhcp-boot=tag:efi64,netboot.xyz.efi,,192.168.40.37
In den ersten Zeilen wird die Architektur identifiziert (UEFI oder Legacy) und ein Tag gesetzt. In den letzten Zeilen wird dann anhand des Tags die richtige Bootdatei und Serveradresse mitgegeben. Hier muss je nach PXE Server die Datei und natürlich die IP angepasst werden.
Damit die Änderungen auch übernommen werden, muss der Dienst neu gestartet werden. Dies geht am einfachsten, wenn ihr irgendeine DHCP Einstellung ändert und speichert. Hier kannst du die Network Boot Einstellungen ändern auf irgendwelche werte. Diese werden nämlich zuerst geladen und dann durch die vorhin erstelle conf überschrieben. Damit sollte bis das Starten per PXE möglich sein, egal ob das BIOS Legacy oder UEFI ist.
———-
Beitragsverfasser: Christian Szulc
Einzelnachweise:
- 1. Christian Szulc