Site icon bintorosoft.com

PXE Boot Setup: Linux Server automatisiert installieren

PXE (Preboot Execution Environment) ermöglicht die automatisierte Installation von Linux-Servern über das Netzwerk, ohne dass physische Medien wie USB-Sticks oder DVDs erforderlich sind. Durch PXE-Boot können neue Server schnell, konsistent und standardisiert bereitgestellt werden, was besonders in Rechenzentren oder Homelabs von Vorteil ist.

Grundlagen von PXE Boot

PXE-Boot basiert auf einem Netzwerk-Startmechanismus, bei dem ein Client über DHCP eine IP-Adresse erhält und die Location eines Bootloaders vom TFTP-Server abfragt. Anschließend wird das Installations- oder Live-System geladen und gestartet.

Wichtige Komponenten

PXE-Server vorbereiten

Bevor Clients automatisch booten können, muss der PXE-Server korrekt eingerichtet werden. Dies beinhaltet DHCP, TFTP und die Bereitstellung von Installationsmedien.

DHCP-Server konfigurieren

DHCP muss PXE-Clients die Bootinformationen übermitteln. Ein Beispiel für ISC-DHCP auf Linux:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;

next-server 192.168.1.10; # PXE/TFTP Server
filename "pxelinux.0"; # Bootloader
}

TFTP-Server installieren

PXE benötigt einen TFTP-Server, um die Bootloader-Dateien zu liefern:

sudo apt install -y tftpd-hpa       # Debian/Ubuntu
sudo systemctl enable --now tftpd-hpa

Die Dateien pxelinux.0, ldlinux.c32 und die Kernel/Initrd-Dateien werden unter /var/lib/tftpboot abgelegt.

Bootloader und Menü einrichten

PXELINUX oder iPXE wird als Bootloader verwendet. Eine einfache Menüstruktur ermöglicht die Auswahl von Installationsoptionen.

pxelinux.cfg erstellen

Im Verzeichnis /var/lib/tftpboot/pxelinux.cfg eine Default-Datei erstellen:

DEFAULT linux
LABEL linux
  KERNEL vmlinuz
  APPEND initrd=initrd.img auto=true priority=critical url=http://192.168.1.10/preseed.cfg

Hier verweist preseed.cfg auf eine automatisierte Installationsdatei für Debian/Ubuntu.

Automatisierte Installation vorbereiten

Um PXE vollautomatisch zu nutzen, muss ein Preseed- oder Kickstart-File vorbereitet werden, das Antworten auf Installationsfragen liefert.

Debian/Ubuntu Preseed

Beispiel-Konfiguration:

d-i passwd/root-password password yourpassword
d-i passwd/root-password-again password yourpassword
d-i netcfg/get_hostname string server001
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com

RHEL/CentOS Kickstart

#version=RHEL8
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp
rootpw --plaintext yourpassword
firewall --enabled
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone Europe/Berlin
bootloader --location=mbr
zerombr
clearpart --all --initlabel
autopart
%packages
@core
%end

PXE Boot testen

Nach Konfiguration aller Komponenten den Client per Netzwerk booten:

Tipps und Best Practices

Erweiterungen

Für große Umgebungen empfiehlt sich der Einsatz von iPXE für HTTP-Boot, was schnellere Übertragungen und flexiblere Bootoptionen ermöglicht. Zudem kann Ansible oder ein Konfigurationsmanagement-System eingesetzt werden, um die Preseed/Kickstart-Files dynamisch zu generieren und Server nach der Installation zu konfigurieren.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version