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

HowTo:10 Schritte zum Konfigurieren des tftpboot-Servers in UNIX / Linux (für die Installation von Linux aus dem Netzwerk mit PXE)

Lassen Sie uns in diesem Artikel darüber diskutieren, wie man tftpboot einrichtet, einschließlich der Installation notwendiger Pakete und tftpboot-Konfigurationen.

Der TFTP-Startdienst wird hauptsächlich verwendet, um die Betriebssysteminstallation auf einem Remotecomputer durchzuführen, für den Sie keinen physischen Zugriff haben. Um die Installation des Betriebssystems erfolgreich durchzuführen, sollte es eine Möglichkeit geben, den Remote-Server neu zu starten – entweder mit Wakeonlan oder jemandem, der ihn manuell neu startet, oder auf andere Weise.

In diesen Szenarien können Sie die tftpboot-Dienste entsprechend einrichten und die Installation des Betriebssystems aus der Ferne durchführen (Sie benötigen die Autoyast-Konfigurationsdatei, um die Installationsschritte des Betriebssystems zu automatisieren).

Ein Schritt-für-Schritt-Verfahren wird vorgestellt in diesem Artikel für SLES10-SP3 in 64-Bit-Architektur. Diese Schritte sind jedoch denen anderer Linux-Distributionen ziemlich ähnlich.

Erforderliche Pakete

Die folgenden Pakete müssen für das tftpboot-Setup installiert werden.

  • DHCP-Dienstpakete:dhcp-3.0.7-7.5.20.x86_64.rpm und dhcp-server-3.0.7-7.5.20.x86_64.rpm
  • tftpboot-Paket:tftp-0.48-1.6.x86_64.rpm
  • pxeboot-Paket:syslinux-3.11-20.14.26.x86_64.rpm

Paketinstallation

Installieren Sie die Pakete für die DHCP-Serverdienste:

$ rpm -ivh dhcp-3.0.7-7.5.20.x86_64.rpm
Preparing...                ########################################### [100%]
   1:dhcp                   ########################################### [100%]

$ rpm -ivh dhcp-server-3.0.7-7.5.20.x86_64.rpm
Preparing...                ########################################### [100%]
   1:dhcp                   ########################################### [100%]

$ rpm -ivh tftp-0.48-1.6.x86_64.rpm

$ rpm -ivh syslinux-3.11-20.14.26.x86_64.rpm

Nach der Installation des syslinux-Pakets wird die Datei pxelinux.0 im Verzeichnis /usr/share/pxelinux/ erstellt. Dies ist erforderlich, um Installationskernel- und Initrd-Images auf dem Client-Rechner zu laden.

Überprüfen Sie, ob die Pakete erfolgreich installiert wurden.

$ rpm -qa | grep dhcp
$ rpm -qa | grep tftp

Laden Sie den entsprechenden tftpserver aus dem Repository Ihrer jeweiligen Linux-Distribution herunter.

Schritte zum Einrichten von tftpboot

Schritt 1:Verzeichnis /tftpboot erstellen

Erstellen Sie das tftpboot-Verzeichnis im Stammverzeichnis ( / ), wie unten gezeigt.

# mkdir /tftpboot/

Schritt 2:Kopieren Sie das pxelinux-Image

Das PXE-Linux-Image ist verfügbar, sobald Sie das syslinux-Paket installiert haben. Kopieren Sie dies wie unten gezeigt in den /tftpboot-Pfad.

# cp /usr/share/syslinux/pxelinux.0 /tftpboot

Schritt 3:Mountpunkt für ISO erstellen und ISO-Image mounten

Nehmen wir an, wir installieren die Linux-Distribution SLES10 SP3 auf einem Remote-Server. Wenn Sie die SUSE10-SP3-DVD haben, legen Sie sie in das Laufwerk ein oder mounten Sie das ISO-Image, das Sie haben. Hier wurde das ISO-Image wie folgt gemountet:

# mkdir /tftpboot/sles10_sp3

# mount -o loop SLES-10-SP3-DVD-x86_64.iso /tftpboot/sles10_sp3

Weitere Informationen finden Sie in unserem früheren Artikel zum Mounten und Anzeigen von ISO-Dateien.

Schritt 4:Kopieren Sie die vmlinuz- und initrd-Images nach /tftpboot

Kopieren Sie die initrd wie unten gezeigt in das tftpboot-Verzeichnis.

# cd /tftpboot/sles10_sp3/boot/x86_64/loader

# cp initrd linux /tftpboot/

Schritt 5:pxelinux.cfg-Verzeichnis erstellen

Erstellen Sie das Verzeichnis pxelinux.cfg unter /tftpboot und definieren Sie die pxe-Boot-Definitionen für den Client.

# mkdir /tftpboot/pxelinux.cfg

# cat >/tftpboot/pxelinux.cfg/default
default linux
label linux
kernel linux
append initrd=initrd showopts instmode=nfs install=nfs://192.168.1.101/tftpboot/sles10_sp3/

Die folgenden Optionen werden für verwendet,

  • kernel – gibt an, wo der Linux-Installationskernel auf dem TFTP-Server zu finden ist.
  • install – gibt Boot-Argumente an, die an den Installationskernel übergeben werden.

