Website-Suche

So installieren Sie Ubuntu über einen PXE-Server mithilfe lokaler DVD-Quellen


PXE oder Preboot eXecution Environment ist ein Server-Client-Mechanismus, der einen Client-Computer anweist, über das Netzwerk zu booten.

In dieser Anleitung zeigen wir, wie Sie Ubuntu Server über einen PXE-Server mit lokalen HTTP-Quellen installieren, die vom Ubuntu-Server-ISO-Image über das Apache-Web gespiegelt werden Server. Der in diesem Tutorial verwendete PXE-Server ist Dnsmasq Server.

Anforderungen:

  1. Installation von Ubuntu Server 16.04 oder 17.04
  2. Eine Netzwerkschnittstelle, die mit einer statischen IP-Adresse konfiguriert ist
  3. Ubuntu Server 16.04 oder 17.04 ISO-Image

Schritt 1: DNSMASQ-Server installieren und konfigurieren

1. Um den PXE-Server einzurichten, melden Sie sich im ersten Schritt mit dem Root-Konto oder einem Konto mit Root-Rechten an und installieren Sie das Dnsmasq-Paket in Ubuntu, indem Sie den folgenden Befehl ausgeben.

apt install dnsmasq

2. Als nächstes sichern Sie die Hauptkonfigurationsdatei dnsmasq und beginnen dann mit der Bearbeitung der Datei mit den folgenden Konfigurationen.

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

Fügen Sie der Datei dnsmasq.conf die folgende Konfiguration hinzu.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

Ersetzen Sie in der obigen Konfigurationsdatei die folgenden Zeilen entsprechend.

  • Schnittstelle Ersetzen Sie diese durch die Netzwerkschnittstelle Ihrer eigenen Maschine.
  • domain – Ersetzen Sie es durch Ihren Domainnamen.
  • dhcp-range – Definieren Sie Ihren eigenen Netzwerkbereich für DHCP, um diesem Netzwerksegment IPs zuzuweisen und wie lange eine IP-Adresse für einen Client gewährt werden soll.
  • dhcp-option=3 – Ihre Gateway-IP.
  • dhcp-option=6 DNS-Server-IPs – mehrere DNS-IPs können definiert werden.
  • Server – DNS-Weiterleitungs-IP-Adresse.
  • dhcp-option=28 – Ihre Netzwerk-Broadcast-Adresse.
  • dhcp-option=42 – NTP-Server – verwenden Sie 0.0.0.0. Die Adresse dient der Selbstreferenz.
  • dhcp-boot – die PXE-Boot-Datei und die IP-Adresse des PXE-Servers (hier pxelinux.0 und IP-Adresse derselben Maschine).
  • pxe-prompt – Benutzer können die Taste F8 drücken, um das PXE-Menü aufzurufen, oder 2 Sekunden warten, bevor automatisch zum PXE-Menü gewechselt wird.
  • pxe=service – Verwenden Sie x86PC für 32-Bit-/64-Bit-Architekturen und geben Sie eine Menübeschreibungsaufforderung in Anführungszeichen ein. Andere Wertetypen können sein: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI und X86-64_EFI.
  • enable-tftp – Aktiviert den integrierten TFTP-Server.
  • tftp-root – der Systempfad für Net-Boot-Dateien.

3. Nachdem Sie die Bearbeitung der dnsmasq-Konfigurationsdatei abgeschlossen haben, erstellen Sie außerdem das Verzeichnis für die PXE-Netboot-Dateien, indem Sie den folgenden Befehl eingeben und Starten Sie den DNSMASQ-Daemon neu, um die Änderungen zu übernehmen. Überprüfen Sie den Status des DNSMASQ-Dienstes, um festzustellen, ob er gestartet wurde.

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

Schritt 2: Installieren Sie die TFTP-Netboot-Dateien

