Synology: PXE-Server einrichten

12. März 2016 Kategorie: Backup & Security, Hardware, Software & Co, geschrieben von: Oliver Pifferi

Artikel_SynologyIm Alltag komme ich meistens ohne optische Datenträger aus und wenn die ein oder andere Kundenmaschine dann doch einmal gesichert oder geprüft werden muss, gibt es ja den bootfähigen USB-Stick, den man immer dabei hat. Oder halt immer genau dann nicht, wenn man ihn mal braucht und gemäß dem Motto „Wer sichert, ist feige“ offline ein Komplettbackup eines Servers anfertigen möchte. So geschehen letztens bei mir – kein Rohling mehr im Hause, bei den anderen im Haushalt befindlichen USB-Sticks grassierte auch die sprichwörtliche Schwindsucht und so entstand die Idee, sich doch einmal näher mit dem immer zur Seite geschobenen Thema „PXE-Boot“ zu beschäftigen und dieses vielleicht mit der heimischen Synology zu kombinieren.

Vorab – die Synology – hier eine DS-215+ – mit einer Beta-Version des DSM (6.0-7135) ist natürlich nur Mittel zum Zweck : Das Ganze geht (reproduzierbar) auch mit einer QNAP oder eben einem Linux-PC, ich beschränke mich im folgenden allerdings auf die Funktionen des Synology-NAS – eben weil es hier im Hause steht. PXE steht für „Preboot Execution Environment“ (PXE), welches als Netzwerkprotokoll das Booten von PCs über das Netzwerk möglich macht. Und genau dieser Technik, die 1999 von Intel in die Spezifikation 2.1 gegossen wurde, ist nicht nur eine Kombination aus TFTP und DHCP, sondern seit Jahren fester Bestandteil unser PCs- bzw. Netzwerkinterfaces.

Anstatt über die lokale Festplatte zu booten, versucht das Gerät via PXE, eine IP-Adresse vom PXE-Server zu bekommen und die Umgebung dahinter – die uns wiederum weitere Möglichkeiten bietet – zu starten. Ob dies nun ein komplettes Betriebssystem oder (wie in unserem Beispiel) diverse ISO-Dateien sind, die gestartet werden, ist egal – für mich ist es an dieser Stelle nur von Belang, meine in ISO-Files verpackten Helferlein von jedem PC im Netz aus starten zu können.

Der erste Schritt ist nun, sich auf das Webinterface der Synology zu begeben, um den TFTP/PXE-Modus zu aktivieren. Dies geschieht über die Systemsteuerung unter „Dateidienste“ – dort findet Ihr dann den Punkt „TFTP / PXE“:

Synology_PXE_TFTP_Einstellungen

Aktiviert also den TFTP-Dienst und gebt den dort geforderten TFTP-Root-Ordner an. An dieser Stelle hatte ich als gemeinsamen Ordner / Share schon einmal die Freigabe „pxe“ erstellt, die dann in Zukunft das Hauptverzeichnis des PXE-Servers darstellen soll:

Synology_PXE_TFTP_Rootordner

Ist das erfolgt, solltet Ihr Euch ein passendes PXE-Bootimage aus dem Internet herunterladen – ich habe sehr gute Erfahrungen mit dem von Paul Maunders gemacht, welches es auf GitHub zum Download gibt. Entpackt das Archiv und legt es in die hier als „pxe“ betitelte Freigabe Eures Synology-Systems ab:

Synology_PXE_TFTP_Inhalt_Rootordner

Unter „images“ befindet sich übrigens ein CentOS-Image, welches Ihr natürlich dort belassen könnt – ich für meinen Teil habe es entfernt, da ich es aktuell nicht brauche. Wer sich aber den Aufbau vom Anfang an noch einmal in Ruhe anschauen möchte, findet hier ein tolles Beispiel out-of-the-box vor. Definiert auf jeden Fall die Datei „pxelinux.0“ als Bootloader:

Synology_PXE_TFTP_Einstellungen_Bootloader