Gemäß den obigen Einträgen wird der nfs-Installationsmodus zum Bereitstellen von Installations-RPMs und Konfigurationsdateien verwendet. Lassen Sie also das NFS-Setup auf diesem Computer mit dem /tftpboot-Verzeichnis in der exportierten Liste. Sie können die „autoyast“-Option mit der autoyast-Konfigurationsdatei hinzufügen, um die Installationsschritte des Betriebssystems zu automatisieren, andernfalls müssen Sie die Installationsschritte manuell ausführen.

Schritt 6:Ändern Sie den Eigentümer und die Berechtigung für das /tftpboot-Verzeichnis

Weise niemand:nobody dem Verzeichnis /tftpboot zu.

# chown nobody:nobody /tftpboot

# chmod 777 /tftpboot

Schritt 7:Ändern Sie /etc/dhcpd.conf

Ändern Sie /etc/dhcpd.conf wie unten gezeigt.

# cat /etc/dhcpd.conf

ddns-update-style none;
default-lease-time 14400;
filename "pxelinux.0"; 

# IP address of the dhcp server nothing but this machine.
next-server 192.168.1.101;
subnet 192.168.1.0 netmask 255.255.255.0 {
  # ip distribution range between 192.168.1.1 to 192.168.1.100
  range 192.168.1.1 192.168.1.100;
  default-lease-time 10;
  max-lease-time 10;
}

Geben Sie die Schnittstelle in /etc/syslinux/dhcpd an, um DHCP-Anfragen von Clients abzuhören.

# cat /etc/syslinux/dhcpd | grep DHCPD_INTERFACE
DHCPD_INTERFACE=”eth1”;

Hier hat dieser Computer die IP-Adresse 192.168.1.101 auf dem eth1-Gerät. Geben Sie also eth1 für DHCPD_INTERFACE an, wie oben gezeigt.

Beachten Sie in diesem Zusammenhang unseren früheren Artikel über 7 Beispiele zur Konfiguration der Netzwerkschnittstelle mit ifconfig.

Schritt 8:Ändern Sie /etc/xinetd.d/tftp

Ändern Sie die Datei /etc/xinetd.d/tftp, um Folgendes widerzuspiegeln. Standardmäßig ist der Wert für den Deaktivierungsparameter „yes“, stellen Sie bitte sicher, dass Sie ihn auf „no“ ändern, und Sie müssen den server_args-Eintrag auf -s /tftpboot ändern.

# cat /etc/xinetd.d/tftp
	service tftp {
                       socket_type     = dgram
                       protocol          = udp
                       wait               = yes
                       user               = root
                       server            = /usr/sbin/in.tftpd
                       server_args     = -s /tftpboot
                       disable           = no
            }

Schritt 9:Keine Änderungen in /etc/xinetd.conf

Die Datei etc/xinetd.conf muss nicht geändert werden. Verwenden Sie die in der Datei xinetd.conf angegebenen Standardwerte.

Schritt 10:Starten Sie die xinetd-, dhcpd- und nfs-Dienste neu

Starten Sie diese Dienste wie unten gezeigt neu.

# /etc/init.d/xinetd restart

# /etc/init.d/dhcpd restart

# /etc/init.d/nfsserver restart

Nach dem Neustart der NFS-Dienste können Sie die exportierte Verzeichnisliste (/tftpboot) mit dem folgenden Befehl anzeigen:

# showmount -e

Schließlich ist das tftpboot-Setup fertig und jetzt kann der Client-Rechner gebootet werden, nachdem das erste Boot-Gerät als „Netzwerk“ in den BIOS-Einstellungen geändert wurde.

Wenn Sie auf einen tftp-Fehler stoßen, können Sie die Fehlerbehebung durchführen, indem Sie einige Dateien über den tftpd-Dienst abrufen.

Rufen Sie eine Datei vom TFTP-Server ab, um sicherzustellen, dass der TFTP-Dienst mit dem TFTP-Client ordnungsgemäß funktioniert. Nehmen wir an, dass die Datei sample.txt im Verzeichnis /tftpboot vorhanden ist.

 $ tftp -v 192.168.1.101 -c get sample.txt

Linux
  1. Entwickeln Sie Netzwerkanwendungen für ESP8266 mit Mongoose unter Linux

  2. 15 Linux-Härtungsschritte für CentOS 7 Server

  3. Verwenden von Tcpdump zum Protokollieren aller Netzwerkaktivitäten, die über einen Router-Server laufen?

  4. Wie konfiguriere ich Qt für die Cross-Kompilierung von Linux auf das Windows-Ziel?

  5. So greifen Sie vom lokalen Netzwerk aus auf den Webserver zu, der auf WSL (Windows Subsystem for Linux) ausgeführt wird

Verwenden von ifstat für Linux-Netzwerkstatistiken

Graylog-Überwachungsserver unter Ubuntu Linux für Überwachungsserver/-dienste

So installieren und konfigurieren Sie die CSF-Firewall für Linux

9 Schritte zum Installieren und Konfigurieren von PostgreSQL aus der Quelle unter Linux

BlackBerry SSH-Lernprogramm:Herstellen einer Verbindung mit Unix-Server mithilfe von MidpSSH für mobile Geräte

4 einfache Schritte zum Installieren und Konfigurieren von VMware Server 2 unter Linux