Einrichten eines PXE-Installationsservers für mehrere Linux-Distributionen mit Ubuntu Edgy Eft
Version 1.0
Autor: Falko Timme
Dieses Tutorial zeigt, wie Sie einen PXE-Installationsserver (kurz für Preboot Execution Environment) mit Ubuntu 6.10 (Edgy Eft) einrichten. Ein PXE-Installationsserver ermöglicht es Ihren Clientcomputern, eine Linux-Distribution über das Netzwerk zu booten und zu installieren, ohne Linux-ISO-Images auf eine CD / DVD, Boot-Disketten-Images usw. brennen zu müssen. 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 Sie einen PXE-Server konfigurieren, mit dem Sie mehrere Distributionen booten können: 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 die einzige Möglichkeit ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich gehe. Ich gebe keine Garantie, dass dies für Sie arbeiten!
1 Vorbemerkung
Es ist wichtig, dass Sie über eine gute Internetverbindung verfügen, da Ihre Client-Computer alle benötigten Pakete aus den Repositorys im Internet abrufen (ich habe dies auf einer 16-Mbit-ADSL2 + -Verbindung getestet, die schnell genug zu sein scheint. ;-)). Es ist möglich, alle Pakete auch auf dem PXE-Server zu speichern, so dass 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, es wird mehrere Distributionen bedienen), 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 Basis-Ubuntu 6 eingerichtet haben.10 Serversystem, zum Beispiel wie auf den Seiten 1 – 3 dieses Tutorials gezeigt: http://www.howtoforge.com/perfect_setup_ubuntu_6.10
Ich bevorzuge es, alle Schritte hier als Root-Benutzer auszuführen. Wenn Sie also noch kein Root-Login erstellt haben, sollten Sie dies jetzt tun:
sudo passwd root
Melden Sie sich anschließend als root an:
su
Wenn Sie 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
apt-get update
ausführe, sollten Sie stattdessen
sudo apt-get update
usw. ausführen.
2 Installiere alle notwendigen Pakete
Zuerst aktualisieren wir unsere Paketdatenbank, indem wir
apt-get update
Wir müssen die Pakete netkit-inetd, tftpd-hpa, dhcp3-server und lftp installieren, also laufen wir
apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp
Danach laufen
netstat -uap
und überprüfen Sie, ob Sie so etwas sehen:
root@server1:~ # netstat -uap
Aktive Internetverbindungen (Server und eingerichtet)
Proto Recv-Q Senden-Q Lokale Adresse Ausländischer Adressstatus PID/ Programmname
udp 0 0 *:tftp
Wenn Sie die tftp-Zeile nicht sehen, öffnen Sie bitte /etc/inetd.stellen Sie sicher, dass Sie Folgendes darin finden:
vi /etc/inetd.conf
#:BOOT: Tftp service is provided primarily for booting. Most sites# run this only on machines acting as "boot servers."tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
Starten Sie dann inetd neu:
/etc/init.d/inetd restart
3 Konfigurieren Sie den DHCP-Server
Wir benötigen einen DHCP-Server in unserem lokalen Netzwerk. Wenn sich in Ihrem lokalen Netzwerk kein DHCP-Server befindet, 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;}
Dadurch werden Ihren Clientcomputern dynamisch IP-Adressen aus dem Bereich 192.168.0.10 bis 192.168.0.49 zugewiesen; 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!
Starten Sie dann 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. Nehmen wir an, Sie haben so 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
Dateiname „pxelinux.0“;
next-server 192.168.0.100;
dazu (wobei 192.168.0.100 die IP-Adresse unseres Ubuntu PXE-Servers ist), so dass 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;}
Starten Sie dann Ihren DHCP-Server neu.