Der PXE-Server (Preboot Execution Environment) ermöglicht es dem Benutzer, eine Linux-Distribution von einem Netzwerk aus zu booten und auf hunderten von PCs gleichzeitig ohne Linux-ISO-Images zu installieren. Wenn auf den Computern Ihres Kunden keine CD / DVD- oder USB-Laufwerke installiert sind oder wenn Sie mehrere Computer gleichzeitig in einem großen Unternehmen einrichten möchten, können Sie mit dem PXE-Server Zeit und Geld sparen.

In diesem Artikel zeigen wir Ihnen, wie Sie einen PXE-Server in Ubuntu 14.04 konfigurieren können.

Konfigurieren Sie das Netzwerk

Zunächst müssen Sie Ihren PXE-Server so einrichten, dass er eine statische IP-Adresse verwendet. Um eine statische IP-Adresse in Ihrem System einzurichten, müssen Sie die Datei "/ etc / network / interfaces" bearbeiten.

1. Öffnen Sie die Datei "/ etc / network / interfaces".

 sudo nano / etc / Netzwerk / Schnittstellen 

Hinzufügen / bearbeiten wie unten beschrieben:

 # Die Loopback-Netzwerkschnittstelle auto lo iface lo inet loopback # Die primäre Netzwerkschnittstelle auto eth0 iface eth0 inet statische Adresse 192.168.1.20 Netzmaske 255.255.255.0 Gateway 192.168.1.1 dns-nameservers 8.8.8.8 

Speichern Sie die Datei und beenden Sie sie. Dies setzt seine IP-Adresse auf "192.168.1.20". Starten Sie den Netzwerkdienst neu.

 sudo /etc/init.d/networking Neustart 

Installieren Sie DHCP, TFTP und NFS:

DHCP, TFTP und NFS sind essentielle Komponenten zum Konfigurieren eines PXE-Servers. Zuerst müssen Sie Ihr System aktualisieren und alle notwendigen Pakete installieren.

Führen Sie dazu die folgenden Befehle aus:

 sudo apt-get update sudo apt-get installieren isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server 

Konfigurieren Sie den DHCP-Server:

DHCP steht für Dynamic Host Configuration Protocol und wird hauptsächlich für die dynamische Verteilung von Netzwerkkonfigurationsparametern wie IP-Adressen für Schnittstellen und Dienste verwendet. Ein DHCP-Server in der PXE-Umgebung ermöglicht es Clients, automatisch eine IP-Adresse anzufordern und zu empfangen, um Zugriff auf die Netzwerkserver zu erhalten.

1. Bearbeiten Sie die Datei "/ etc / default / dhcp3-server".

 sudo nano / etc / default / dhcp3-server 

Hinzufügen / bearbeiten wie unten beschrieben:

 SCHNITTSTELLEN = "eth0" 

Speichern (Strg + o) und Beenden (Strg + X) der Datei.

2. Bearbeiten Sie die Datei "/etc/dhcp3/dhcpd.conf":

 sudo nano /etc/dhcp/dhcpd.conf 

Hinzufügen / bearbeiten wie unten beschrieben:

 Standard-Lease-Zeit 600; Max-Lease-Zeit 7200; Subnetz 192.168.1.0 Netzmaske 255.255.255.0 {Bereich 192.168.1.21 192.168.1.240; Option Subnetzmaske 255.255.255.0; Optionsrouter 192.168.1.20; Option Broadcast-Adresse 192.168.1.255; Dateiname "pxelinux.0"; nächster Server 192.168.1.20; } 

Speichern Sie die Datei und beenden Sie sie.

3. Starten Sie den DHCP-Dienst.

 sudo /etc/init.d/isc-dhcp-server starten 

Konfigurieren Sie den TFTP-Server:

TFTP ist ein Dateiübertragungsprotokoll, das FTP ähnelt. Es wird verwendet, wenn Benutzerauthentifizierung und Verzeichnissichtbarkeit nicht erforderlich sind. Der TFTP-Server überwacht immer die PXE-Clients im Netzwerk. Wenn es einen Netzwerk-PXE-Client erkennt, der nach PXE-Diensten fragt, stellt es ein Netzwerkpaket bereit, das das Boot-Menü enthält.

1. Um TFTP zu konfigurieren, bearbeiten Sie die Datei "/etc/inetd.conf".

 sudo nano /etc/inetd.conf 

Hinzufügen / bearbeiten wie unten beschrieben:

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

Speichern und beenden Sie die Datei.

2. Bearbeiten Sie die Datei "/ etc / default / tftpd-hpa".

 sudo nano / etc / default / tftpd-hpa 

Hinzufügen / bearbeiten wie unten beschrieben:

 TFTP_USERNAME = "tftp" TFTP_DIRECTORY = "/ var / lib / tftpboot" TFTP_ADDRESS = "[: 0.0.0.0:]:69" TFTP_OPTIONS = "- Sicher" RUN_DAEMON = "Ja" OPTIONS = "- l -s / var / lib / tftpboot " 

Speichern und beenden Sie die Datei.

3. Aktivieren Sie den Boot-Dienst, damit inetd nach jedem Systemneustart automatisch startet und den tftpd Dienst tftpd .

 sudo update-inetd --enable BOOT sudo-Dienst tftpd-hpa starten 

4. Überprüfen Sie den Status.

 sudo netstat -lu 

Es wird folgende Ausgabe angezeigt:

 Proto Recv-Q Send-Q Lokale Adresse Fremdadressstatus udp 0 0 *: tftp *: * 

Konfigurieren Sie PXE-Startdateien

Jetzt muss die PXE-Boot-Datei "pxelinux.0" im TFTP-Stammverzeichnis vorhanden sein. Erstellen Sie eine Verzeichnisstruktur für TFTP und kopieren Sie alle von syslinux bereitgestellten Bootloader-Dateien von "/ usr / lib / syslinux /" in den Pfad "/ var / lib / tftpboot /", indem Sie die folgenden Befehle ausführen:

 sudo mkdir / var / lib / tftpboot sudo mkdir /var/lib/tftpboot/pxelinux.cfg sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/sudocp/usr/lib/syslinux/vesamenu.c32 / var / lib / tftpboot / sudo cp /usr/lib/syslinux/pxelinux.0 / var / lib / tftpboot / 

Richten Sie die PXELINUX-Konfigurationsdatei ein

Die PXE-Konfigurationsdatei definiert das Boot-Menü, das dem PXE-Client beim Hochfahren angezeigt wird und den TFTP-Server kontaktiert. Wenn ein PXE-Client hochfährt, verwendet er standardmäßig seine eigene MAC-Adresse, um anzugeben, welche Konfigurationsdatei gelesen werden soll. Daher müssen wir diese Standarddatei erstellen, die die Liste der Kernel enthält, die zum Booten verfügbar sind.

Bearbeiten Sie die PXE Server-Konfigurationsdatei mit gültigen Installationsoptionen.

Um "/var/lib/tftpboot/pxelinux.cfg/default" zu bearbeiten,

 sudo nano /var/lib/tftpboot/pxelinux.cfg/default 

Hinzufügen / bearbeiten wie unten beschrieben:

 DEFAULT vesamenu.c32 TIMEOUT 100 PROMPT 0 MENÜ INCLUDE pxelinux.cfg / PXE.conf NOESCAPE 1 LABEL Ubuntu 14.04 Desktop testen MENÜ LABEL Ubuntu 14.04 Desktop kernel testen Ubuntu / vmlinuz anfügen boot = casper netboot = nfs nfsroot = 192.168.1.20: / var / lib / tftpboot / Ubuntu / 14.04 / amd64 initrd = Ubuntu / initrd.lz quiet splash ENDTEXT LABEL Installieren Ubuntu 14.04 Desktop MENÜ LABEL Installieren Ubuntu 14.04 Desktop kernel Ubuntu / vmlinuz anfügen boot = casper automatische-ubiquity netboot = nfs nfsroot = 192.168.1.20: /var/lib/tftpboot/Ubuntu/14.04/amd64 initrd = Ubuntu / initrd.lz quiet splash ENDTEXT 

Speichern und beenden Sie die Datei.

Bearbeiten Sie die Datei "/var/lib/tftpboot/pxelinux.cfg/pxe.conf".

 sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf 

Hinzufügen / bearbeiten wie unten beschrieben:

 MENU TITLE PXE-Server NOESCAPE 1 ALLOWOPTIONS 1 PROMPT 0 MENU BREITE 80 MENU ROWS 14 MENU TABMSGROW 24 MENÜ MARGIN 10 MENÜ FARBE Rand 30; 44 #ffffffff # 00000000 Std 

Speichern und beenden Sie die Datei.

Fügen Sie Ubuntu 14.04 Desktop Boot Images zu PXE Server hinzu

Dazu werden Ubuntu Kernel und Initrd Dateien benötigt. Um diese Dateien zu erhalten, benötigen Sie das Ubuntu 14.04 Desktop ISO Image. Sie können das Ubuntu 14.04 ISO-Image im Ordner / mnt herunterladen, indem Sie den folgenden Befehl ausführen:

 sudo cd / mnt sudo wget http://releases.subuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso 

Hinweis : Die Download-URL ändert sich möglicherweise, wenn das ISO-Image aktualisiert wird. Besuchen Sie diese Website für den neuesten Download-Link, wenn die obige URL nicht funktioniert.

Mounten Sie die ISO-Datei und kopieren Sie alle Dateien in den TFTP-Ordner, indem Sie die folgenden Befehle ausführen:

 sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso / media / sudo cp -r / media / * /var/lib/tftpboot/Ubuntu/14.04/amd64/sudo cp -r / media / .disk /var/lib/tftpboot/Ubuntu/14.04/amd64/sudocp/media/casper/initrd.lz/media/casper/vmlinuz/var/lib/tftpboot/Ubuntu/ 

Konfigurieren Sie den NFS-Server zum Exportieren von ISO-Inhalten

Jetzt müssen Sie Installation Quellspiegel über NFS-Protokoll einrichten. Sie können auch http und ftp für Installationsquellenspiegel verwenden. Hier habe ich NFS verwendet, um ISO-Inhalte zu exportieren.

Um den NFS-Server zu konfigurieren, müssen Sie die Datei "/ etc / exports" bearbeiten.

 sudo nano / etc / exports 

Hinzufügen / bearbeiten wie unten beschrieben:

 /var/lib/tftpboot/Ubuntu/14.04/amd64 * (ro, async, no_root_squash, no_subtree_check) 

Speichern und beenden Sie die Datei. Damit die Änderungen wirksam werden, exportieren und starten Sie den NFS-Dienst.

 sudo exportfs -a sudo /etc/init.d/nfs-kernel-server starten 

Jetzt ist Ihr PXE Server bereit.

Konfigurieren Sie den Netzwerkstart-PXE-Client

Ein PXE-Client kann ein beliebiges Computersystem mit einer PXE-Netzwerkstartoption sein. Jetzt können Ihre Clients Ubuntu 14.04 Desktop booten und installieren, indem Sie die Optionen "Boot From Network" vom System-BIOS aktivieren.

Jetzt können Sie loslegen - starten Sie Ihren PXE-Client-Rechner mit der Netzwerk-Boot-Option, und Sie sollten jetzt ein Untermenü für Ihren von uns erstellten Ubuntu 14.04 Desktop sehen.

Fazit

Die Konfiguration der Netzwerkstart-Installation mithilfe des PXE-Servers ist effizient und eine zeitsparende Methode. Sie können Hunderte von Clients gleichzeitig in Ihrem lokalen Netzwerk installieren. Sie benötigen lediglich einen PXE-Server und PXE-fähige Clients. Probieren Sie es aus und lassen Sie uns wissen, ob dies für Sie funktioniert.

Referenz: PXE Server Wiki PXE Server Ubuntu

Bildnachweis: fupsol_unl_20