Namestite več distribucij Linuxa z uporabo omrežnega zagona PXE na RHEL/CentOS 8


PXE Server - Preboot eXecution Environment je standardizirana odjemalsko-strežniška arhitektura, ki odjemalskemu sistemu naroči zagon, zagon ali namestitev več operacijskih sistemov Linux z uporabo omrežnega vmesnika, ki podpira PXE, v vaši omrežni infrastrukturi.

    • Namestitev strežnika CentOS 8 Minimal
    • Namestitev strežnika RHEL 8 Minimal
    • Konfigurirajte statični naslov IP v RHEL/CentOS 8

    V tem članku boste izvedeli, kako namestiti in konfigurirati omrežni zagonski strežnik PXE na CentOS/RHEL 8 z zrcalnimi lokalnimi namestitvenimi repozitoriji, ki jih zagotavljata CentOS 8 in RHEL 8 ISO Images.

    Za to nastavitev omrežnega zagona PXE bomo v sistem namestili naslednje pakete:

    • DNSMASQ - lahek posrednik DNS, ki ponuja storitve DNS in DHCP s podporo za PXE in strežnik TFTP.
    • Syslinux - zagonski nalagalnik Linuxa, ki zagotavlja zagonske nalagalnike za zagon omrežja.
    • TFTP strežnik - preprost protokol za prenos datotek, ki ustvarja zagonske slike, ki jih je mogoče prenesti prek omrežja.
    • Strežnik VSFTPD - varen protokol za prenos datotek, ki bo gostil lokalno nameščeno zrcalno sliko DVD-ja - ki bo deloval kot uradno skladišče za namestitev ogledal RHEL/CentOS 8, od koder bo namestitveni program odnesel zahtevane pakete.

    1. korak: Namestite in konfigurirajte strežnik DNSMASQ

    1. Pomembno vas je opozoriti, da mora biti eden od vaših omrežnih vmesnikov konfiguriran s statičnim naslovom IP iz istega obsega omrežja IP, ki zagotavlja storitve PXE.

    Ko konfigurirate statični naslov IP, posodobite sistemske programske pakete in namestite demon DNSMASQ.

    # dnf install dnsmasq
    

    2. Ko je DNSMASQ nameščen, najdete njegovo privzeto konfiguracijsko datoteko v imeniku /etc/dnsmasq.conf , ki je sam po sebi razumljiv, vendar težje nastavljiv zaradi zelo komentiranih razlag.

    Najprej si vzemite varnostno kopijo te datoteke, če jo boste morda potrebovali za poznejši pregled, nato pa z najljubšim urejevalnikom ustvarite novo konfiguracijsko datoteko, kot je prikazano.

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

    3. Zdaj kopirajte in prilepite naslednje konfiguracije v datoteko /etc/dnsmasq.conf in spremenite konfiguracijske parametre glede na omrežne nastavitve.

    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
    

    Upoštevajo se konfiguracijski stavki, ki jih morate spremeniti:

    • vmesnik - omrežni vmesniki strežnika bi morali poslušati in zagotavljati storitve.
    • bind-vmesniki - odznačite, če želite vmesnik vezati na določeno omrežno kartico.
    • domena - zamenjajte jo z imenom domene.
    • dhcp-range - spremenite ga z omrežnim obsegom IP.
    • dhcp-boot - zamenjajte ga z naslovom IP vašega omrežnega vmesnika.
    • dhcp-option = 3,192.168.1.1 - Zamenjajte ga s svojim omrežnim prehodom.
    • dhcp-option = 6,92.168.1.1 - Zamenjajte ga z IP-jem strežnika DNS.
    • strežnik = 8.8.4.4 - Dodajte naslove IP-jev za posrednike DNS.
    • dhcp-option = 28,10.0.0.255 - Po želji ga nadomestite z naslovom IP vašega omrežja.
    • dhcp-option = 42,0.0.0.0 -Dodajte svoje omrežne časovne strežnike (0.0.0.0 Naslov je za samodejno sklicevanje).
    • pxe-prompt - naj bo privzeto.
    • pxe = storitev - uporabite x86PC za 32-bitne/64-bitne arhitekture in pod narekovaji nizov dodajte poziv za opis menija.
    • enable-tftp - Omogoča vgrajeni strežnik TFTP.
    • tftp-root - dodajte datoteke z omrežnimi zagonskimi datotekami location/var/lib/tftpboot.

    Za druge napredne možnosti v zvezi s konfiguracijskimi datotekami preberite priročnik dnsmasq.

    2. korak: Namestite zagonske nalagalnike SYSLINUX

    4. Po končani glavni konfiguraciji DNSMASQ namestite zagonski paket Syslinx PXE z naslednjim ukazom.

    # dnf install syslinux
    

    5. Nalagalniki Syslinx PXE so nameščeni pod /usr/share/syslinux , to lahko potrdite z zagonom ukaza ls, kot je prikazano.

    # ls /usr/share/syslinux
    

    3. korak: Namestite strežnik TFTP in ga kopirajte z zagonskimi nalagalniki SYSLINUX

    6. Zdaj namestite strežnik TFTP in kopirajte vse zagonske nalagalnike Syslinux iz /usr/share/syslinux/ v /var/lib/tftpboot , kot je prikazano.

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

    4. korak: Nastavite konfiguracijsko datoteko strežnika PXE

    7. Strežnik PXE privzeto bere svojo konfiguracijo iz nabora določenih datotek, najdenih v pxelinux.cfg , ki jih je treba najti v imeniku, opisanem v nastavitvi tftp-root iz zgornje konfiguracijske datoteke DNSMASQ .

    Najprej ustvarite imenik pxelinux.cfg in ustvarite privzeto datoteko z izdajo naslednjih ukazov.

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

    8. Zdaj odprite in uredite konfiguracijsko datoteko PXE privzeto s pravilnimi možnostmi namestitve distribucije Linuxa. Ne pozabite tudi, da morajo biti poti, nastavljene v tej datoteki, relativne do imenika /var/lib/tftpboot .

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

    Spodaj je primer konfiguracijske datoteke, ki jo lahko uporabite, vendar ne pozabite spremeniti namestitvenih slik, protokolov in IP-jev, da bodo ustrezno odražali vaše izvorne repozitorije in lokacije omrežne namestitve.

    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
    

    V zgornji konfiguraciji lahko opazite, da se zagonske slike CentOS 8 (jedro in initrd) nahajajo v imeniku centos7 glede na /var/lib/tftpboot (tj. /var/lib/tftpboot/centos7 ) in do skladišč namestitvenih programov je mogoče dostopati s protokolom FTP na 192.168.1.2/pub (naslov IP strežnika PXE).

    Poleg tega menijska oznaka 2 opisuje uradna odlagališča zrcalnih virov namestitvenih virov CentOS 8 (internetna povezava mora biti v odjemalskem sistemu) in menijska oznaka 3 opisuje, da je treba namestitev odjemalca izvesti prek oddaljenega VNC (tukaj zamenjajte geslo VNC z močnim geslom).

    Pomembno: Kot vidite v zgornji konfiguraciji, smo za predstavitvene namene uporabili sliko CentOS 8, lahko pa uporabite tudi slike RHEL 8.

    5. korak: Dodajte zagonske slike CentOS 8 v strežnik PXE

    9. Če želite slike CentOS 8 dodati v strežnik PXE, morate ukaz wget in ga pritrditi.

    # 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. Ko prenesete CentOS 8, morate ustvariti imenik centos7 in kopirati zagonsko jedro in slike initrd.

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

    Razlog za tak pristop je v tem, da lahko pozneje imate ločene imenike za vsako novo distribucijo Linuxa pod /var/lib/tftpboot , ne da bi zamotili celotno strukturo imenikov.

    6. korak: Ustvarite vir namestitve CentOS 8 Local Mirror

    11. Obstajajo številni protokoli (HTTP, HTTPS ali NFS), ki so na voljo za nastavitev zrcal lokalnega namestitvenega vira CentOS 8, vendar sem izbral protokol FTP, ker ga je enostavno nastaviti s strežnikom vsftpd.

    Namestite strežnik Vsftpd in kopirajte vso vsebino DVD-ja CentOS 8 v imenik FTP /var/ftp/pub , kot je prikazano.

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

    12. Zdaj, ko je vsa konfiguracija strežnika PXE končana, lahko zaženete, omogočite in preverite stanje strežnikov DNSMASQ in VSFTPD.

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

    13. Nato morate na požarnem zidu odpreti vrata, da bodo odjemalski sistemi dosegli in se zagnali s strežnika PXE.

    # 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. Če želite preveriti omrežno lokacijo namestitve FTP, odprite brskalnik in vnesite naslov IP strežnika PXE s protokolom FTP, ki mu sledi /pub omrežna lokacija.

    ftp://192.168.1.2/pub
    

    7. korak: Konfigurirajte odjemalce za zagon iz omrežja

    15. Zdaj konfigurirajte odjemalske sisteme za zagon in namestitev CentOS 8 v njihove sisteme, tako da konfigurirate Network Boot kot glavno zagonsko napravo v meniju BIOS.

    Po zagonu sistema se prikaže poziv PXE, kjer morate za vstop v predstavitev pritisniti tipko F8 in nato pritisniti tipko Enter za nadaljevanje v meni PXE.

    To je vse za nastavitev minimalnega strežnika PXE na CentOS/RHEL 8.