TFTP-Server für PXE-Boot in Linux bereitstellen

Für das Installieren eines Betriebssystems über das Preboot Execution Environment (PXE) benötigt man einen entsprechenden Server, dessen Einrichtung ich in diesem Beitrag kurz beschreibe.

Ein DHCP-Server ist in meiner Umgebung bereits vorhanden, weshalb ich nur einen TFTP-Server bereitstellen muss. Für diesen Zweck habe ich eine frische Debian-10-VM installiert. Nachfolgend die Schritte zum Bereitstellen einer Debian-Installation über PXE:

Zuerst wird der TFTP-Server installiert, ich habe mich für das Paket tftpd-hpa entschieden:

$ sudo apt install tftpd-hpa

Bei der Installation wird eine Konfigurationsdatei unter /etc/defaut/tftpd-hpa angelegt, welche bei Bedarf angepasst werden kann, in ihren Standardwerten jedoch völlig ausreicht.

Der Dienst ist nach der Installation sofort aktiv:

$ sudo service tftpd-hpa status
● tftpd-hpa.service - LSB: HPA's tftp server
 Loaded: loaded (/etc/init.d/tftpd-hpa; generated)
 Active: active (running) since Thu 2019-10-24 20:30:35 CEST; 1min 3s ago
   Docs: man:systemd-sysv-generator(8)
  Tasks: 1 (limit: 1007)
 Memory: 1.3M
 CGroup: /system.slice/tftpd-hpa.service
  └─414 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /srv/tftp

Okt 24 20:30:35 pxe01 systemd[1]: Starting LSB: HPA's tftp server…
Okt 24 20:30:35 pxe01 tftpd-hpa[406]: Starting HPA's tftpd: in.tftpd.
Okt 24 20:30:35 pxe01 systemd[1]: Started LSB: HPA's tftp server. 

Nun kann das gewünschte Image bereitgestellt werden, in meinem Fall der Netinstaller:

$ cd /tmp

$ wget http://ftp.de.debian.org/debian/dists/buster/main/installer-i386/current/images/netboot/netboot.tar.gz

$ wget http://ftp.de.debian.org/debian/dists/buster/Release

$ sudo tar -xzvf netboot.tar.gz -C /srv/tftp

Nun sollten einige Elemente in dem TFTP-Serverordner zu finden sein:

$ dir /srv/tftp/
debian-installer ldlinux.c32 netboot.tar.gz pxelinux.0 pxelinux.cfg version.info

Die Serverdaten müssen nun im DHCP-Server veröffentlicht werden. Bei mir ist dies ein Windows Server mit DHCP-Rolle, in welchem lediglich die Bereichsoptionen 066 („Hostname des Startservers“) und 067 („Name der Startdatei“) hinzugefügt werden müssen:

Konfiguration des DHCP-Servers
Konfiguration des DHCP-Servers

Als Testclient verwende ich ein ALIX-Board, welches problemlos startet. Für die Installation auf ALIX-Boards ist jedoch eine andere Konfiguration erforderlich, auf diese gehe ich in einem separaten Beitrag ein.

Copyright (C) 1997,1998,1999  Intel Corporation
VIA Rhine III Management Adapter v2.43 (2005/12/15)                             
                                                                                
CLIENT MAC ADDR: 00 0D B9 28 45 CC                                              
CLIENT IP: 10.0.20.44  MASK: 255.255.255.0  DHCP IP: 10.0.20.20                 
GATEWAY IP: 10.0.20.1                                                           
                                                                                
PXELINUX 6.04 PXE 20190226 Copyright (C) 1994-2015 H. Peter Anvin et al         

Weitere Informationen zu dem Thema:

Ein Kommentar

Kommentar hinterlassen

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.