Weblog

PXE trotz Plastik-DHCP

23.04.2025 2 Min. Lesezeit

Die Installation eines neuen Systems mit Wechselmedien wie USB-Sticks oder CDs ist mühsam, selbst ohne Bootdisketten wie ganz früher. Das Booten über das Netzwerk ist relativ unkompliziert, und ein Rettungssystem wie GRML kann von Vorteil sein.

Neben dem Rettungssystem bzw. der Neuinstallation von Endgeräten gibt es zahlreiche weitere Einsatzfälle, für die erweiterte DHCP Funktionalität nötig ist, beispielsweise Cisco IP-Telefone oder Controller-basierte Wifi Access Points.

In den meisten Heimnetzwerken basiert die Infrastruktur jedoch auf einer FritzBox, die DSL/Kabel, DECT und andere nützliche Funktionen vereint. Diese Boxen können keine Boot-Informationen vom integrierten DHCP-Server bereitstellen, ohne einen Firmware-Mod wie Freetz. Dadurch erlischt nicht nur die Garantie, Security Patches vom Hersteller können nicht mehr so einfach installiert werden. Kurz um, das möchte man sich nicht zwigend an’s Bein binden.

Workaround

dnsmasq kann als DHCP-Proxy konfiguriert werden und zusätzlich DHCP-Informationen anreichern.

Nach der Installation auf einem beliebigen Linux System, gilt es die mitgelieferte Konfiguration zu sichern und mit dem Folgenden zu ersetzen:

dhcp-range=192.168.178.0,proxy
dhcp-boot=pxelinux.0,192.168.178.16,192.168.178.0
pxe-service=x86PC,"Automagic Network boot",pxelinux enable-tftp
tftp-root=/srv/tftproot

In diesem Beispiels ist 192.168.178.0/24 das Plastik-kontrollierte Heimnetz, die IP 192.168.178.16 ist die Box auf der dnsmasq läuft. Die unteren drei Zeilen beziehen sich auf die PXE-Konfiguration bzw. den notwendigen TFTP-Server.

Die IP- sowie die PXE-Konfiguration müssen selbstverständlich den eigenen Gegebenheiten angepasst werden.

Die dritte Zeile ist kein Typo! Auch wenn die Datei pxelinux.0 heißt, so darf hier nur pxelinux angegeben werden - der Client hängt .0 automatisch an und würde andernfalls nach der Datei pxelinux.0.0 fragen.

Wer zusätzlich noch die DNS-Funktionalität abschalten möchte, z.B. weil Port 53/udp bereits belegt ist, ergänzt bitte:

port=0

Um die erwähnten Cisco IP-Telefone betreiben zu können ist die DHCP-Option 150 bzw. 66 notwendig. Diese wird durch

dhcp-option=66,"192.168.178.16"

ergänzt. Wie bereits oben, 192.168.178.16 bezieht sich auf die Kiste auf der dnsmasq läuft und den TFTP-Server bereitstellt.

DHCP-Option 150 = 66?

Die Option 150 unterscheidet sich für die meisten Use-Cases nicht nennenswert von der Option 66, allerdings ist 150 eine Cisco-proprietäre Option.

Option 150 unterstützt eine Liste von TFTP-Servern, bietet also die Möglichkeit einer gewissen Redundanz. Option 66 unterstützt nur eine einzige IP bzw. einen Hostnamen.

Die Telefone der 79xx-Serie (und sicherlich auch alle anderen) arbeiten wunderbar mit der Option 66 - mir sind keine Einschränkungen bekannt.

Und wem Option 66 bekannt vorkommt: 66 wird auch gerne ‘next-server’ genannt und ist in Kombination mit PXE und Option 67, ‘boot-file’, für den PXE-Boot notwendig.


Info
Dieser Artikel wurde fast unverändert bereits 2013 von mir veröffentlicht. Bis heute eines der gefragtesten Themen.
π