Astelle vun engem PXE Network Boot Server fir Multiple Linux Verdeelungsinstallatiounen an RHEL/CentOS 7


PXE Server - Preboot eXecution Environment - instruéiert e Client Computer fir en Betribssystem ze booten, auszeféieren oder z'installéieren direkt vun engem Netzwierk Interface, eliminéiert d'Noutwendegkeet fir eng CD/DVD ze verbrennen oder e kierperlecht Medium ze benotzen, oder, kann d'Aarbecht erliichteren fir Linux Verdeelungen op Ärer Netzwierkinfrastruktur op verschidde Maschinnen zur selwechter Zäit z'installéieren.

  1. CentOS 7 Minimal Installatiounsprozedur
  2. RHEL 7 Minimal Installatiounsprozedur
  3. Statesch IP Adress konfiguréieren an RHEL/CentOS 7
  4. Onerwënscht Servicer an RHEL/CentOS 7 läschen
  5. Installéiert den NTP Server fir d'korrekt Systemzäit an RHEL/CentOS 7 ze setzen

Dësen Artikel erklärt wéi Dir en PXE Server op RHEL/CentOS 7 x64-Bit installéiere kënnt a konfiguréieren mat gespigelten lokalen Installatiounsrepositories, Quelle geliwwert vum CentOS 7 DVD ISO Bild, mat der Hëllef vum DNSMASQ Server.

Wat DNS an DHCP Servicer ubitt, Syslinux Package deen Bootloader fir Netzwierkbooten ubitt, TFTP-Server, wat mécht bootbar Biller verfügbar fir iwwer Netz erofzelueden mat Trivial File Transfer Protocol (TFTP) an VSFFTPD Server, deen de lokal montéierte gespigelten DVD-Bild hält - deen als offiziell RHEL handelt/CentOS 7 Spigelinstallatiounsrepository vu wou den Installateur seng erfuerderlech Packagen extrahéiert.

Schrëtt 1: Installéieren a konfiguréieren DNSMASQ Server

1. Kee Grond fir Iech z'erënneren, datt absolut verlaangt, datt ee vun Äre Reseau Kaart Interface, am Fall Är Server méi NICs poséiert, muss mat enger statesch IP Adress aus der selwechter IP Gamme konfiguréiert ginn, datt zu der Reseau Segment gehéiert, datt PXE gëtt. Servicer.

Also, nodeems Dir Är statesch IP Adress konfiguréiert hutt, Äre System aktualiséiert an aner initial Astellunge gemaach hutt, benotzt de folgende Kommando fir DNSMASQ Daemon z'installéieren.

# yum install dnsmasq

2. DNSMASQ Haaptfaarf Konfiguratiounsdatei, déi am /etc Verzeichnis läit, ass selbstverständlech awer wëlles zimmlech schwéier z'änneren, maacht mat sengen héich kommentéierten Erklärungen.

Vergewëssert Iech als éischt datt Dir dës Datei backup hutt am Fall wou Dir se spéider iwwerpréift musst an dann eng nei eidel Konfiguratiounsdatei erstellen mat Ärem Liiblingstexteditor andeems Dir déi folgend Kommandoen ausgëtt.

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

3. Elo, kopéiert a paste déi folgend Konfiguratiounen op dnsmasq.conf Datei a vergewëssert Iech datt Dir déi hei ënnen erkläert Aussoen ännert fir Är Netzwierkastellungen entspriechend ze passen.

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
# DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
# PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
# Gateway
dhcp-option=3,192.168.1.1
# DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
# Broadcast Address
dhcp-option=28,10.0.0.255
# NTP Server
dhcp-option=42,0.0.0.0

pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

