Netboot-PXE-Server als LXC-Container

vorhergehende Artikel in: Linux Links Virtualisierung
18.09.2020

Ich habe meine IT-Infrastruktur modernisiert und nachhaltiger gemacht - keine Boot-CDs und keine USB-Sticks mehr für mich...

Nachdem ich erfahren habe, dass dnsmasq auch als Proxy arbeiten kann, wuchs in mir der Wunsch, einen eigenen PXE-Server aufzusetzen - das letzte Mal hatte ich mich mit Network-Boot beschäftigt, als ich Mittel und Wege suchte, alte Laptops einer Nachnutzung zuzuführen: dnsmasq als Proxy bedeutet, dass ein Rechner per DHCP um eine IP-Adresse nachsucht und ihm diese von einem DHCP-Server zugeteilt wird. Das kann zum Beispiel eine Fritz-Box oder auch ein OpenWrt-Router sein. dnsmasq sieht diese Kommunikation und schickt ein Paket hinterher, das den Client darüber informiert, dass ein Server bereitsteht, von dem er per Netzwerk booten könnte.

Dadurch muss man das bestehende Netzwerk nicht ändern - speziell ist keine Änderung des bestehenden DHCP-Servers notwendig - und kann trotzdem den Rechnern im Netzwerk neue Boot-Optionen eröffnen. Darunter fallen Möglichkeiten, über das Netzwerk neue Betriebssysteme zu installieren, Rettungssysteme wir Clonezilla, GParted oder Desinfec't zu starten oder einfach Live-Distributionen wie zum Beispiel Slax zu nutzen.

Seit der Ankunft von UEFI ist das ein wenig schwieriger geworden, weil ein PXE-Server heutzutage darauf vorbereitet sein muss, beides zu unterstützen. Aber mit Linux ist auch das kein Problem - man kann einen PXE-Server aufsetzen, der beide Systeme unterstützt - das ist genau das, was ich getan habe.

Die Tests wurden mit 6 verschiedenen Systemen durchgeführt:

  • KVM-Container (amd64, BIOS)
  • Physischer Rechner, Mainboard 2020 (amd64, BIOS)
  • Physischer Rechner, Mainboard 2012 (amd64, BIOS)
  • Physischer Rechner, Centrino, non-PAE (i686, BIOS)
  • Physischer Rechner, Schenker-Laptop ca. 2014 (amd64, UEFI)
  • Virtual Box VM (i686, BIOS)

Auf allen Testsystemen funktionierte die Erkennung des PXE-Systems fehlerfrei und die entsprechend passenden Bootoptionen wurden fehlerfrei ausgeführt.

Hier folgen einige Links, die mich bei der Einrichtung des Systems auf die richtige Fährte brachten:

Artikel, die hierher verlinken

Raspi booten übers Netz mit PXE und NFS

17.12.2020

Nach meinen Experimenten mit einem Rock64 war ein Raspi 3B+ für Experimente freigeworden - und in Vorbereitung meiner durch eben diesem Rock64 inspirierten Projektideen für diesen Winter wollte ich einiges ausprobieren - zuerst das Booten über das Netzwerk mit persistentem Speicher im Netz - so dass am Pi gar kein Massenspeicher mehr benötigt würde - weder als SD-Karte noch sonstwie.

Installation von Ubuntu 20.04 auf Raid-0

12.12.2020

Ich habe nach der erfolgreichen Arbeit an meinem PXE-Bootserver weitere Experimente folgen lassen - unter anderem habe ich für Debian als weitere Install-Option hinzugefügt. Weiterhin bietet der Server jetzt für Debian und Ubuntu 20.04 Automatik-Installationen an, die mit minimaler Nutzerinteraktion (Hostname und Passwort) auskommen

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Virtuelles Netzwerklabor

    11.01.2017

    Nachdem ich hin und wieder vor der Herausforderung stehe, Anwendungen unter realen Netzwerkbedingungen zu testen, habe ich bereits vor längerer Zeit begonnen, ein virtuelles Netzwerklabor aufzubauen...

    Weiterlesen...

Neueste Artikel

  • Stratum-1-NTP-Server Links

    Ich habe meinen eigenen Stratum-1-NTP-Server mittels eines GPS-Empfängers, einer Adapterschaltung und einem Raspi gebaut. Hier fasse ich einige nützliche Links zu diesem Themengebiet zusammen

    Weiterlesen...
  • EBCMS threaded und mit mehr Markdown-Unterstützung

    Mein eigener Static Site Generator hat in den letzten Wochen einige größere Umbauten erfahren

    Weiterlesen...
  • Fork der BeanShell wegen Trojan Source

    Es gibt inzwischen einen von mir erstellten Fork des originalen Repository, in dem ich die Komponente zur Darstellung der Konsole gegen die ausgetauscht habe, die in der sQLshell in den Plugins MDIJavaEditor und MDISqlEditor zum Einsatz kommt - dadurch wird wenigstens durch das Syntax-Highlighting auf problematische Stellen im Code hingewiesen.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier.