GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Installieren Sie Debian 9 (Stretch) über den PXE Network Boot Server

In diesem Tutorial zeigen wir Ihnen, wie Sie die neueste Version des Debian 9-Servers über einen PXE-Server mit Internet-Remote-HTTP-Spiegelquellen installieren, die von Debian-Archivspiegeln angeboten werden. Der DHCP-Server, den wir in diesem Tutorial zum Einrichten der PXE-Umgebung verwenden, ist der ISC-DHCP-Server, und die Netboot-Debian-Dateien werden im lokalen Netzwerk vom TFTPD-HPA-Server bereitgestellt. Die Installation eines Systems über PXE kann die Installationsgeschwindigkeit verbessern und im Falle der Bereitstellung mehrerer Debian-Installationen in kurzer Zeit oder in Fällen, in denen die Maschinen nicht mit einer CD/DVD-ROM-Einheit ausgestattet sind.

Anforderungen

  • Debian 9 auf einer Bare-Metal-Maschine oder auf einer virtuellen Maschine installiert.
  • Eine Netzwerkschnittstelle, die mit einer statischen IP-Adresse für das Netzwerksegment konfiguriert ist, die verwendet wird, um die IP-Adresse und andere zugehörige DHCP- und PXE-Einstellungen dynamisch zuzuweisen.
  • Ein lokales oder entferntes Konto mit Root-Rechten für den Debian-Server oder direkter Zugriff auf das Root-Konto über die Serverkonsole oder Remote-Zugriff über SSH.
  • Eine Internetverbindung wird benötigt, um Debian über das Netzwerk zu installieren.

Erstkonfiguration

Im ersten Schritt müssen Sie sicherstellen, dass das Debian-System, das wir verwenden werden, um neue Server zu installieren, über die Netzwerkschnittstelle verfügt, die verwendet wird, um sich mit einem DHCP-Server zu verbinden, der mit einer statischen IP-Adresse konfiguriert ist.

Um Ihre Netzwerkschnittstellenkarte manuell zu konfigurieren, öffnen Sie die Netzwerkschnittstellendatei und bearbeiten Sie die folgenden Zeilen mit Ihrem bevorzugten Texteditor, z. B. nano . Ersetzen Sie die unten beschriebenen IP-Einstellungszeilen, um sie an Ihre eigenen Netzwerkkonfigurationen anzupassen.

sudo nano /etc/network/interfaces

Schnittstellen Dateiauszug:

auto ens33
iface ens33 inet statisch
Adresse 192.168.1.102
Netzmaske 255.255.255.0
Netzwerk 192.168.1.0
Broadcast 192.168.1.255
Gateway 192.168.1.1
DNS-Nameserver 192.168.1.2 8.8.4.4
DNS-Suche debian.local

Nachdem Sie die Netzwerkschnittstellendatei bearbeitet haben, speichern und schließen Sie die Datei und fahren Sie die Netzwerkschnittstelle herunter und dann wieder hoch, um die Einstellungen zu übernehmen, indem Sie die folgenden Befehle ausführen. Angenommen, Ihre Netzwerkschnittstellenkarte heißt ens33, führen Sie die folgenden Befehle aus, um die NIC zu deaktivieren und zu aktivieren.

ifdown ens33
ifup ens33

Um zu überprüfen, ob die neue IP-Adresse für die Netzwerkschnittstelle konfiguriert wurde, geben Sie den folgenden Befehl ein.

ip a

Manchmal werden die IP-Einstellungen nicht angewendet, indem Sie einfach den Netzwerk-Daemon neu starten oder die Schnittstelle deaktivieren und aktivieren. In diesem Fall sollten Sie das System mit dem folgenden Befehl neu starten.

init 6

Oder

Systemctl-Neustart

Sie sollten auch eine vollständige Systemaktualisierung durchführen, indem Sie die folgenden Befehle ausführen:

apt-Update
apt-Upgrade

Führen Sie im nächsten Schritt den folgenden Befehl aus, um einige erforderliche Dienstprogramme zu installieren, die zur weiteren Verwaltung Ihres Systems über die Befehlszeile verwendet werden.

apt install wget bash-completion unzip

ISC-DHCP-Server installieren und konfigurieren

Um einen DHCP-Server und eine PXE-Konfiguration einzurichten, melden Sie sich mit dem Root-Konto oder einem Konto mit Root-Rechten beim System an und installieren Sie isc-dhcp-server Paket, das vom Debian 9-Repository bereitgestellt wird, indem Sie den folgenden Befehl ausführen.

apt install isc-dhcp-server

Sichern Sie nun die Hauptkonfigurationsdatei des ISC-DHCP-Servers und bearbeiten Sie die DHCP-Serverkonfigurationsdatei so, dass sie die folgenden Einstellungen enthält.

mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup
nano /etc/dhcp/dhcpd.conf

dhcpcd.conf Dateiauszug:

ddns-update-style none;
option option-128 code 128 =string;
option option-129 code 129 =text;
autoritative;
log-facility local7;
Option Arch Code 93 =Ganzzahl ohne Vorzeichen 16;

Subnetz 192.168.1.0 Netzmaske 255.255.255.0 {
Bereich 192.168.1.50 192.168.1.100;
Option Router 192.168 .1.1;
Option Broadcast-Adresse 192.168.1.255;
Option Subnetzmaske 255.255.255.0;
Option NTP-Server 192.168.1.102;
Option Zeitserver 192.168.1.102;

Option Domänenname "debian.local";
Option Domänenname-Server 192.168.1.1, 192.168.1.2;
Booten zulassen;
Bootp zulassen;
if Option arch =00:07 oder Option arch =00:09 {
filename "bootnetx64.efi";
} else {
filename "pxelinux.0";
}
next-server 192.168.1.102;

#default lease 4H, max lease 8H
default-lease-time 14400;
max-lease- Zeit 28800;

}

host nas {
hardware ethernet 00:17:a4:f6:b2:2e;
feste Adresse 192.168.1.105;
}

Ersetzen Sie in der obigen Konfigurationsdatei die folgenden Zeilen entsprechend.

Subnetz {..
Bereich 192.168.1.50 192.168.1.100;

So definieren Sie Ihren eigenen Netzwerkbereich für DHCP, um diesem Netzwerksegment IPs zuzuweisen

Optionsrouter =Richten Sie Ihre Gateway-IP ein

Option Übertragungsadresse =Richten Sie Ihre Netzwerk-Broadcast-Adresse ein

Option Subnetzmaske =Richten Sie Ihre Netzwerk-Subnetzmaskenadresse ein

Option NTP-Server

Option Zeitserver =Richten Sie die IP-Adresse Ihres Netzwerk-NTP-Servers ein

Option Domänenname =Einrichten Ihres Netzwerkdomänennamens, falls vorhanden

Option Domain-Name-Server =Richten Sie die IP-Adressen Ihres Netzwerk-DNS-Servers ein

wenn Option Arch =00:07 oder Option Arch =00:09 =Wenn das Endgerät ein UEFI-basierter Computer ist, booten Sie das Gerät mit bootnetx64.efi Datei oder starten Sie andere Computer, die nicht UEFI-basiert sind, mit pxelinux.0 Datei. Bei diesen Computern handelt es sich in der Regel um ältere BIOS-Systeme.

nächster Server 192.168.1.102 = Dies ist die IP-Adresse des TFTP-Servers, auf dem die Datei pxelinux.0 oder bootnetx64.efi finden Sie in Ihrem Netzwerk. In diesem Fall befindet sich der TFTP-Server auf derselben Maschine.

Standard-Lease-Time =Standardzeit in Sekunden, die einer IP-Adresse gewährt wird, bevor sie abläuft.

maximale Lease-Dauer =maximale Zeit in Sekunden, die einer IP-Adresse gewährt wird, bevor sie abläuft.

Host-NAS { 
Hardware-Ethernet 00:17:a4:f6:b2:2e;
feste Adresse 192.168.1.105;
}

So wird eine statische IP-Adresse im DHCP-Server deklariert. Das Gerät mit der durch Ethernet-Hardware definierten MAC-Adresse -Anweisung erhält immer dieselbe IP-Adresse. Der deklarierte Hostname hat keine Bedeutung. Sie können für den Hostnamen eine beliebige Zeichenfolge verwenden.

Öffnen Sie dann isc-dhcp-server Datei im Verzeichnis /etc/default/ Verzeichnis zum Bearbeiten, navigieren Sie zum Ende der Datei und fügen Sie Ihre mit einer statischen IP-Adresse konfigurierte Netzwerkschnittstellenkarte zur Zeile IPv4 Interfaces hinzu, wie im folgenden Beispiel beschrieben. Stellen Sie sicher, dass Sie den richtigen Namen der Netzwerkschnittstellenkarte hinzufügen. Verwenden Sie ip oder ifconfig Befehle, um die Netzwerkschnittstellen Ihrer Maschine aufzulisten und den richtigen Namen zu finden.

nano /etc/default/isc-dhcp-server

isc-dhcp-server Standarddateiauszug:

INTERFACESv4="ens33"

Starten Sie abschließend den DHCP-Daemon neu, um die Änderungen zu übernehmen. Überprüfen Sie den Status des DHCP-Dienstes, indem Sie den folgenden Befehl ausführen, um zu überprüfen, ob der Dienst gestartet wurde.

systemctl restart isc-dhcp-server.service
systemctl status isc-dhcp-server.service

Führen Sie außerdem ss aus oder netstat Befehl zum Auflisten aller offenen Sockets nach DHCP-Server.

netstat –tulpn
ss –tulpn

Wenn netstat Dienstprogramm nicht auf Ihrem System installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren.

apt install net-tools

TFTP-Server installieren

Um die Netboot-Dateien bereitzustellen, die von Clients benötigt werden, um Debian remote über PXE und TFTP zu booten, müssen Sie auch einen TFTP-Server in Ihrem System installieren. Einer der gebräuchlichsten und sichersten TFTP-Server für LANs ist tftpd-hpa Server. Die TFTP-HPA-Pakete können aus offiziellen Repositories installiert werden, die von Debian 9 angeboten werden. Führen Sie den folgenden Befehl aus, um den tftpd-hpa-Server in Debian 9 zu installieren.

apt install tftpd-hpa

Nachdem das Paket installiert wurde, öffnen Sie die TFTPD-HPA-Standardkonfigurationsdatei und vergewissern Sie sich, dass die Datei den folgenden Inhalt hat.

nano /etc/default/tftpd-hpa

tftpd-hpa Dateiauszug:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Wenn die Zeile TFTP_OPTIONS den folgenden Inhalt hat, stellen Sie sicher, dass Sie --create entfernen Flag, um den TFTP-Server zu sichern.

TFTP_OPTIONS="--secure --create"    

Die erstellen Flag erlaubt Remote-Clients, Dateien auf den TFTP-Server hochzuladen. Diese Option ist gefährlich, da beliebige Benutzer Dateien vom Stammpfad des TFTP-Servers hochladen oder löschen können.

Aktivieren Sie abschließend den Dienst systemweit, starten Sie den TFTP-Server und überprüfen Sie den Status des TFTP-Daemons, indem Sie die folgende Befehlsfolge ausführen:

systemctl aktiviert tftpd-hpa
systemctl start tftpd-hpa
systemctl status tftpd-hpa

Sie sollten auch netstat ausführen oder ss Befehl, um alle offenen Netzwerk-Sockets im Listening-Zustand in Ihrem System aufzulisten. Die folgenden UDP-Ports, die von DHCP- und TFTP-Servern benötigt werden, sollten in Ihrem Netzwerkstapel geöffnet werden:67 und 69. Sie sollten diese Ports in Ihrer Firewall öffnen, indem Sie die folgenden Befehle ausgeben:

ufw erlaubt 67/udp
ufw erlaubt 69/udp

Wenn Sie iptables verwenden Raw-Regeln zum Verwalten der Firewall-Richtlinie auf Ihrem Debian-Server, fügen Sie die folgenden Regeln hinzu, damit eingehender UDP-Verkehr der Ports 67 und 69 die Firewall passieren kann, sodass Clients auf die DHCP- und TFTP-Server zugreifen können.

apt-get install iptables-persistent
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p udp --dport 69 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Im nächsten Schritt installieren wir die Syslinux-Bootloader-Dienstprogramme, indem wir den folgenden Befehl ausführen.

apt install syslinux-utils syslinux

Debian 9 Netboot-Dateien bereitstellen

Gehen Sie als Nächstes zur Debian-Netinstall-Webseite unter der folgenden Adresse https://www.debian.org/distrib/netinst und laden Sie die neueste Version des Debian-Netboot-Archiv-Tarballs mit dem Befehlszeilenprogramm wget herunter.

wget http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz

Nachdem der Debian-Netinstall-Tarball heruntergeladen wurde, extrahieren Sie den Archivinhalt direkt in den TFTP-Root-Pfad, indem Sie den folgenden Befehl ausführen.

tar xfz netboot.tar.gz -C /srv/tftp/

Kopieren Sie auch die vom Syslinux-Paket bereitgestellte memdisk-Datei in den TFTP-Stammpfad und listen Sie den Inhalt des TFTP-Verzeichnisses auf, indem Sie die folgenden Befehle ausführen. Das Verzeichnis /srv/tftp sollte den Inhalt haben, der im folgenden Screenshot angezeigt wird.

cp /usr/lib/syslinux/memdisk /srv/tftp/
ls /srv/tftp/

Erstellen Sie als Nächstes einen symbolischen Link für die UEFI-Bootloader-Datei, die vom Debian-Netzinstallationspaket bereitgestellt wird, zum TFTP-Stammpfad, indem Sie den folgenden Befehl ausführen. Führen Sie außerdem eine lange Auflistung des TFTP-Verzeichnisses durch, um festzustellen, ob der Softlink korrekt auf die UEFI-Netboot-Datei verweist.

ln -s /srv/tftp/debian-installer/amd64/bootnetx64.efi /srv/tftp/
ls -l /srv/tftp/

Der PXE-Server liest Konfigurationsdateien in pxelinux.cfg und führt sie aus Verzeichnis vom TFTP-Stammpfad in dieser Reihenfolge:GUID-Dateien, MAC-Dateien und Standarddatei. Das Verzeichnis pxelinux.cfg wurde bereits erstellt und mit der erforderlichen PXE-Standardkonfigurationsdatei gefüllt, da wir zuvor die erforderlichen Netboot-Dateien aus dem Debian-Netzinstallationsarchiv in das Verzeichnis /srv/tftp extrahiert haben. Es ist nicht erforderlich, die PXE-Standardkonfigurationsdatei aus dem Verzeichnis pxelinux.cfg weiter zu ändern. Die Datei, die eigentlich das anfängliche Boot-Menü für Debian steuert, heißt txt.cfg und befindet sich in /srv/tftp/debian-installer/amd64/boot-screens/ Verzeichnis. Die standardmäßige PXE-Konfigurationsdatei aus pxelinux.cfg Verzeichnis ist eigentlich ein Softlink, der auf die Datei txt.cfg verweist. Um andere Optionen zu ändern oder hinzuzufügen, die während des Net-Boot-Vorgangs an den Kernel übergeben werden sollen, oder andere Einträge hinzuzufügen oder andere Linux-Distributionen über den PXE-Server zu booten, sollten Sie die Standard-PXE-Konfigurationsdatei txt.cfg mit dem folgenden Befehl öffnen und make die entsprechenden Änderungen.

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

t xt.cfg Dateiauszug:

label install
menu label ^Install
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz --- quiet

Falls Sie den Debian-Rettungsmodus über PXE verwenden möchten, fügen Sie dieser Datei einen Eintrag mit den folgenden Konfigurationen hinzu.

label rescue
menu label ^Rescue mode
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz rescue/enable=true --- leise

Um die Einträge hinzuzufügen, die erforderlich sind, um Debian über das Netzwerk im Expertenmodus zu booten oder den automatischen Installationsmodus zu verwenden, fügen Sie die weiteren Konfigurationen zur Datei txt.cfg hinzu, wie in den folgenden Auszügen gezeigt.

Experteninstallation:

label expert
menu label ^Expert install
kernel debian-installer/amd64/linux
append priority=low vga=788 initrd=debian-installer/amd64/initrd.gz -- -
debian-installer/amd64/boot-screens/rqtxt.cfg einbinden

Automatische Installation:

label auto
menu label ^Automated install
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd. gz --- leise

Wenn Sie den Inhalt dieser Datei untersuchen, werden Sie außerdem feststellen, dass der Kernel und initrd.gz Bilder, die nach dem anfänglichen PXE-Menü über das TFTP-Netzwerkprotokoll in den RAM-Speicher des Clients geladen werden, befinden sich in /srv/tftp/debian-installer/amd64/ Verzeichnis. Sie können nur diese beiden Dateien für zukünftige Updates des Debian-Kernels und initrd.gz ändern.

Das ist alles! Haben Sie jetzt die Möglichkeit, einen Client-Rechner über das Netzwerk zu booten, verwenden Sie alle Einträge, die normalerweise beim Booten von Debian über das DVD-Image angezeigt werden, und beginnen Sie mit der Installation von Debian 9 über einen PXE-Server.

Verwenden Sie tail, um DHCP-Protokollnachrichten anzuzeigen, die zwischen den Clients und dem Server in Echtzeit ausgetauscht werden Befehl gegen die Syslog-Datei des Systems. Der DHCP-Server verwirft alle seine Protokollmeldungen in der Syslog-Datei. Protokollmeldungen des TFTP-Servers können über die Datei daemon.log beobachtet werden. Die folgenden Screenshots zeigen einen Auszug von Protokollmeldungen, die sowohl von DHCP- als auch von TFTP-Servern ausgegeben werden.

tailf /var/log/syslog
tailf /var/log/daemon.log

Sie können auch den folgenden Befehl ausführen, um vom TFTP-Server generierte Protokollmeldungen anzuzeigen.

journalctl -fu tftpd-hpa

Zeigen Sie den Inhalt von dhcpd.leases an, um erweiterte Informationen über die Leases anzuzeigen, die der DHCP-Server seinen Clients gewährt Datei mit dem cat-Befehl, wie im folgenden Beispiel dargestellt.

cat /var/lib/dhcp/dhcpd.leases

Das ist alles! Sie haben erfolgreich einen PXE-Server in Ihrem Netzwerk bereitgestellt. Sie können jetzt mit der Installation von Debian über das Netzwerk beginnen, indem Sie den Client-Rechner anweisen, über PXE zu booten. Sie können einen Client-Rechner über das Netzwerk booten, indem Sie während der POST-Initialisierung des Rechners eine spezielle Funktionstaste drücken. Schlagen Sie in der Herstellerdokumentation des Motherboards Ihres Computers nach, um den richtigen Netboot-Schlüssel herauszufinden.

Der Prozess der Installation von Debian über das Netzwerk ist sehr ähnlich (nur ein paar kleine Unterschiede) mit dem Prozess der Installation des Systems über ein DVD-ISO-Image oder die Verwendung eines bootfähigen USB-Flash-Laufwerks.


Debian
  1. So installieren Sie einen LAMP-Server unter Debian 9 Stretch Linux

  2. So installieren Sie den MySQL-Community-Server unter Debian 9 Stretch Linux

  3. So installieren Sie Redis Server unter Debian 11

  4. Installieren Sie Cockpit unter Debian 9

  5. So installieren Sie das soziale Netzwerk Elgg unter Debian 9

So installieren Sie Shadowsocks-Libev Proxy Server auf Debian 9 Stretch VPS

So installieren Sie VestaCP auf Debian 9 Stretch

So installieren Sie Minecraft Server auf Debian 9 Stretch

So installieren Sie Plex Media Server auf Debian 9 Stretch

So installieren Sie Go unter Debian 9 Stretch

So installieren Sie Jetty unter Debian 9 Stretch