Linux als SOHO-Server
für Linux- und Windows-Clients |
Kapitel:
|
Eine sehr komfortable Art ein System zu installieren, ist eine Boot über das lokale Netzwerk mittels PXE-Boot. Dabei werden keine Boot-Medien wie CDs oder Disketten benötigt. Gerade wenn mehrere, oder oft neue Rechner installiert werden, ist diese Methode sehr praktikabel. Weiterhin ist die Art der Installation interessant für Rechner, die weder ein CD-ROM noch ein Diskettenlaufwerk besitzen, wie z.B. extrem kleine Notebooks oder Stromspar-Rechner. Im Folgenden wird die Methode des PXE-Boots (PXE = Preboot eXecution Environment) in Kombination mit dem Boot-Loaders: PXELINUX vorgestellt. Die PXE-Technik wurde von der Firma: Intel entwickelt und spezifiziert, sie stellt eine Art intelligentes Boot-ROM dar. Der Boot-Loader: PXELINUX ist Bestandteil des Pakets: SYSLINUX. Für den PXE-Boot ist ein Boot-Server einer der elementarsten Vorraussetzung. Im folgenden wird anhand von zwei Beispiel-Varianten vorgestellt, wie ein solcher Boot-Server realisiert werden kann. Zunächst wird ein möglicher Aufbau eines Boot-Servers unter Linux (Debian) vorgestellt, anschließend eine Variante eines Boot-Servers unter Windows (mit 'Tftpd32'). Beide Varianten verfolgen in den aufgeführten Beispielen das Ziel, ein Linux-System ('Debian 3.0 (Woody)') beim Client-Rechner zu installieren. 'Debian Woody' wurde gewählt, da bei dieser Version die Ablagestruktur der Dateien für den PXE-Boot sehr übersichtlich ist. Selbstverständlich lassen sich mit der gleichen Vorgehensweise analog auch andere Systeme installieren, wie z.B.: 'Debian 3.1 (Sarge)', 'Debian 4.0 (Etch)' oder 'IPCop 1.4.x' (Siehe Anmerkungen). PXE-Boot-ServerPXE setzt auf Standard-Protokolle auf und ermöglicht
aktuellen PCs eine problemloses Booten vom Netz. Die zwei Standard-Dienste auf
die sich PXE stützt sind DHCP und TFTP. Debian PXE-Boot-ServerIn folgenden wird die Realisierung eines Boot-Servers unter Debian GNU/Linux anhand eines Beispiels vorgestellt. Dabei wird zunächst auf die notwendige Installation und Konfiguration des DHCP- und TFTP-Servers eingegangen. Weiterhin wird die notwendige Ablagestruktur der relevanten Dateien für den PXE-Boot (Boot-Loader, Konfiguration, Kernel und Installer) vorgestellt. DHCP-ServerUnter Debian installiert man am einfachsten den DHCP-Server mit: 'apt-get install dhcp3-server'. Danach muss der DHCP-Server anhand der Datei: '/etc/dhcp3/dhcpd.conf' konfiguriert werden. Eine einfache Beispiel-Konfiguration kann so aussehen:
Die gelb markierten Bereiche sollten dem Parametern des Netzwerk angepasst werden. Der grün markierte Wert entspricht der MAC-Adresse des zu bootenden Rechners. Nach der Bearbeitung der Konfigurationsdatei kann der DHCP-Server gestartet werden (/etc/init.d/dhcp3-server start). TFTP-ServerMit: 'apt-get install tftpd-hpa' kann ein TFTP-Server unter Debian installiert werden. Der TFTP-Server solle so installiert werden, dass er vom Super-Dämon: 'inetd' aus gestartet wird (Should the server be started by inetd? Y). Nach der Installation des TFTP-Servers ist gegebenenfalls die inetd.conf-Datei noch anzupassen.
In der Datei: '/etc/inetd.conf' ist die Zeile bezüglich des Starts für den TFTP-Dämon auszukommentieren. In dieser Zeile wird auch angegeben, wo sich die Dateien für die FTP-Übertragung befinden (-s /var/lib/tftpboot). Wurden Änderungen in der inetd.conf gemacht, so ist der Super-Dämon neu zu starten (/etc/init.d/inetd restart). Ablagestruktur auf dem TFTP: Boot-Loader, Konfiguration, Kernel, InstallerAls Boot-Loader wird wie schon erwähnt PXELINUX genutzt, welches Bestandteil des Pakets: SYSLINUX ist. Auf einen Debian-System kann dies mit: 'apt-get-install syslinux' installiert werden. Anschließend wir die Datei: 'pxelinux.0' (das ist der Boot-Loader) aus '/usr/lib/syslinux' in das Ablageverzeichnis des TFTPs kopiert.
Der Boot-Loader: 'pxelinux.cfg' erwartet auf dem TFTP-Server ein Verzeichnis namens: 'pxelinux.cfg'. Im einfachsten Fall wird darin eine Konfigurationsdatei mit dem Namen: 'default' erwartet, in der die Parameter an den Linux-Kernel übergeben werden. Es sollte zunächst das Verzeichnis: 'pxeconfig.cfg' erstellt werden:
Mit einen Editor ist im erzeugten Verzeichnis die Datei: 'default' mit abgebildeten Parametern (für Debian Woody) zu erstellen. Weiterhin wird der Kernel: 'linux.bin' und ein Installer: 'root.bin' benötigt. Beide Dateien können vom Debian-Server am einfachsten mit dem Tool: 'wget' geladen werden.
Alternativ sollten die Dateien 'linux.bin' und 'root.bin' auf den CD-Satz von 'Debian Woody' zu finden sein Nach Bereitstellen der notwendigen vier Dateien für die Installation von 'Debian Woody' sollten in der Ablagestruktur wie folgt aussehen:
Ein erster Test eines PXE-Boots kann nun stattfinden. Windows PXE-Boot-ServerAuch unter Windows kann ein PXE-Boot-Server relativ einfach aufgesetzt werden. Im Prinzip ist es sogar einfacher, schneller oder praktikabler. Die einzelnen Bestandteile sind wie bei einem Linux-System: DHCP-Server, TFTP-Server und die Bereitstellung der notwendigen Dateien für den Boot. DHCP/TFTP-ServerDas Freeware-Programm: 'Tftpd32' beinhaltet DHCP-, TFTP-, SNTP- und Syslog-Server, sowie einen TFTP-Client. Es eignet sich somit hervorragend für einen PXE-Boot-Server unter Windows. Die Installation besteht eigentlich nur aus dem Entpacken der ZIP-Datei in ein Verzeichnis (z.B.: c:\tmp\tftpd32), danach kann man tftpd32.exe sofort starten.
Nach dem Start des Programms sollte dieses unter: 'Settings'
konfiguriert werden. Da nur DHCP- und TFTP-Server benötigt werden, können
unter: 'Global Settings' alle anderen Dienste
deaktiviert werden. Weiterhin muss
unter: 'Base Directory' der Pfad zur Ablagestruktur (Boot-Loader, Konfiguration,
Kernel) eingestellt werden. Ablagestruktur auf dem TFTP: Boot-Loader, Konfiguration, Kernel, InstallerFür den erfolgreichen PXE-Boot ist eine korrekte Bereitstellung der notwendigen Dateien wichtig. Als Basis-Verzeichnis kann z.B. ein Ordner: 'c:\tmp\tftpboot\woody' angelegt werden. In diesem Ordner sind nun alle notwendigen Dateien, wie schon beim Linux Boot-Server beschriebenen, abzulegen. Hier die komplette Ablagestruktur:
Unter Windows kann die Datei: 'pxelinux.0' aus der in ZIP-Form herunter zu ladenden Datei von SYSLINUX (z.B. 'syslinux-2.13.zip') extrahiert werden (Link siehe unten). Die Datei: 'default' kann mit einen gewöhnlichen Editor erstellt werden. Und die Kernel-Datei: 'linux.bin' und Installer-Datei: 'root.bin' können vom Debian-Server bezogen werden. Installation eines Clients Vorraussetzung bei der Installation via PXE-Boot ist, der zu
installierende Rechner/Netzwerkkarte muss dieses unterstützen. Bei neuerer
Hardware sollte dieses kein Problem sein, dazu muss das Booten vom Netzwerk
im BIOS aktiviert sein. AnmerkungenDHCP-Server die in DSL- oder ISDN-Router integriert sind, sind in der Regel nicht für einen PXE-Boot geeignet. Auch sollte es nur einen DHCP-Server im Sub-Netz geben. Ablagestruktur: Debian 3.1 (Sarge):Möchte man eine Debian 3.1 (Sarge) via PXE-Boot installieren, so sind die relevanten Dateien hierzu bereitzustellen. Auf dem Debian-Server wird eine gepackte Datei angeboten ('netboot.tar.gz'), in der schon die komplette Ablagestruktur für einen PXE-Boot abgebildet ist. Am besten ist die Datei mit: 'wget' zu laden und anschließend mit: 'tar' zu entpacken:
Nach dem Entpacken sollte folgende Struktur vorliegen:
Mit der vorliegenden Struktur kann ein PXE-Boot nun stattfinden. Unter Windows kann die Datei z.B. mit dem Internet-Explorer geladen und mit 'WinZip' entpackt werden. Da sich in der Archiv-Datei jedoch Soft-Links befinden und 'WinZip' hiermit nicht klar kommt, muss noch etwas nachgearbeitet werden. Die Dateien: 'pxelinux.0' muss auf der ersten Ebene des TFTP-Ordners kopiert werden. Auch muss noch der Ordner 'pxelinux.cfg' auf der ersten Ebene erstellt werden und die Datei: 'default' dort hin kopiert werden.
Die gelb und grün markierten Dateien sind als Link verknüpft, sie müssen nach dem Entpacken unter Windows aufgelöst werden. Ablagestruktur: Debian 4.0 (Etch):Auch die Ablagestruktur von 'Debian 4.0 (Etch)' ist ähnlich wie bei 'Debian 3.1 (Sarge)', im Prinzip gilt hier die gleiche Vorgehensweise wie oben beschrieben. Das NetBoot-Image ist z.B. unter 'http://ftp.de.debian.org/debian/dists/Debian4.0r0/main/installer-i386/current/images/netboot/netboot.tar.gz' zu finden. Nach dem Entpacken unter Linux, sollte die Struktur wie folgt aussehen:
Ablagestruktur: IPCop 1.4.10 Zum Schluss noch ein weiteres Beispiel einer Ablagestruktur für das Firewall-System:
'IPCop'. Zunächst ist ein ISO-Images von IPCop herunter zu laden. Die im
Image enthaltenen Dateien müssen extrahiert werden. Zum extrahieren der
Image-Datei kann z.B.:
'WinISO' genutzt werden oder im trivialsten Fall ist eine CD im ISO-Format
zu erstellen.
Wichtig ist die Datei: 'isolinux.cfg', sie muss als Datei: 'default' im Verzeichnis: 'pxelinux.cfg' vorhanden sein (einfach kopieren oder umbenennen). Die Datei 'pxelinux.0' kann aus dem SYSLINUX-Paket entnommen werden (entpacken der Datei). Die Datei 'ipcop-1.4.10.tgz' wird für die weitere Installation nachdem der PXE-Boot schon abgeschlossen ist benötigt. Ein WEB-Server (z.B. 'TinyWeb') muss diese Datei zu Verfügung stellen. Weitere Infos
letzte Änderung: 06. Mai 2007 |
Copyright © 2004 Norbert Eusterholz |