PXE

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche

710.png 704.png 610.png 606.png 510.png

Edit l.png Dieser Artikel bedarf einer Aktualisierung. Edit.png

Inhaltsverzeichnis

1 Allgemeines

PXE-Bootvorgang


Bootserver gewinnen immer mehr an Bedeutung, da Thin-Client nach und nach den Büro-Markt dominieren. Sie haben den Vorteil, dass sie kleiner, stromsparender und billiger sind.

Einen Bootserver aufzusetzen ist keine große Arbeit mehr, man benötigt lediglich einen DHCP-Server und einen TFTP-Server.

1.1 Das Prinzip

Das Prinzip ist folgendes:

1.Ein Thin-Client sucht im Netzwerk nach einen DHCP-Server

2.Von diesem bezieht er eine IP-Adresse.

3.Der Client bezieht per TFTP die Bootdateien und später das System.


Kurze Erläuterung, wem TFTP kein Begriff ist. TFTP ist eine art abgemagertes FTP, da sämtliche Erweiterungen wie z.B. Verschlüsselung fehlen.


1.2 Pakete installieren

Zuerst öffnet ihr ein Terminal auf eurem Computer und loggt euch als root ein, damit ihr nicht immer sudo eintippen müsst:

# sudo -s

Nun wird der TFTP- und DHCP-Server installiert:

# apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp


Nach der Installation wird der TFTP-Server so konfiguriert, dass er automatisch beim Start geladen wird:

# nano /etc/default/tftpd-hpa

Die Datei sieht folgendermaßen aus:

#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-l -s /var/lib/tftpboot"


Das no hinter RUN_DEAMON= ersetzen wir durch ein yes und speichern die Datei.


1.3 DHCP-Server konfigurieren

1.3.1 Beispielhafter Aufbau

Die DHCP-Server Konfiguration ist natürlich je nach Netzwerk unterschiedlich, ich schildere das hier an einem Beispiel. Folgender Aufbau:

Im Netzwerk befindet sich ein Router, welcher auf die IP-Adresse 192.168.0.1 hört. Der DHCP-Server vergibt IP-Adressen von 192.168.0.10 bis 192.168.0.49.

1.3.2 Konfiguration

Der DHCP-Server wird über eine Konfigurationsdatei konfiguriert, sie befindet sich in /etc/dhcp3/dhcpd.conf.

Wir editieren die Datei:

# nano /etc/dhcp3/dhcpd.conf

Der Inhalt der Datei wird gelöscht und folgender eingefügt:

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;
}

1.4 TFTP-Server konfigurieren

Herzstück des Bootservers ist der TFTP-Server, welcher die Boot- und nachher die Systemdateien an den Client überträgt.

Wichtig ist, dass der Server in der inetd eingetragen ist, so muss folgende Konfiguratinosdatei überprüft werden:

# nano /etc/inetd.conf

Dort sollte nun folgende Zeile zu finden sein:

tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

Ist diese nicht vorhanden, muss sie nachgetragen werden!


1.5 Abschließende Arbeiten

Nun sind beide Server-Programme installiert und konfiguriert, fehlt nur noch der Neustart dieser:

/etc/init.d/tftpd-hpa restart
/etc/init.d/dhcp3-server restart

Es ist gut möglich, dass TFTP ein [fail] ausgibt, das liegt daran, dass der TFTP-Server nach der Installation nicht automatisch gestartet wird, also nicht weiter daran stören.

1.5.1 Begrüßungsbildschirm des Bootservers verändern

Beim Laden des Bootservers wird automatisch die Datei /var/lib/tftpboot/boot.txt ausgegeben. Diese Datei lässt sich natürlich verändern..

# nano /var/lib/tftpboot/boot.txt

Dort kann man nun seinen persönlichen Begrüßungsbildschirm einfügen.


1.6 Images einfügen

Der Server ist nun schon vollkommen funktionstüchtig, so kann man z.B. schon von einem Client booten und wird mit dem Begrüßungsbildschirm begrüßt, allerdings sind noch keine Images vorhanden, die gebootet werden können. Diese muss man nun einfügen.


1.6.1 Damn Small Linux

Damn Small Linux eignet sich aufgrund seiner Größe hervorragend zum Booten im Netzwerk. Die 50 MB sind selbst bei älteren 10 Mbit-Netzen schnell übertragen.

Zuerst wechselt man in das Boot-Verzeichnis des TFTP-Servers

# cd /var/lib/tftpboot

Um Damn Small Linux über PXE bootfähig zu machen benötigt man ein modifiziertes DSL-Image, dieses findet man durch Rechergen über Google.

# wget http://cdprojekte.mattiasschlenker.de/Public/DSL-frominitrd/1.5-0.0/tftpboot/dsl-1.5-tftpboot.tar.gz

Nun wird das eben heruntergeladene Archiv entpackt

# tar -xvvf dsl-1.5-tftpboot.tar.gz


Fertig. Wenn man nun einen Client über PXE booten lässt, wird man mit dem DSL-Menü begrüßt.


1.6.2 Windows-Images booten

Es ist auch möglich Windows-Images über den Bootserver zu booten. Dazu benötigt man neben einem Kernel ein Image einer Windows-Partition. Dieses erhält man z.B. wenn man Windows auf einer Festplatte installiert, diese Festplatte in einen Linux-Rechner einbaut und mithilfe des dd if-Kommandos ein Image dieser Partition anlegt.


Zuerst wechselt man wieder in den Ordner des Boot-Servers

# cd /var/lib/tftpboot

Nun kann man, um der Übersichtlichkeit entgegen zu kommen, einen Ordner für das Image anlegen

# mkdir win98
# cd win98/

Nun besorgt man sich das aktuelle Syslinux-Archiv von der Projekt-Seite: [1]

Aus diesem Archiv entpackt man die Datei memdisk und fügt sie in den erstellten Ordner ein.

Nun fügt man das angelegte Image der Windows-Partition in den Ordner und editiert die Konfigurationsdatei des TFTP-Servers

# mv [...] /var/lib/tftpboot/win98
# nano /var/lib/tftpboot/pxelinux.cfg/default

Dort fügt man nun folgende Zeilen vor den beiden letzten Zeilen ein:

LABEL Windows 98
     KERNEL win98/memdisk
     APPEND initrd=win98/win98.img

Das funktioniert übrigens genau so mit Disketten, so lassen sich z.B. Startdisketten booten.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge