Linux Server · 3 min read · Sep 14, 2025
Einrichten eines PXE-Installationsservers für mehrere Linux-Distributionen mit Ubuntu Edgy Eft
Einrichten eines PXE-Installationsservers für mehrere Linux-Distributionen mit Ubuntu Edgy Eft
Version 1.0
Autor: Falko Timme
Dieses Tutorial zeigt, wie man einen PXE (kurz für p reboot e x ecution e nvironment) Installationsserver mit Ubuntu 6.10 (Edgy Eft) einrichtet. Ein PXE-Installationsserver ermöglicht es Ihren Client-Computern, eine Linux-Distribution über das Netzwerk zu booten und zu installieren, ohne dass Linux-ISO-Images auf eine CD/DVD gebrannt werden müssen, Boot-Disketten-Images usw. Dies ist praktisch, wenn Ihre Client-Computer keine CD- oder Diskettenlaufwerke haben oder wenn Sie mehrere Computer gleichzeitig einrichten möchten (z. B. in einem großen Unternehmen) oder einfach, weil Sie das Geld für die CDs/DVDs sparen möchten. In diesem Artikel zeige ich, wie man einen PXE-Server konfiguriert, der es Ihnen ermöglicht, mehrere Distributionen zu booten: Ubuntu Edgy/Dapper, Debian Etch/Sarge, Fedora Core 6, CentOS 4.4, OpenSuSE 10.2 und Mandriva 2007.
Ich möchte zuerst sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
Es ist wichtig, dass Sie eine anständige Internetverbindung haben, da Ihre Client-Computer alle benötigten Pakete aus den Repositories im Internet abrufen (ich habe dies mit einer 16MBit ADSL2+-Verbindung getestet, die schnell genug zu sein scheint. ;-)). Es ist möglich, alle Pakete auf dem PXE-Server zu speichern, sodass Sie keine Internetverbindung benötigen (nur die LAN-Verbindung zum PXE-Server), aber dann benötigen Sie viel Speicherplatz auf dem PXE-Server (denken Sie daran, dass er mehrere Distributionen bedienen wird), daher behandle ich dies hier nicht.
Und das Wichtigste ist, dass Ihre Client-Computer das Booten über das Netzwerk unterstützen. Sie sollten das BIOS jedes Computers auf diese Option überprüfen.
Auf unserem System, das als PXE-Server dienen soll, sollten Sie bereits ein grundlegendes Ubuntu 6.10-Server-System eingerichtet haben, zum Beispiel wie auf den Seiten 1 - 3 dieses Tutorials gezeigt: https://www.howtoforge.com/perfect_setup_ubuntu_6.10
Ich bevorzuge es, alle Schritte hier als Root-Benutzer durchzuführen. Wenn Sie also noch kein Root-Login erstellt haben, sollten Sie dies jetzt tun:
sudo passwd root
Danach melden Sie sich als Root an:
su
Wenn Sie lieber als normaler Benutzer anstelle von Root arbeiten möchten, denken Sie daran, sudo vor alle in diesem Tutorial gezeigten Befehle zu setzen. Wenn ich also ausführe
apt-get update
sollten Sie stattdessen ausführen
sudo apt-get update
usw.
2 Installieren Sie alle notwendigen Pakete
Zuerst aktualisieren wir unsere Paketdatenbank, indem wir ausführen
apt-get update
Wir müssen die Pakete netkit-inetd, tftpd-hpa, dhcp3-server und lftp installieren, also führen wir aus
apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp
Danach führen Sie aus
netstat -uap
und überprüfen, ob Sie etwas wie dies sehen:
root@server1:~# netstat -uap
Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Zustand PID/Programmname
udp 0 0 *:tftp
Wenn Sie die tftp-Zeile nicht sehen, öffnen Sie bitte /etc/inetd.conf und stellen Sie sicher, dass Sie Folgendes darin finden:
vi /etc/inetd.conf
| [...] #:BOOT: Tftp-Dienst wird hauptsächlich zum Booten bereitgestellt. Die meisten Standorte # führen dies nur auf Maschinen aus, die als "Boot-Server" fungieren. tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot [...] |
Dann starten Sie inetd neu:
/etc/init.d/inetd restart
3 Konfigurieren Sie den DHCP-Server
Wir benötigen einen DHCP-Server in unserem lokalen Netzwerk. Wenn es keinen DHCP-Server in Ihrem lokalen Netzwerk gibt, konfigurieren und verwenden Sie einfach den auf Ihrem zukünftigen PXE-Server. Bearbeiten Sie einfach /etc/dhcp3/dhcpd.conf:
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf
| option domain-name-servers 145.253.2.75, 193.174.32.18; default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
Dies wird dynamisch IP-Adressen aus dem Bereich 192.168.0.10 bis 192.168.0.49 an Ihre Client-Computer zuweisen; das Gateway ist 192.168.0.1. Natürlich müssen Sie diese Konfiguration an Ihre eigene Umgebung anpassen!
Es ist wichtig, dass Sie die Zeile
filename "pxelinux.0";
in Ihrer Konfiguration haben!
Dann starten Sie Ihren DHCP-Server neu:
/etc/init.d/dhcp3-server restart
Wenn Sie bereits einen DHCP-Server in Ihrem Netzwerk haben, müssen Sie dessen Konfiguration ändern. Angenommen, Sie haben etwas wie
| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
in der Konfiguration. Sie müssen hinzufügen
filename “pxelinux.0”;
next-server 192.168.0.100;
zu ihm (wobei 192.168.0.100 die IP-Adresse unseres Ubuntu PXE-Servers ist), sodass es so aussieht:
| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100; } |
Dann starten Sie Ihren DHCP-Server neu.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.