Das "Preboot eXecution Environment" (PXE) ist eine Umgebung, mit dessen Hilfe Rechner via Netzwerkkarte booten können, ohne Festplatten oder andere Speichermedien zu benutzen.
Um einen Rechner via PXE booten zu können, wird nachfolgendes benötigt:
Eine Netzwerkkarte mit Boot-EPROM und aktuellem Bootagenten.
Ein entsprechend konfigurierter TFTP-Server.
Ein entsprechend konfigurierter DHCP-Server.
Beim Booten via PXE wird Ihnen exakt das gleiche Boot-Menü angezeigt, wie beim herkömmlichen Booten via CD-ROM, Floppydisk oder USB-Stick.
Nachdem der Rechner den Bootvorgang abgeschlossen hat, müssen Sie eine Quelle bereitstellen (CD-ROM, USB oder FTP/HTTP), analog zu den anderen Installationsmethoden.
Falls keine "LAN"-Option im BIOS für die Bootreihenfolge vorhanden sein sollte, können Sie PXE möglicherweise dennoch benutzen. Dies ist der Fall, da bei modernen Netzwerkkarten ein Bootagent, während des Bootprozesses des Rechners, diese Aufgabe übernimmt. Hierfür muss das Boot-EPROM der Netzwerkkarte entsprechend eingestellt sein.
Falls Ihre Netzwerkkarte zu alt sein sollte und Sie Ihre Zeit nicht aufwändiger Fehlersuche verschwenden möchten, seien Sie ermutigt, zunächst die Firmware der alten Netzwerkkarte zu aktualisieren (PXE 2.0/Bootagent v4 oder höher).
Dieser Vorgang ist risikoarm, funktioniert allerdings nur mit Netzwerkkarten welche nicht auf dem Motherboard integriert sind. Bei Motherboards mit intergrierten Netzwerkschnittstellen, kann nur ein BIOS-Update (falls verfügbar) eine Lösung liefern.
Anweisungen für die Aktualisierung von Intel-Netzwerkkarten
Laden Sie boot.exe von der nachfolgenden Seite herunter und entpacken Sie die Datei. http://www.intel.com/support/network/adapter/pro100/bootagent/index.htm
Kopieren Sie die entpackten Dateien des IntelPRO/Bootagenten auf eine Diskette.
Starten die den Rechner von einer Dos-Bootdiskette, legen Sie anschließend die Diskette mit der Intel-Software ein und führen Sie folgenden Befehl aus:
A:\>ibautil -upgrade
Damit die Bootreihenfolge und die Einstellungen der Netzwerkkarten geändert werden können, aktivieren Sie ein zusätzliches Konfigurationsmenü, welches während des Starts des Rechners, aufgerufen werden kann:
A:\>ibautil -setupenable -messageenable
Anweisungen für die Aktualisierung von 3Com-Netzwerkkarten
Laden Sie die aktuelle Version von mbautils von der nachfolgenden Seite herunter: http://support.3com.com/infodeli/tools/nic/mba.htm
Verwenden Sie die Tastenkombination Ctrl+Alt+B zur Konfiguration.
Anweisungen für die Aktualisierung von Realtek-Netzwerkkarten
Laden Sie das DOS-Utility von der nachfolgenden Seite herunter: http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
Nachfolgend eine Kurzanleitung, zur Installation von "tftp-hpa" (die Installation anderer "Trivial File Transfer Protocol Server" ist ebenfalls eine gangbare Möglichkeit).
Übersetzen des Quellcodes und Installation
configure && make installBenutzen Sie alternativ das Paketsystem Ihrer Distribution.
Konfigurieren Sie den TFTP-Server, so dass dieser das Verzeichnes
/var/tftp (oder ein anderes, bevorzugtes Verzeichnis)
verwendet.
Installation unter Gentoo:
Die Konfiguration finden Sie in /etc/conf.d/in.tftpd,
stellen Sie dort den Pfad ein: INTFTPD_PATH="/var/tftp"
Starten des TFTP-Servers
/etc/init.d/in.tftpd start
Platzieren der Dateien, welche per PXE geladen werden
Entpacken Sie das "ipcop-install-pxe"-Paket in dem Verzeichis
/var/tftp
tar -C /var/tftp -xvzf ipcop-install-pxe-(version).i386.tgz
Verlinken oder kopieren Sie die Datei ipcop-pxe.model auf eine Datei, deren Dateiname mit '01-' beginnnt und mit der MAC-Address der Netzwerkkarte (in Kleinschrift) endet.
cd /var/tftp/pxelinux.cfg
ln -sf ipcop-pxe.1.4.11.model 01-00-90-27-92-44-bd
Der DHCP-Server wird zur Verteilung von IP-Adressen benötigt. An dieser Stelle wird auch die Adresse des TFTP-Servers mitgeteilt. Man kann auch einen anderen IPCop als DHCP-Server verwenden.
Die Konfiguration des DHCP-Servers findet man beim IPCop unter Dienste -> DHCP-Server im WebGUI des IPCops:
Aktivieren der Checkbox "BOOTP Clients zulassen:"
Feste IP-Adresse vergeben:
MAC-Adresse der Netzwerkkarte
Die IP-Adresse muss ausserhalb des dynamischen DHCP-Bereiches (Start/Endbereich) liegen, jedoch innerhalb des Netzbereiches.
Eintrag im Feld "next server": IP-Adresse des TFTP-Servers
Eintrag im Feld "filename": "pxelinux.0"
Das Feld "root-path" kann leer bleiben, wenn der TFTP-Server im chroot-Modus läuft.
Der TFTP-HPA-Server läuft im chroot-Modus in einem festgelegten Verzeichnis, wenn die Option -s angegeben wurde. Dies bietet mehr Sicherheit. In diesem Fall muss das Root-Verzeichnis nicht mit eingeschlossen werden.
Für weitere Informationen siehe: http://syslinux.zytor.com/pxe.php#tftp
Nachdem der neue IPCop installiert wurde, sollten vor dem normalen Boot-Vorgang folgende Konfigurationen geändert werden:
Deaktivierung des Boot-Agents auf der Netzwerkkarte
oder Deaktivierung der festen IP-Adresse im DHCP-Server
oder Löschung des Links bzw. des MAC-Files in /var/tftp/pxelinux.cfg
Die 2. und 3. Lösung verursacht beim Starten eine kleine Verzögerung, bis der PXE-Boot fehlschlägt.
Sicherstellen, dass der TFTP-Server läuft:
ps ax | grep [t]ftp
Benutzen Sie tcpdump auf einem anderen PC, welcher sich im gleichen Subnetz befinden muss:
Schreiben einer Log-Datei:
tcpdump -i eth0 -n tcpdump.logSie können diesen Vorgang mittels STRG-C stoppen.
Lesen der Log-Datei:
tcpdump -r tcpdump.log(Zeigt nur die Kopfzeilen des Datenverkehrs.)
tcpdump -Ar tcpdump.log(Zeigt den Datenverkehr im Detail. Dies ist eine gute Lösung zur Auswertung von Fehlermeldungen.)