Installéiere Multiple Linux Distributiounen Mat PXE Network Boot op RHEL/CentOS 8


PXE Server - Preboot eXecution Environment ass eng standardiséierte Client-Server Architektur déi e Client System instruéiert fir verschidde Linux Betribssystemer ze booten, ze lafen oder z'installéieren mat engem PXE-fähig Netzwierk Interface op Ärer Netzwierkinfrastruktur.

    • Installatioun vum CentOS 8 Minimal Server
    • Installatioun vum RHEL 8 Minimal Server
    • Statesch IP Adress konfiguréieren an RHEL/CentOS 8

    An dësem Artikel léiert Dir wéi Dir e PXE Network Boot Server op CentOS/RHEL 8 installéiert an konfiguréiert mat gespigelten lokalen Installatiounsrepositories, déi vun CentOS 8 an RHEL 8 ISO Biller geliwwert ginn.

    Fir dësen PXE Network Boot Setup installéiere mir folgend Packagen um System:

    • DNSMASQ - e liichte DNS Forwarder deen en DNS an DHCP Servicer mat Ënnerstëtzung fir PXE an engem TFTP Server ubitt.
    • Syslinux - e Linux Bootloader deen Bootloader fir Netzwierkbooten ubitt.
    • TFTP-Server - en einfache Lockstep-Dateitransferprotokoll deen bootbar Biller erstellt, déi verfügbar sinn fir iwwer en Netzwierk erofzelueden.
    • VSFFTPD Server - e séchere Dateietransferprotokoll deen dat lokalt montéiert gespigelten DVD-Bild hält - deen als offiziellen RHEL/CentOS 8 Spigelinstallatiounsrepository handelt, vu wou den Installateur seng erfuerderlech Packagen eraushëlt.

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

    1. Et ass wichteg ze drun erënneren, datt ee vun Äre Reseau Schnëttplazen muss mat enger statesch IP Adress vun der selwechter Reseau IP Gamme konfiguréiert ginn, datt PXE Servicer gëtt.

    Wann Dir eng statesch IP Adress konfiguréiert hutt, update Är System Software Packagen an installéiert den DNSMASQ Daemon.

    # dnf install dnsmasq
    

    2. Wann DNSMASQ installéiert ass, fannt Dir seng Standardkonfiguratiounsdatei ënner /etc/dnsmasq.conf Verzeichnis, wat selbstverständlech ass, awer méi schwéier ze konfiguréieren, duerch seng héich kommentéiert Erklärungen.

    Als éischt, gitt sécher e Backup vun dëser Datei ze huelen am Fall wou Dir se braucht fir spéider ze iwwerpréiwen an dann eng nei Konfiguratiounsdatei erstellen mat Ärem Liiblingseditor wéi gewisen.

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

    3. Elo, kopéiert a paste déi folgend Konfiguratiounen op /etc/dnsmasq.conf Datei an ännert d'Konfiguratiounsparameter no Ären Netzwierkastellungen.

    interface=enp0s3,lo
    #bind-interfaces
    domain=tecmint
    # DHCP range-leases
    dhcp-range= enp0s3,192.168.1.3,192.168.1.253,255.255.255.0,1h
    # PXE
    dhcp-boot=pxelinux.0,pxeserver,192.168.1.2
    # 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 8 from network server 192.168.1.2", pxelinux
    enable-tftp
    tftp-root=/var/lib/tftpboot
    

    D'Konfiguratiounsaussoen, déi Dir musst änneren, ginn gefollegt:

    • Interface - En Netzwierk Interface vum Server soll nolauschteren a Servicer ubidden.
    • Bind-Interfaces - Unkommentéieren fir den Interface un eng bestëmmten Netzwierkkaart ze binden.
    • Domain - Ersetzt et mat Ärem Domain Numm.
    • dhcp-range - Ännert et mat Ärem Netzwierk IP-Beräich.
    • dhcp-boot - Ersetzt et mat Ärer Netzwierk-Interface IP Adress.
    • dhcp-option=3,192.168.1.1 - Ersetzt se mat Ärem Netzwierk Gateway.
    • dhcp-option=6,92.168.1.1 - Ersetzt se mat Ärem DNS Server IP.
    • Server=8.8.4.4 - Füügt Är DNS Forwarder IPs Adressen un.
    • dhcp-option=28,10.0.0.255 - Ersetzen se optional mat Ärer Netzwierk Sendung IP Adress.
    • dhcp-option=42,0.0.0.0 -Füügt Är Netzwierkzäitserver (0.0.0.0 Adress ass fir Selbstreferenz).
    • pxe-Prompt - Halt et als Standard.
    • pxe=service - Benotzt x86PC fir 32-Bit/64-Bit Architekturen a füügt e Menübeschreiwungsprompt ënner String Zitater.
    • enable-tftp - Aktivéiert den agebauten TFTP Server.
    • tftp-root - Füügt Netzwierk Bootdateien Location /var/lib/tftpboot.

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

    Schrëtt 2: Installéiert SYSLINUX Bootloaders

    4. No der DNSMASQ Haaptkonfiguratioun gemaach, installéiert de Syslinx PXE Bootloader Package mat dem folgenden Kommando.

    # dnf install syslinux
    

    5. D'Syslinx PXE Bootloader ginn ënner /usr/share/syslinux installéiert, Dir kënnt et bestätegen andeems Dir de ls Kommando ausféiert wéi se gewisen.

    # ls /usr/share/syslinux
    

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

    6. Installéiert elo TFTP-Server a kopéiert all Syslinux Bootloader vun /usr/share/syslinux/ op /var/lib/tftpboot wéi gewisen.

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

    Schrëtt 4: Setup PXE Server Configuratiounsdatei

    7. Par défaut liest de PXE Server seng Konfiguratioun aus enger Rei vu spezifesche Dateien, déi an pxelinux.cfg fonnt goufen, déi am Verzeechnes fonnt ginn, deen an der tftp-root-Astellung vun der DNSMASQ Konfiguratiounsdatei hei uewen beschriwwe gëtt. .

    Als éischt erstellt e pxelinux.cfg Verzeichnis an erstellt eng Standard Datei andeems Dir déi folgend Kommandoen ausgëtt.

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

    8. Elo oppen an änneren PXE Standard Konfiguratiounsdatei mat korrekt Linux Verdeelungsinstallatiounsoptiounen. Vergewëssert Iech och drun ze erënneren datt d'Weeër, déi an dëser Datei gesat ginn, musse relativ zum /var/lib/tftpboot Verzeechnes sinn.

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

    Déi folgend ass eng Beispill Konfiguratiounsdatei déi Dir benotze kënnt, awer vergewëssert Iech d'Installatiounsbiller, Protokoller an IPs z'änneren fir Är Netzwierkinstallatiounsquell Repositories a Plazen deementspriechend ze reflektéieren.

    default menu.c32
    prompt 0
    timeout 300
    ONTIMEOUT local
    
    menu title ########## PXE Boot Menu ##########
    
    label 1
    menu label ^1) Install CentOS 8 x64 with Local Repo
    kernel centos8/vmlinuz
    append initrd=centos7/initrd.img method=ftp://192.168.1.2/pub devfs=nomount
    
    label 2
    menu label ^2) Install CentOS 8 x64 with http://mirror.centos.org Repo
    kernel centos8/vmlinuz
    append initrd=centos8/initrd.img method=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp
    
    label 3
    menu label ^3) Install CentOS 8 x64 with Local Repo using VNC
    kernel centos8/vmlinuz
    append  initrd=centos8/initrd.img method=ftp://192.168.1.2/pub devfs=nomount inst.vnc inst.vncpassword=password
    
    label 4
    menu label ^4) Boot from local drive
    

    An der uewe genannter Konfiguratioun kënnt Dir bemierken datt d'CentOS 8 Bootbiller (Kernel an initrd) an engem centos7 Verzeichnis relativ zu /var/lib/tftpboot wunnen (dh /var/lib/tftpboot) /centos7) an d'Installateur Repositories kënnen zougänglech sinn andeems Dir de FTP Protokoll op 192.168.1.2/pub (IP Adress vum PXE Server) benotzt.

    Och de Menülabel 2 beschreift offiziell CentOS 8 Installatiounsquellen Spigelrepositories (Internetverbindung ass muss um Client System) an Menü Label 3 beschreift datt d'Clientinstallatioun soll gemaach ginn iwwer e Remote VNC (hei ersetzt VNC Passwuert mat engem staarke Passwuert).

    Wichteg: Wéi Dir an der uewe genannter Konfiguratioun gesitt, hu mir CentOS 8 Bild fir Demonstratiounszwecker benotzt, awer Dir kënnt och RHEL 8 Biller benotzen.

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

    9. Fir CentOS 8 Biller op PXE Server ze addéieren, musst Dir wget Kommando a montéieren.

    # wget http://centos.mirrors.estointernet.in/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-dvd1.iso
    # mount -o loop CentOS-8.2.2004-x86_64-dvd1.iso /mnt
    

    10. Wann Dir CentOS 8 erofgelueden hutt, musst Dir e centos8 Verzeechnes erstellen a bootbar Kernel an initrd Biller kopéieren.

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

    De Grond hannert dëser Approche ass datt Dir spéider separat Verzeichnisser fir all nei Linux Verdeelungen ënner /var/lib/tftpboot hutt ouni déi ganz Verzeechnesstruktur ze messen.

    Schrëtt 6: Erstellt CentOS 8 Lokal Spigel Installatiounsquell

    11. Et gi verschidde Protokoller (HTTP, HTTPS oder NFS) déi verfügbar sinn fir CentOS 8 lokal Installatiounsquelle Spigelen opzestellen, awer ech hunn de FTP-Protokoll gewielt well et einfach ass mat vsftpd-Server opzestellen.

    Loosst eis Vsftpd Server installéieren a kopéieren all den CentOS 8 DVD Inhalter an FTP Verzeechnes /var/ftp/pub wéi gewisen.

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

    12. Elo datt all d'PXE Server Konfiguratioun fäerdeg ass, kënnt Dir de Status vun DNSMASQ a VSFTPD Server starten, aktivéieren a verifizéieren.

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

    13. Als nächst musst Dir Ports op Ärer Firewall opmaachen, fir datt Client Systemer vum PXE Server erreechen an booten.

    # 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 d'FTP Installatioun Quell Reseau Location z'iwwerpréiwen, oppen Äre Browser an Typ der PXE Server IP Adress mat der FTP Protokoll gefollegt vun /pub Netz Location.

    ftp://192.168.1.2/pub
    

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

    15. Elo konfiguréieren Client Systemer fir ze booten an z'installéieren CentOS 8 op hire Systemer andeems Dir Network Boot als Prime Boot Apparat vum BIOS Menu konfiguréiert.

    No Systembooten, kritt Dir eng PXE-Prompt, wou Dir musst drécken F8 Schlëssel fir d'Presentatioun anzeginn an dann dréckt Enter Schlëssel fir weider an de PXE Menü ze goen.

    Dat ass alles fir e minimale PXE Server op CentOS/RHEL 8 opzestellen.