4. Rufen Sie im nächsten Schritt die neueste Version des Ubuntu-Server-ISO-Images für die 64-Bit-Architektur ab, indem Sie den folgenden Befehl ausführen.

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Nachdem die Ubuntu-Server-ISO heruntergeladen wurde, mounten Sie das Image im Verzeichnis /mnt und listen Sie den Inhalt des gemounteten Verzeichnisses auf, indem Sie die folgenden Befehle ausführen.

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. Kopieren Sie als Nächstes die Netboot-Dateien aus dem von Ubuntu gemounteten Baum in den TFTP-Systempfad, indem Sie den folgenden Befehl ausführen. Listen Sie außerdem den TFTP-Systempfad auf, um die kopierten Dateien anzuzeigen.

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

Schritt 3: Bereiten Sie lokale Installationsquelldateien vor

7. Die lokalen Netzwerkinstallationsquellen für den Ubuntu-Server werden über das HTTP-Protokoll bereitgestellt. Installieren, starten und aktivieren Sie zunächst den Apache-Webserver, indem Sie die folgenden Befehle eingeben.

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. Kopieren Sie dann den Inhalt der gemounteten Ubuntu-DVD in den Web-Root-Pfad des Apache-Webservers, indem Sie die folgenden Befehle ausführen. Listen Sie den Inhalt des Apache-Webstammpfads auf, um zu überprüfen, ob der Ubuntu ISO-gemountete Baum vollständig kopiert wurde.

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. Öffnen Sie als Nächstes den HTTP-Port in der Firewall und navigieren Sie über einen Browser zur IP-Adresse Ihres Computers (http://192.168.1.14/ubuntu), um zu testen, ob Sie kann Quellen über das HTTP-Protokoll erreichen.

ufw allow http

Schritt 4: Richten Sie die PXE-Server-Konfigurationsdatei ein

10. Um die Rootfs über PXE und lokale Quellen zu plotten, muss Ubuntu über eine Preseed-Datei angewiesen werden. Erstellen Sie die folgende Datei local-sources.seed im Stammpfad Ihres Webserverdokuments mit dem folgenden Inhalt.

nano /var/www/html/ubuntu/preseed/local-sources.seed

Fügen Sie der Datei local-sources.seed die folgende Zeile hinzu.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Stellen Sie hier sicher, dass Sie die IP-Adresse entsprechend ersetzen. Es sollte die IP-Adresse sein, unter der sich Webressourcen befinden. In diesem Handbuch werden die Webquellen, der PXE-Server und der TFTP-Server auf demselben System gehostet. In einem überfüllten Netzwerk möchten Sie möglicherweise PXE, TFTP und Webdienste auf separaten Computern ausführen, um die PXE-Netzwerkgeschwindigkeit zu verbessern.

11. Ein PXE-Server liest und führt Konfigurationsdateien im TFTP-Stammverzeichnis pxelinux.cfg in dieser Reihenfolge aus: GUID-Dateien, MAC-Dateien und Standarddatei.

Das Verzeichnis pxelinux.cfg ist bereits erstellt und mit den erforderlichen PXE-Konfigurationsdateien gefüllt, da wir zuvor die Netboot-Dateien aus dem von Ubuntu gemounteten ISO-Image kopiert haben.

Um die obige Preseed-Anweisungsdatei zum Ubuntu-Installationsetikett in der PXE-Konfigurationsdatei hinzuzufügen, öffnen Sie die folgende Datei zur Bearbeitung, indem Sie den folgenden Befehl ausführen.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

Ersetzen Sie in der Ubuntu PXE-Konfigurationsdatei txt.cfg die folgende Zeile, wie im folgenden Auszug dargestellt.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Die Datei /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg sollte den folgenden globalen Inhalt haben:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. Falls Sie die Preseed-URL-Anweisung zum Menü Ubuntu Rescue hinzufügen möchten, öffnen Sie die folgende Datei und stellen Sie sicher, dass Sie den Inhalt wie im folgenden Beispiel dargestellt aktualisieren.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Fügen Sie der Datei rqtxt.cfg die folgende Konfiguration hinzu.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

Die wichtige Zeile, die Sie aktualisieren sollten, ist url=http://192.168.1.14/ubuntu/preseed/local-sources.seed, die die URL-Adresse angibt, unter der sich die komprimierte Datei in Ihrem Netzwerk befindet.

13. Öffnen Sie schließlich die Ubuntu-PXE-Datei menu.cfg und kommentieren Sie die ersten drei Zeilen, um den PXE-Startbildschirm zu erweitern, wie im folgenden Screenshot dargestellt.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Kommentieren Sie diese drei folgenden Zeilen.

#menu hshift 13
#menu width 49
#menu margin 8

Schritt 5: Öffnen Sie Firewall-Ports in Ubuntu

14. Führen Sie den Befehl „netstat“ mit Root-Rechten aus, um dnsmasq-, tftp- und offene Web-Ports im Überwachungsstatus auf Ihrem Server zu identifizieren, wie im folgenden Auszug dargestellt.

netstat -tulpn

15. Nachdem Sie alle erforderlichen Ports identifiziert haben, geben Sie die folgenden Befehle ein, um die Ports in der UFW-Firewall zu öffnen.

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

Schritt 6: Installieren Sie Ubuntu mit lokalen Quellen über PXE

16. Um den Ubuntu-Server über PXE zu installieren und die lokalen Netzwerkinstallationsquellen zu verwenden, starten Sie Ihren Computer-Client neu, weisen Sie das BIOS an, vom Netzwerk zu starten, und wählen Sie im ersten PXE-Menübildschirm die erste Option aus, wie in der Abbildung dargestellt unten Bilder.

17. Der Installationsvorgang sollte wie gewohnt durchgeführt werden. Wenn das Installationsprogramm das Setup für das Ubuntu-Archivspiegel-Land erreicht, wechseln Sie mit dem Aufwärtspfeil der Tastatur zur ersten Option, die besagt: Informationen manuell eingeben.

18. Drücken Sie die [Enter]-Taste, um diese Option zu aktualisieren, löschen Sie die Spiegelzeichenfolge, fügen Sie die IP-Adresse der Webserver-Spiegelquellen hinzu und drücken Sie die Eingabetaste, um fortzufahren, wie in der Abbildung dargestellt Bild unten.

http://192.168.1.14

19. Fügen Sie im nächsten Bildschirm Ihr Spiegelarchivverzeichnis wie unten gezeigt hinzu und drücken Sie die Eingabetaste, um mit dem Installationsvorgang fortzufahren.

/ubuntu

20. Wenn Sie Informationen darüber sehen möchten, welche Pakete von Ihrem lokalen Netzwerkspiegel heruntergeladen werden, drücken Sie die Tasten [STRG+ALT+F2], um die virtuelle Konsole der Maschine zu ändern und geben Sie den folgenden Befehl ein.

tail –f /var/log/syslog

21. Nachdem die Installation des Ubuntu-Servers abgeschlossen ist, melden Sie sich beim neu installierten System an und führen Sie den folgenden Befehl mit Root-Rechten aus, um die Repository-Pakete von lokalen Netzwerkquellen auf offizielle Ubuntu-Spiegel zu aktualisieren.

Die Spiegel müssen geändert werden, um das System mithilfe der Internet-Repositorys zu aktualisieren.

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Stellen Sie sicher, dass Sie die IP-Adresse durch die IP-Adresse Ihrer eigenen lokalen Webquellen ersetzen.

Das ist alles! Sie können jetzt Ihr Ubuntu-Serversystem aktualisieren und alle erforderliche Software installieren. Die Installation von Ubuntu über PXE und einen lokalen Netzwerk-Quellspiegel kann die Installationsgeschwindigkeit verbessern und Internetbandbreite und Kosten einsparen, wenn Sie in kurzer Zeit eine große Anzahl von Servern in Ihren Räumlichkeiten bereitstellen.