D'Aussoen, déi Dir musst änneren, sinn déi folgend:

  1. Interface – Schnëttplazen déi de Server soll nolauschteren a Servicer ubidden.
  2. Bind-Schnëttplazen - Kommentéieren fir nëmmen op dësem Interface ze binden.
  3. Domain - Ersetzt et mat Ärem Domain Numm.
  4. dhcp-range - Ersetzt se mat IP-Beräich definéiert vun Ärer Netzwierkmask op dësem Segment.
  5. dhcp-boot - Ersetzt d'IP Ausso mat Ärer Interface IP Adress.
  6. dhcp-option=3,192.168.1.1 - Ersetzt d'IP Adress mat Ärem Netzsegment Gateway.
  7. dhcp-option=6,92.168.1.1 - Ersetzen d'IP Adress mat Ärem DNS Server IP - verschidde DNS IPe kënnen definéiert ginn.
  8. Server=8.8.4.4 – Setzt Är DNS Forwarder IPs Adressen.
  9. dhcp-option=28,10.0.0.255 - Ersetzen d'IP Adress mat Netzwierk Broadcast Adress -optional.
  10. dhcp-option=42,0.0.0.0 – Setzt Är Netzwierkzäitserver – optional (0.0.0.0 Adress ass fir Selbstreferenz).
  11. pxe-prompt - Loosst et als Standard - heescht F8 Schlëssel ze schloen fir de Menü 60 mat Sekonnen Waardezäit anzeginn..
  12. pxe=service - Benotzt x86PC fir 32-Bit/64-Bit Architekturen a gitt e Menübeschreiwungsprompt ënner String Zitater. Aner Wäertertypen kënnen sinn: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI an X86-64_EFI.
  13. enable-tftp – Aktivéiert den agebauten TFTP Server.
  14. tftp-root - Benotzt /var/lib/tftpboot - d'Plaz fir all Netbootdateien.

Fir aner fortgeschratt Optiounen betreffend Konfiguratiounsdatei fille sech gratis dnsmasq Handbuch ze liesen.

Schrëtt 2: Installéiert SYSLINUX Bootloaders

4. Nodeems Dir DNSMASQ Haaptkonfiguratiounsdatei geännert a gespäichert hutt, gitt vir a installéiere Syslinx PXE Bootloader Package andeems Dir de folgende Kommando ausginn.

# yum install syslinux

5. D'PXE Bootloader-Dateien wunnen am /usr/share/syslinux absolute Systemwee, sou datt Dir et iwwerpréift andeems Dir dëse Weeinhalt oplëscht. Dëse Schrëtt ass fakultativ, awer Dir musst vläicht dëse Wee bewosst sinn, well um nächste Schrëtt wäerte mir all säin Inhalt op de TFTP Server Wee kopéieren.

# ls /usr/share/syslinux

Schrëtt 3: Installéiert TFTP-Server a populéiert et mat SYSLINUX Bootloaders

6. Loosse mer elo op de nächste Schrëtt réckelen an TFTP-Server installéieren an dann all Bootloder-Dateien, déi vum Syslinux Package geliwwert ginn, vun der uewe genannter Plaz op /var/lib/tftpboot kopéieren. b> Wee duerch déi folgend Kommandoen ausginn.

# yum install tftp-server
# cp -r /usr/share/syslinux/* /var/lib/tftpboot

Schrëtt 4: Setup PXE Server Configuratiounsdatei

7. Normalerweis liest de PXE Server seng Konfiguratioun aus enger Grupp vu spezifesche Dateien (GUID Dateien - éischt, MAC Dateien - nächst, Standard Datei - lescht) an engem Dossier mam Numm pxelinux.cfg gehost, deen am Verzeechnes muss sinn an der tftp-root Ausso vun der DNSMASQ Haaptkonfiguratiounsdatei spezifizéiert. .

Erstellt den erfuerderlechen Verzeichnis pxelinux.cfg a populéiert se mat enger Standard Datei andeems Dir déi folgend Kommandoen ausginn.

# mkdir /var/lib/tftpboot/pxelinux.cfg
# touch /var/lib/tftpboot/pxelinux.cfg/default

8. Elo ass et Zäit fir PXE Server Konfiguratiounsdatei mat gëltege Linux Verdeelungsinstallatiounsoptiounen z'änneren. Notéiert och datt all Weeër, déi an dëser Datei benotzt ginn, musse relativ zum /var/lib/tftpboot Verzeechnes sinn.

Hei drënner kënnt Dir e Beispill Konfiguratiounsdatei gesinn, datt Dir se benotze kënnt, awer änneren d'Installatiounsbiller (Kernel an initrd Dateien), Protokoller (FTP, HTTP, HTTPS, NFS) an IPs fir Är Netzwierkinstallatiounsquellrepositories a Weeër entspriechend ze reflektéieren.

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