Dann setzt Ihr den Haken bei „DHCP-Dienst auf diesem Server für PXE einrichten“, wählt das Netzwerkinterface aus, auf dem der PXE-Server agieren soll (hier LAN 1) und dann geht es weiter Richtung Konfiguration des DHCP-Bereiches.

Hier können natürlich – je nach Anforderung / Infrastruktur – verschiedene Faktoren eine Rolle spielen. Im vorliegenden Beispiel, was bei mir „Zuhause“ bzw. „Home Office“  heisst, habe ich einen kleinen Adressbereich ausserhalb des von meinem Router verteilten DHCP-Adressbereichs gewählt. Gebt also die Start- und End-IP-Adresse samt Subnetzmaske und DNS-/Gateway ein – in meinem Fall habe ich die Adressen 192.168.16.250 bis .254 als DHCP-Bereich definiert, als Subnetzmaske grosszügig die 255.255.255.0 (typisches Heimnetz eben!) gewählt und als Gateway-/DNS meinen lokalen Router 192.168.16.1 eingetragen. Einmal auf „Übernehmen“ klicken und fertig ist die PXE-Funktionalität auf Eurem NAS.

Wer mag, kann sich die erweiterten Einstellungen des TFTP-Servers noch einmal zu Gemüte führen und unter anderem die Protokollierung aktivieren sowie TFTP-Berechtigungen aktivieren, nur spezielle Clients erlauben oder das Zeitlimit für den TFTP-Server entsprechend ändern. Ich habe hier alles auf Standard belassen, aber das mag sich – je nachdem, in welcher Umgebung Ihr die PXE-Funktionalität nutzen wollt – von User zu User natürlich unterscheiden.

Synology_PXE_TFTP_Einstellungen_Erweitert

Ist das alles erfolgt, sind wir auf Seiten der Synology schon einmal mit der Grundeinrichtung fertig. Wenden wir uns dann einmal der PXE-Konfigurationsdatei „default“ zu, die in der „pxe“-Freigabe im Unterordner „pxelinux.cfg“ residiert. Anbei findet Ihr mein Beispiel, welches eine Acronis-Boot-CD (bitte die jeweiligen Lizenzbedingungen beachten!) sowie eine GParted-Boot-CD im ISO-Format enthält:

Synology_PXE_Konfigurationsdatei

Das Ganze ist an sich relativ selbsterklärend – hier aber einmal kurz die Übersicht der einzelnen Befehle innerhalb der Konfigurationsdatei:

  • „prompt 0“ – Setzen wir den Wert auf 1, erscheint eine Eingabezeile beim Bootvorgang, in der dann das zu bootende Label eingegeben werden kann
  • „timeout 100“ – Nach 10 Sekunden wird standardmässig das im folgenden Parameter ONTIMEOUT angegebene „chainlocal“ (also das Booten von der lokalen Festplatte) durchgeführt – das LABEL hierfür blieb in meiner Umgebung auch unangetastet
  • „MENU TITLE“ – Wer seinem Bootmenü einen sinnvollen Namen geben möchte, darf das an dieser Stelle und mit dieser Option tun 🙂
  • „LABEL“ – Bezeichnung der einzelnen Bootvariante innerhalb der Konfigurationsdatei
  • „menu label“ – Bezeichnung des Menüpunktes innerhalb des Bootmenüs, die der User sichtbar sieht und auswählen kann
  • „KERNEL memdisk“ – Hierüber wird der zu startende Kernel spezifiziert. Dabei ist es möglich, beliebige Kernel zu starten. Dies können auch spezielle binäre Programme wie das bekannte MemTest86 sein. MEMDISK lädt das über initrd angewählte Abbild in eine RAM-Disk mit passender Größe und versucht dann, es zu booten
  • „initrd“ – Hier ist der Pfad – ausgehend vom PXE-Rootverzeichnis – angegeben, in dem die jeweilige ISO-Datei liegt
  • „append iso raw“ – Sagt dem PXE-Bootloader, dass die unter „initrd“ angegebene ISO-Datei geladen werden soll, „raw“ ist optional und historisch bekannt aus Syslinux-Umgebungen < 4.04, die damit auch Images, die via zip oder gzip gepackt wurden, booten konnten

