Ubiquiti UDM Pro – PXE Network Boot

Netzwerkboot ist für viele Besitzer einer UDM im privaten Bereich nicht unbedingt das zentrale Feature, aber ich habe aus Beruflichen Gründen damit zu tun und probiere gerne Dinge in meinem eigenen Netzwerk aus. Mit einer FritzBox ist das leider relativ umständlich einen funktionierenden Netzwerkboot über PXE/TFTP zu realisieren. Mit nicht ganz üblicher Netzwerkhardware im Consumer Bereich von Ubiquiti ist das schon einfacher, wenn auch nicht vollumfänglich möglich. Meistens muss man sich entscheiden ob man „Legacy Boot“ (früher üblicher BIOS Boot) oder „UEFI Boot“ benötigt. Möchten man beides realisieren wird das schon schwieriger.

Um der UDM den Netzwerkboot beizubringen muss man eigentlich lediglich einen PXE/TFTP Server aufsetzen und in der „Network“ App auf der UDM in den Einstellungen des jeweiligen Netzwerks die Option „DHCP Network Boot“ konfigurieren.
Unifi Network DHCP Boot Settings

Hier kann man nun entweder das Boot Filename für „Legacy“ oder „UEFI“ konfigurieren, aber es gibt auch DHCP Optionen/Regeln die beim Boot des Clients erkennen ob es sich um ein Legacy oder UEFI Gerät handelt und dann dementsprechend andere Boot Filenames bereitstellt.

Um das auf der UDM zu konfigurieren muss man händisch über SSH auf der UDM Hand anlegen. Nachteil hier ist, das nach jedem Firmware Upgrade der UDM die Settings weg sind und neu angelegt werden müssen.
Hat man sich per SSH mit der UDM verbunden wird unter „/run/dnsmasq.conf.d/“ einfach eine neue .conf-Datei angelegt mit den entsprechenden Einträgen. Da die UDM auf DNSMASQ setzt kann man sich natürlich auch noch weitere Regeln und Optionen aus dem Handbuch für DNSMASQ heraussuchen und hier ergänzen.

vi /run/dnsmasq.conf.d/pxe.conf

Mit der Taste „i“ wird der Einfügen-Modus im Editor „vi“ aktiviert, anschließend kann ich den Nachfolgenden Code aus der Zwischenablage einfügen.

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,root_legacy/pxelinux.0,,192.168.2.10
dhcp-boot=tag:efi32,root_uefi32/syslinux.efi,,192.168.2.10
dhcp-boot=tag:efi64,root_uefi64/syslinux.efi,,192.168.2.10

Die ersten 5 Zeilen identifizieren die Client Architektur (Legacy, EFI 32-Bit oder EFI 64-Bit) und setzen einen TAG. Mit den unteren 3 Zeilen wird anhand des vergebenen TAGs Bootserver und Bootfile mitgeteilt. Mit „ESC“ wird der Einfügen-Modus beendet und mit „:wq“ wird die Datei geschrieben/gespeichert und geschlossen.

Damit die Einstellungen aktiviert werden, muss irgendeine DHCP Einstellungen in der „Network“ App auf der UDM geändert und gespeichert werden, damit die UDM den Dienst neustartet und die neue Konfigurationsdatei übernimmt. Ich ändere dazu einfach die DHCP Network Boot Einstellungen. Was dort steht ist dann irrelevant, weil die eigene Konfiguration als letztes geladen wird und vorhergende Einstellungen überschreibt.

Nun sollte der Netzwerkboot möglich sein, egal ob Legacy oder UEFI.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.