Füügt de folgenden ganzen Auszuch an d'Datei.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

Wéi Dir kënnt gesinn CentOS 7 Bootbiller (Kernel an initrd) wunnen an engem Verzeichnis mam Numm centos7 relativ zu /var/lib/tftpboot (op engem absolute Systemwee géif dat heeschen /var/lib/tftpboot/centos7) an d'Installateur Repositories kënnen erreecht ginn andeems Dir FTP Protokoll op 192.168.1.20/pub Netzwierkplaz benotzt - an dësem Fall sinn d'Repos lokal gehost well d'IP Adress d'selwecht ass wéi d'PXE Server Adress).

Och Menü Label 3 spezifizéiert datt d'Clientinstallatioun vun enger Fernplaz iwwer VNC gemaach soll ginn (hei ersetzt VNC Passwuert mat engem staarke Passwuert) am Fall wou Dir op engem headless Client installéiert an de Menü Label 2 spezifizéiert als
Installatioun Quellen engem CentOS 7 offiziellen Internet Spigel (dëse Fall erfuerdert eng Internetverbindung verfügbar um Client iwwer DHCP an NAT).

Wichteg: Wéi Dir an der uewe genannter Konfiguratioun gesitt, hu mir CentOS 7 fir Demonstratiounszwecker benotzt, awer Dir kënnt och RHEL 7 Biller definéieren, a folgend ganz Instruktiounen a Konfiguratiounen baséieren nëmmen op CentOS 7, also sidd virsiichteg wann Dir d'Verdeelung wielt.

Schrëtt 5: Füügt CentOS 7 Boot Biller op PXE Server

9. Fir dëse Schrëtt sinn CentOS Kernel an initrd Dateien erfuerderlech. Fir dës Dateien ze kréien, brauch Dir de CentOS 7 DVD ISO Bild. Also, gitt vir a luet CentOS DVD Image erof, setzt se an Ärem DVD-Laufwerk a montéiert d'Bild op /mnt Systemwee andeems Dir de Kommando hei ënnen ausgitt.

De Grond fir d'DVD ze benotzen an net e Minimal CD Image ass de Fakt datt spéider dësen DVD Inhalt benotzt gëtt fir d'
lokal Installateur Repositories fir FTP Quellen.

# mount -o loop /dev/cdrom  /mnt
# ls /mnt

Wann Är Maschinn keen DVD-Laufwerk huet, kënnt Dir och CentOS 7 DVD ISO lokal mat wget oder curl Utilities vun engem CentOS Spigel eroflueden a montéieren.

# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
# mount -o loop /path/to/centos-dvd.iso  /mnt

10. Nodeems den DVD Inhalt verfügbar ass, erstellt de centos7 Verzeichnis a kopéiert CentOS 7 bootbar Kernel an initrd Biller vun der DVD montéierter Plaz op d'centos7 Ordner Struktur.

# mkdir /var/lib/tftpboot/centos7
# cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
# cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7

De Grond fir dës Approche ze benotzen ass datt Dir spéider nei getrennte Verzeichnisser am /var/lib/tftpboot Wee erstellt an aner Linux Verdeelungen an de PXE-Menü addéiere kënnt ouni d'ganz Verzeichnisstruktur ze messen.

Schrëtt 6: Erstellt CentOS 7 Lokal Spigel Installatiounsquell

11. Och wann Dir Installatiounsquell Spigelen iwwer eng Vielfalt vu Protokoller wéi HTTP, HTTPS oder NFS konfiguréiere kënnt, fir dëse Guide hunn ech de FTP Protokoll gewielt well ass ganz zouverlässeg an einfach ze konfiguréieren mat der Hëllef vum vsftpd Server.

Installéiert weider vsftpd Daemon, kopéiert all DVD montéierten Inhalt op vsftpd Standard Server Wee (/var/ftp/pub) - dëst kann eng Zäit daueren ofhängeg vun Äre Systemressourcen an bäidréit liesbar Permissiounen op dëse Wee andeems Dir déi folgend Kommandoen ausginn.