Habt Ihr die Konfigurationsdatei entsprechend angepaßt und Eure Images brav in die entsprechenden Verzeichnisse verschoben, sind eigentlich alle Grundvoraussetzungen erfüllt.

Synology_PXE_TFTP_Inhalt_Images_Ordner

Nun dürft Ihr mit dem Testrechner Eures Vertrauens einmal versuchen, via PXE zu booten. Nach ein wenig Suchen seitens der Netzwerkkarte sollte der TFTP-Server gefunden werden und Euch das zuvor definierte Menu präsentieren:

Diese Diashow benötigt JavaScript.

Übrigens ist nicht jede ISO so einfach startfähig – die von mir benutzten Tools haben einwandfrei funktioniert, ebenso wie eine Windows Server 2008 R2-Installations-DVD oder eine Veeam-Boot-CD. Über die Klinge gesprungen ist in der vorliegenden Konstellation beispielsweise aber die Windows Server 2012 R2-Installations-DVD, wobei da auch vorab einige Daten durch das Netzwerk in das RAM der Maschine flitzen, bis der Datenträger final geladen ist – oder irgendwann das Handtuch wirft. Da sich mein Einsatzzweck des PXE-Servers in den eigenen vier Wänden aber auf Tools und vielleicht einmal die ein oder andere Live-CD/DVD beschränkt, kann ich damit leben – schliesslich kann ich dann frei von Rohlingen (die ich eh nicht mehr nutze/kaufe) und USB-Sticks (die ich anscheinend immer verschludere) mal schnell die ein oder andere Arbeit an Rechnern und Servern durchführen, hauptsächlich halt Backups.

Übrigens sehen die Optionen für TFTP/PXE und DHCP auf dem aktuellen Release Candidate des DSM 6.0 (Build 6.0.7307) ein wenig anders aus (danke für den Hinweis, @Martin) – hier bekommt der DHCP-Server seinen eigenen Menüpunkt in den Systemeinstellungen und mehr Möglichkeiten für einzelne DHCP-Optionen. Das Ganze habe ich aber noch einmal nachvollzogen und am Ende kommt dasselbe dabei heraus, nur sind die einzelnen Einstellungsmöglichkeiten ein wenig verteilt:

Diese Diashow benötigt JavaScript.

Ansonsten ist dies natürlich nur ein kleiner Abriß zum Thema TFTP/PXE – das Ganze ist ein ganz weites Feld und mit dieser Anleitung habe ich mich nur in einen kleinen Teilbereich begeben, der zudem noch auf eine spezielle Hardware abzielt. Dieses Konstrukt ist aber natürlich nicht nur Synology-abhängig und lief auch auf einem älteren QNAP-NAS bzw. einem virtuellen Ubuntu Linux. Schaut Euch den Spaß wie gesagt einmal an, viele hilfreiche Basisinformationen gibt es zu diesem Thema auch auf Syslinux. In diesem Sinne: Viel Spaß!



Werbung: Drohne, GoPro & Oculus Rift: Instaffo.com verlost coole Gadgets Zur Infoseite.

Über den Autor: Oliver Pifferi

Digital Native, der trotzdem gerne das Mittelalter erlebt hätte und chronischer Device-Switcher. Multimediafreak. England-Fan. Freier Autor & Tech Blogger. Hobbyphilosoph. Musik-Enthusiast. Querdenker. Zyniker. Hoffnungsvoller Idealist. Gladbacher Borusse und hauptberuflicher IT-Consultant. Auch zu finden bei Twitter, Google+, Facebook, Instagram und XING. PayPal-Kaffeespende an den Autor.

Oliver hat bereits 399 Artikel geschrieben.