netbootxyz

Änderungsstand: 2021-09-29

Netzwerkboot mit netbootxyz

Netbootxyz gibt es als Dockeranwendung direkt in Unraid. Und dieses verwende ich auch. Den dazu benötigten DHCP-Server installiere ich ebenfalls als Docker in Unraid (Nachtrag beachten). Das TFTP-hpa muss nicht zusätzlich installiert werden, da die Dockeranwendung netbootxyz im eigentlichen Sinne ein TFTP-Server ist, auf dem die neuesten Kernel-Builds von netboot.xyz gehostet werden.

Nachtrag: Wird eine USG als Router verwendet, benötigt man keinen zusätzlichen DHCP-Server. Dort kann man unter Network – LAN – Advanced „DHCP Network Boot“ aktivieren. Dann unter Server die Server-IP von netbootxyz eintragen und unter Files netboot.xyz.kpxe . Mehr wird nicht benötigt und man kann direkt zur netbootxyz-Installation springen.

Installation des DHCP-Server

Ich benötigte für meine Zwecke Portumstellungen. Bitte beachten.

  • „Apps“
  • Im Suchfeld dhcp eingeben
  • glass-isc-dhcp (djaydev) auf Download-Symbol klicken
  • Gewünschte Einstellungen tätigen
    • DHCP Config: /mnt/user/appdata/glass-isc-dhcp/
    • Persistent DHCP Leases: /mnt/user/appdata/glass-isc-dhcp/leases
    • Host Key 1: PASSWORT
    • Host Key 2: 3002
    • Host Key 3: 8089
  • „Apply“

Wenn fertig heruntergeladen,

  • „Done“ klicken
  • „Docker“
  • Autostart „ON“

Noch NICHT starten! Das Browsermenu würde einfrieren, wenn folgende Datei nicht angelegt ist.

Im Unraid-Terminal oder in der Konsole folgendes abarbeiten (root-Login):

nano /mnt/user/appdata/glass-isc-dhcp/dhcpd.conf

Folgendes einfügen:

authoritative;

default-lease-time 7200;
max-lease-time 7200;

subnet 192.168.252.0 netmask 255.255.255.0 {
    option routers 192.168.252.1;               # Router
    option subnet-mask 255.255.255.0;
    range 192.168.252.201 192.168.252.254;      # zu verwendeter IP-Bereich
    option broadcast-address 192.168.252.255;
    option domain-name-servers 192.168.252.1;   # Router
    next-server 192.168.252.49;                 # UNRAID-Server-IP
    filename "netboot.xyz.kpxe";                # abrufbarer pxe (netbootxyz)
}

STRG-x, y, Enter

Zur Erklärung: Meine Unraid-IP-Adresse ist in diesem Beispiel die 192.168.252.49. Mein Router hat die 192.168.252.1. Der Bereich der zu vergebenen IP-Adressen lege ich auf 192.168.252.201 – 192.168.252.254 fest. Da mein Router automatisch von 10 – 200 vergibt, bekomme ich somit keine Probleme.

Wurde die Datei angelegt, kann man das Benutzermenu im Browser öffnen.

Unraid-Server-IP:3002

Login: Benutzername: glassadmin | Passwort: Das vergebene Passwort im Docker

Im Menu angekommen, benötigt man allerdings keine weitere Einstellungen, es sei denn, man möchte das Login-Passwort und/oder den Benutzernamen zum Login ändern. Alles andere wurde schon konfiguriert und ist bereit.

Änderungen in der DHCP-Config im Browsermenu werden nach „Save Config“ automatisch übernommen und benötigen normalerweise kein Neustart des DHCP-Servers. Aber glaubt mir, das „normalerweise“ sehr subjektiv ist. Ich starte nach getätigter Änderung den DHCP-Docker neu.

Der glass-ics-dhcp-server ist aktiviert.

Jetzt installiere ich netbootxyz als Dockeranwendung in UNRAID:

Das muss vorher erledigt sein!

Ich benötigte für meine Zwecke keine Portumstellung, da die Ports 69, 3000 und 8080 in meinem Unraid noch frei waren. Wer da Probleme hat, sollte die anpassen.

  • „Apps“
  • Im Suchfeld netboot eingeben
  • netbootxyz (linuxserver) auf Download-Symbol klicken
  • Gewünschte Einstellungen tätigen
    • /assets: /mnt/user/appdata/netbootxyz/assets
  • „Apply“

Wenn fertig heruntergeladen,

  • „Done“ klicken
  • „Docker“
  • Autostart „ON“

Im Browser

Unraid-Server-IP:3000

Als Erstes ein Menuupgrade. Update klicken.

Mehr muss man in der Standardbenutzung nicht machen und das Browserfenster kann geschlossen werden. Einen Fremdrechner mit PXE-Einstellung im Bios starten und das netbootxyz-Menu erscheint. Alle vorhandenen Programme werden aus dem Netz geladen. Hat man eine gute Internetverbindung, ist man hier schon fertig.

Da bei mir allerdings die Daten mit der Schubkarre gebracht werden, würde ich mir meine gewünschten Programme auf die Platte ablegen. Und das realisiere ich jetzt.

Um nun ein Image herunterzuladen, damit man es „offline“ verwenden kann, sind folgende Schritte nötig:

  • in der Menuleiste auf „Local Assets“
    • gewünschtes Repository wählen (ich verwende zum Test Clonezilla)
    • initrd und vmlinuz selektieren
    • „Pull Selected“ klicken (das Image wird heruntergeladen und in dem, bei der Dockererstellung, angegebenen „assets“-Ordner abgelegt)

Nun „Menus“ anklicken und Clonezilla.ipxe wählen. Dort füge ich nach der Zeile !ipxe folgenden Eintrag hinzu, wobei die IP-Adresse die Adresse meines Servers bzw. des Dockers ist (die 8083 ist in diesem Beispiel der weitergeleitete Docker-Port (original, wenn keine Weiterleitung verwendet wird, ist das die 8080).

set live_endpoint http://192.168.1.199:8083

Save Config und aus clonezilla.ipxe wird clonezilla.ipxe – custom.

Das war’s. Clonezilla wird nun direkt vom Server gestartet. Alle anderen Einträge, die im Menu vorhanden sind, werden weiterhin aus dem Internet gezogen.

Jetzt können weitere Repos, wie eben beschrieben, heruntergeladen und die dazugehörige *.ipxe angepasst werden. Alle angepassten Sachen werden nun vom Server installiert. Erkennen kann man das am abgerufenen Server, unmittelbar vor der Installation des jeweiligen Repos.

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten