Instalējiet vairākus Linux izplatījumus, izmantojot PXE tīkla sāknēšanu RHEL/CentOS 8


PXE Server - Preboot eXecution Environment ir standartizēta klienta-servera arhitektūra, kas klienta sistēmai uzdod sāknēt, palaist vai instalēt vairākas Linux operētājsistēmas, izmantojot tīkla infrastruktūru, kas spēj PXE.

    • CentOS 8 Minimal Server instalēšana
    • RHEL 8 Minimal Server instalēšana
    • Konfigurējiet statisko IP adresi RHEL/CentOS 8

    Šajā rakstā jūs uzzināsit, kā instalēt un konfigurēt PXE tīkla sāknēšanas serveri CentOS/RHEL 8 ar spoguļotām vietējo instalāciju krātuvēm, ko nodrošina CentOS 8 un RHEL 8 ISO Images.

    Šajā PXE tīkla sāknēšanas sistēmā mēs instalēsim šādus pakotnes:

    • DNSMASQ - viegls DNS ekspeditors, kas nodrošina DNS un DHCP pakalpojumus ar PXE un TFTP servera atbalstu.
    • Syslinux - Linux sāknēšanas iekrāvējs, kas nodrošina sāknēšanas iekrāvējus tīkla sāknēšanai.
    • TFTP serveris - vienkāršs faila pārsūtīšanas protokols, kas izveido sāknējamus attēlus, kurus var lejupielādēt, izmantojot tīklu.
    • VSFTPD serveris - drošs failu pārsūtīšanas protokols, kurā mitinās lokāli piestiprinātais spoguļattēla DVD attēls - kas darbosies kā oficiālais RHEL/CentOS 8 spoguļu instalācijas repozitorijs, no kura instalētājs izņems nepieciešamās pakotnes.

    1. darbība: instalējiet un konfigurējiet DNSMASQ serveri

    1. Ir svarīgi atgādināt, ka vienai no jūsu tīkla saskarnēm ir jākonfigurē statiska IP adrese no tā paša tīkla IP diapazona, kas nodrošina PXE pakalpojumus.

    Kad esat konfigurējis statisku IP adresi, atjauniniet sistēmas programmatūras pakotnes un instalējiet dēmonu DNSMASQ.

    # dnf install dnsmasq
    

    2. Kad DNSMASQ ir instalēts, tā noklusējuma konfigurācijas failu atradīsit direktorijā /etc/dnsmasq.conf , kas ir pašsaprotams, bet grūtāk konfigurējams tā komentēto skaidrojumu dēļ.

    Vispirms pārliecinieties, ka esat veicis šī faila dublējumu, ja jums tas var būt nepieciešams pārskatīšanai vēlāk, un pēc tam izveidojiet jaunu konfigurācijas failu, izmantojot savu iecienīto redaktoru, kā parādīts.

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

    3. Tagad failā /etc/dnsmasq.conf nokopējiet un ielīmējiet šādas konfigurācijas un mainiet konfigurācijas parametrus atbilstoši tīkla iestatījumiem.

    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
    

    Tiek ievēroti konfigurācijas paziņojumi, kas jums jāmaina:

    • saskarne - servera tīkla saskarnēm vajadzētu klausīties un sniegt pakalpojumus.
    • iesiešanas saskarnes - noņemiet komentāru, lai saistītu saskarni ar noteiktu tīkla karti.
    • domēns - aizstājiet to ar sava domēna nosaukumu.
    • dhcp-range - mainiet to atbilstoši sava tīkla IP diapazonam.
    • dhcp-boot - aizstājiet to ar tīkla saskarnes IP adresi.
    • dhcp-option = 3,192.168.1.1 - aizstājiet to ar tīkla vārteju.
    • dhcp-option = 6,92.168.1.1 - aizstājiet to ar savu DNS servera IP.
    • serveris = 8.8.4.4 - pievienojiet savas DNS ekspeditoru IP adreses.
    • dhcp-option = 28,10.0.0.255 - pēc izvēles aizstājiet to ar tīkla apraides IP adresi.
    • dhcp-option = 42,0.0.0.0 - pievienojiet tīkla laika serverus (0.0.0.0 adrese ir paredzēta pašreferencei).
    • pxe-prompt - saglabājiet to kā noklusējumu.
    • pxe = service - Izmantojiet x86PC 32 bitu/64 bitu arhitektūrām un pievienojiet izvēlnes apraksta uzvedni zem virknes pēdiņām.
    • enable-tftp - iespējo iebūvēto TFTP serveri.
    • tftp-root - pievienojiet tīkla sāknēšanas failus location/var/lib/tftpboot.

    Citas papildu iespējas attiecībā uz konfigurācijas failiem droši izlasiet dnsmasq rokasgrāmatu.

    2. darbība: instalējiet SYSLINUX sāknēšanas ierīces

    4. Kad DNSMASQ galvenā konfigurācija ir pabeigta, instalējiet Syslinx PXE sāknēšanas ielādes pakotni, izmantojot šādu komandu.

    # dnf install syslinux
    

    5. Syslinx PXE sāknēšanas ielādētāji ir instalēti zem /usr/share/syslinux . To var apstiprināt, palaižot komandu ls, kā parādīts.

    # ls /usr/share/syslinux
    

    3. darbība: instalējiet TFTP-Server un nokopējiet to ar SYSLINUX sāknēšanas ielādētājiem

    6. Tagad instalējiet TFTP-Server un nokopējiet visus Syslinux sāknēšanas ielādētājus no /usr/share/syslinux/ uz /var/lib/tftpboot , kā parādīts.

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

    4. darbība: iestatiet PXE servera konfigurācijas failu

    7. Pēc noklusējuma PXE serveris nolasa savu konfigurāciju no konkrētu failu kopas, kas atrodams pxelinux.cfg , kas ir jāatrod direktorijā, kas aprakstīts tftp-root iestatījumā no iepriekš minētā konfigurācijas faila DNSMASQ .

    Vispirms izveidojiet direktoriju pxelinux.cfg un izveidojiet failu default , izdodot šādas komandas.

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

    8. Tagad atveriet un rediģējiet konfigurācijas failu PXE default ar pareizām Linux izplatīšanas instalēšanas opcijām. Neaizmirstiet arī atcerēties, ka šajā failā iestatītajiem ceļiem jābūt samērīgiem ar direktoriju /var/lib/tftpboot .

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

    Šis ir konfigurācijas faila piemērs, kuru varat to izmantot, taču noteikti mainiet instalācijas attēlus, protokolus un IP, lai attiecīgi atspoguļotu tīkla instalācijas avotu krātuves un atrašanās vietas.

    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
    

    Iepriekš minētajā konfigurācijā varat pamanīt, ka CentOS 8 sāknēšanas attēli (kodols un initrd) atrodas direktorijā centos7 attiecībā pret /var/lib/tftpboot (ti, /var/lib/tftpboot/centos7 ) un instalēšanas krātuvēm var piekļūt, izmantojot FTP protokolu vietnē 192.168.1.2/pub (PXE servera IP adrese).

    Arī 2. izvēlnes etiķete apraksta oficiālās CentOS 8 instalācijas avotu spoguļu krātuves (klienta sistēmā ir nepieciešams savienojums ar internetu), un 3. izvēlnes etiķete apraksta, ka klienta instalēšana jāveic izmantojot attālo VNC (šeit nomainiet VNC paroli ar spēcīgu paroli).

    Svarīgi: kā redzat iepriekšminētajā konfigurācijā, demonstrācijas nolūkos esam izmantojuši CentOS 8 attēlu, taču jūs varat izmantot arī RHEL 8 attēlus.

    5. darbība: pievienojiet CentOS 8 sāknēšanas attēlus PXE serverim

    9. Lai pievienotu CentOS 8 attēlus PXE serverim, jums jāievada komanda wget un jāpiestiprina tā.

    # 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. Kad esat lejupielādējis CentOS 8, jums jāizveido direktorijs centos7 un jākopē sāknēšanas kodola un initrd attēli.

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

    Šīs pieejas iemesls ir tāds, ka vēlāk katram jaunajam Linux izplatījumam var būt atsevišķi direktoriji zem /var/lib/tftpboot , nesajaucot visu direktoriju struktūru.

    6. darbība: izveidojiet CentOS 8 lokālā spoguļa instalēšanas avotu

    11. CentOS 8 lokālo instalācijas avotu spoguļu iestatīšanai ir pieejami dažādi protokoli (HTTP, HTTPS vai NFS), taču es izvēlējos FTP protokolu, jo to ir viegli iestatīt, izmantojot vsftpd serveri.

    Instalēsim Vsftpd serveri un kopēsim visu CentOS 8 DVD saturu uz FTP direktoriju /var/ftp/pub , kā parādīts.

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

    12. Tagad, kad ir pabeigta visa PXE servera konfigurācija, varat sākt, iespējot un pārbaudīt DNSMASQ un VSFTPD serveru statusu.

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

    13. Pēc tam jums jāatver ugunsmūra porti, lai klienta sistēmas varētu sasniegt un palaist no PXE servera.

    # 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. Lai pārbaudītu FTP instalācijas avota tīkla atrašanās vietu, atveriet pārlūkprogrammu un ierakstiet PXE servera IP adresi ar FTP protokolu, kam seko tīkla kods /pub .

    ftp://192.168.1.2/pub
    

    7. solis: Konfigurējiet klientus, lai tie sāktu darbu no tīkla

    15. Tagad konfigurējiet klientu sistēmas, lai sāktu un instalētu CentOS 8 savās sistēmās, no BIOS izvēlnes konfigurējot tīkla sāknēšanu kā galveno sāknēšanas ierīci.

    Pēc sistēmas palaišanas jūs saņemsiet uzvedni PXE, kur jums jānospiež taustiņš F8 , lai ievadītu prezentāciju, un pēc tam nospiediet taustiņu Enter, lai pārietu uz izvēlni PXE.

    Tas ir viss, lai iestatītu minimālu PXE serveri CentOS/RHEL 8.