# yum install vsftpd
# cp -r /mnt/*  /var/ftp/pub/ 
# chmod -R 755 /var/ftp/pub

Schrëtt 7: Start an aktivéieren Daemons System-Wide

12. Elo datt d'PXE Server Konfiguratioun endlech fäerdeg ass, start DNSMASQ an VSFFTPD Server, verifizéieren hire Status an aktivéiert et systemwäit, fir automatesch unzefänken no all System Neistart, andeems Dir déi ënnen Kommandoen ausféiert.

# systemctl start dnsmasq
# systemctl status dnsmasq
# systemctl start vsftpd
# systemctl status vsftpd
# systemctl enable dnsmasq
# systemctl enable vsftpd

Schrëtt 8: Firewall opmaachen an d'FTP Installatiounsquell testen

13. Fir eng Lëscht vun all Ports ze kréien, déi op Ärer Firewall opgemaach musse sinn fir Client Maschinnen z'erreechen an ze booten vum PXE Server, lafen netstat Kommando a füügt CentOS 7 Firewalld Regelen entspriechend un dnsmasq an vsftpd lauschteren Häfen.

# netstat -tulpn
# firewall-cmd --add-service=ftp --permanent  	## Port 21
# firewall-cmd --add-service=dns --permanent  	## Port 53
# firewall-cmd --add-service=dhcp --permanent  	## Port 67
# firewall-cmd --add-port=69/udp --permanent  	## Port for TFTP
# firewall-cmd --add-port=4011/udp --permanent  ## Port for ProxyDHCP
# firewall-cmd --reload  ## Apply rules

14. Fir FTP Installatioun Source Netzwierk Wee ze testen, öffnen e Browser lokal (Lynx soll et maachen) oder op engem anere Computer a gitt d'IP Adress vun Ärem PXE Server mat
FTP Protokoll gefollegt vun /pub Netzplaz op der URL ofgeschloss an d'Resultat sollt sinn wéi am Screenshot hei ënnendrënner.

ftp://192.168.1.20/pub

15. Fir debug PXE Server fir eventuell misconfigurations oder aner Informatiounen an Diagnos an liewen Modus lafen folgend Kommando.

# tailf /var/log/messages

16. Schlussendlech ass de leschte erfuerderleche Schrëtt deen Dir maache musst ass CentOS 7 DVD unmount an de kierperleche Medium ze läschen.

# umount /mnt

Schrëtt 9: Clienten konfiguréieren fir aus dem Netzwierk ze booten

17. Elo kënnen Är Clienten CentOS 7 op hir Maschinnen booten an installéieren andeems Dir Network Boot als primär Bootgerät aus hirem System BIOS konfiguréiert oder andeems Dir e spezifizéierte Schlëssel wärend BIOS POST Operatiounen dréckt wéi am Motherboard Handbuch spezifizéiert.

Fir Netzwierkbooten ze wielen. Nodeems déi éischt PXE Prompt erschéngt, dréckt F8 Schlëssel fir d'Presentatioun anzeginn an dréckt dann op Enter Schlëssel fir weider an de PXE Menü virzegoen.

18. Wann Dir PXE Menü erreecht hutt, wielt Är CentOS 7 Installatiounstyp, dréckt Enter Schlëssel a fuert weider mat der Installatiounsprozedur op déiselwecht Manéier wéi Dir se vun engem lokalen Medienbootgerät installéiere kënnt.

Notéiert w.e.g. datt d'Benotzung vun der Variant 2 vun dësem Menü eng aktiv Internetverbindung um Zilclient erfuerdert. Och hei ënnen
Screenshots kënnt Dir e Beispill vun enger Client Ferninstallatioun iwwer VNC gesinn.

Dat ass alles fir e minimale PXE Server op CentOS 7 opzestellen. Op mengem nächsten Artikel aus dëser Serie diskutéieren ech aner Themen betreffend dës PXE Server Konfiguratioun wéi wéi Dir automatiséiert Installatiounen vun CentOS 7 opstellt mat Kickstart Dateien an aner Linux Verdeelungen derbäi. op PXE Menu - Ubuntu Server an Debian 7.