Asenna useita Linux-jakeluja PXE-verkkokäynnistyksen avulla RHEL/CentOS 8: een


PXE Server - Preboot eXecution Environment on standardoitu asiakas-palvelin-arkkitehtuuri, joka kehottaa asiakasjärjestelmää käynnistämään, suorittamaan tai asentamaan useita Linux-käyttöjärjestelmiä PXE-yhteensopivalla verkkoliitännällä verkkoinfrastruktuuriin.

    • CentOS 8 Minimal Server -palvelimen asennus
    • RHEL 8 Minimal Server -asennuksen asentaminen
    • Määritä staattinen IP-osoite RHEL/CentOS 8: ssa

    Tässä artikkelissa opit asentamaan ja määrittämään PXE-verkon käynnistyspalvelimen CentOS/RHEL 8 -laitteeseen peilattujen paikallisten asennustietovarastojen avulla, jotka tarjoavat CentOS 8 ja RHEL 8 ISO Images.

    Tätä PXE-verkkokäynnistystä varten asennamme seuraavat paketit järjestelmään:

    • DNSMASQ - kevyt DNS-huolitsija, joka tarjoaa DNS- ja DHCP-palvelut sekä tuen PXE: lle ja TFTP-palvelimelle.
    • Syslinux - Linux-käynnistyslatain, joka tarjoaa käynnistyslataimia verkon käynnistämistä varten.
    • TFTP-palvelin - yksinkertainen lukitusvaiheinen tiedostojen siirtoprotokolla, joka luo käynnistettäviä kuvia, jotka voidaan ladata verkon kautta.
    • VSFTPD-palvelin - turvallinen tiedostojen siirtoprotokolla, joka isännöi paikallisesti asennettuja peilattuja DVD-kuvia - toimii virallisena RHEL/CentOS 8 -peiliasennustietovarastona, josta asennusohjelma ottaa tarvittavat paketit.

    Vaihe 1: Asenna ja määritä DNSMASQ Server

    1. On tärkeää muistuttaa, että yhdelle verkkoliitännöistä on määritettävä staattinen IP-osoite samalta verkon IP-alueelta, joka tarjoaa PXE-palveluja.

    Kun olet määrittänyt staattisen IP-osoitteen, päivitä järjestelmäohjelmistopaketit ja asenna DNSMASQ-daemon.

    # dnf install dnsmasq
    

    2. Kun DNSMASQ on asennettu, sen oletuskokoonpanotiedosto löytyy hakemistosta /etc/dnsmasq.conf , joka on itsestään selittävä mutta vaikeasti määritettävissä sen erittäin kommentoitujen selitysten vuoksi.

    Varmista ensin, että otat varmuuskopion tästä tiedostosta, jos haluat tarkistaa sen myöhemmin, ja luo sitten uusi määritystiedosto suosikkieditorilla kuvan osoittamalla tavalla.

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

    3. Kopioi ja liitä seuraavat kokoonpanot /etc/dnsmasq.conf -tiedostoon ja muuta kokoonpanoasetuksia verkkoasetusten mukaan.

    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
    

    Muutettavia määrityslausekkeita noudatetaan:

    • käyttöliittymä - Palvelimen verkkoliitäntöjen tulisi kuunnella ja tarjota palveluja.
    • sitomaliitännät - Kommentin poisto liittää liitäntä tietylle verkkokortille.
    • verkkotunnus - Korvaa se verkkotunnuksellasi.
    • dhcp-alue - Vaihda se verkon IP-alueesi mukaan.
    • dhcp-boot - Korvaa se verkkoliitännän IP-osoitteella.
    • dhcp-option = 3,192.168.1.1 - Korvaa se verkkoyhdyskäytävällä.
    • dhcp-option = 6,92.168.1.1 - Korvaa se DNS-palvelimen IP-osoitteella.
    • palvelin = 8.8.4.4 - Lisää DNS-huolitsijoidesi IP-osoitteet.
    • dhcp-option = 28,10.0.0.255 - Korvaa se vaihtoehtoisesti verkon lähetys-IP-osoitteella.
    • dhcp-option = 42,0.0.0.0 -Lisää verkon aikapalvelimet (0.0.0.0-osoite on tarkoitettu itse viitteeksi).
    • pxe-prompt - Pidä se oletuksena.
    • pxe = service - Käytä x86PC: tä 32-bittisille/64-bittisille arkkitehtuureille ja lisää valikkokuvauskehote merkkijonoihin.
    • enable-tftp - Ottaa sisäänrakennetun TFTP-palvelimen käyttöön.
    • tftp-root - Lisää verkon käynnistystiedostot location/var/lib/tftpboot.

    Muita asetustiedostoja koskevia lisäasetuksia voit lukea dnsmasq-käyttöoppaasta.

    Vaihe 2: Asenna SYSLINUX-käynnistyslataimet

    4. Kun DNSMASQ-pääkonfigurointi on tehty, asenna Syslinx PXE -käynnistyslatauspaketti seuraavalla komennolla.

    # dnf install syslinux
    

    5. Syslinx PXE -käynnistyslataimet on asennettu kohtaan /usr/share/syslinux , voit vahvistaa sen suorittamalla ls-komennon kuvan mukaisesti.

    # ls /usr/share/syslinux
    

    Vaihe 3: Asenna TFTP-palvelin ja kopioi se SYSLINUX-käynnistyslataimilla

    6. Asenna nyt TFTP-palvelin ja kopioi kaikki Syslinux-käynnistyslataimet tiedostosta /usr/share/syslinux/ kohtaan /var/lib/tftpboot kuvan osoittamalla tavalla.

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

    Vaihe 4: Asenna PXE-palvelimen määritystiedosto

    7. PXE-palvelin lukee oletusarvoisesti kokoonpanonsa joukosta erityisiä tiedostoja, jotka löytyvät osoitteesta pxelinux.cfg , joka on löydettävä yllä olevasta DNSMASQ-määritystiedostosta tftp-root-asetuksessa kuvatusta hakemistosta. .

    Luo ensin pxelinux.cfg -hakemisto ja luo default -tiedosto antamalla seuraavat komennot.

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

    8. Avaa ja muokkaa nyt PXE default -määritystiedostoa oikeilla Linux-jakeluasennusvaihtoehdoilla. Muista myös muistaa, että tässä tiedostossa asetettujen polkujen on oltava suhteessa hakemistoon /var/lib/tftpboot .

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

    Seuraava on esimerkki kokoonpanotiedostosta, jota voit käyttää sitä, mutta muista vaihtaa asennuskuvat, protokollat ja IP-osoitteet vastaamaan verkon asennuslähteen arkistoja ja sijainteja.

    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
    

    Yllä olevassa kokoonpanossa voit huomata, että CentOS 8 -käynnistyskuvat (ydin ja initrd) sijaitsevat centos7-hakemistossa suhteessa /var/lib/tftpboot (ts. /var/lib/tftpboot/centos7 ) ja asennusohjelmistovarastoihin pääsee käyttämällä FTP-protokollaa osoitteessa 192.168.1.2/pub (PXE-palvelimen IP-osoite).

    Lisäksi -valikkotarra 2 kuvaa viralliset CentOS 8 -asennuslähteiden peilivarastot (Internet-yhteyden on oltava asiakasjärjestelmässä) ja -valikkotarra 3 kuvaa, että asiakkaan asennus on suoritettava etänä olevan VNC: n kautta (korvaa tässä VNC-salasana vahvalla salasanalla).

    Tärkeää: Kuten yllä olevasta kokoonpanosta näet, olemme käyttäneet CentOS 8 -kuvaa esittelytarkoituksiin, mutta voit käyttää myös RHEL 8 -kuvia.

    Vaihe 5: Lisää CentOS 8 Boot Images PXE-palvelimeen

    9. Jos haluat lisätä CentOS 8 -kuvia PXE-palvelimeen, sinun on wget-komento ja asennettava se.

    # 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. Kun olet ladannut CentOS 8: n, sinun on luotava centos7 -hakemisto ja kopioitava käynnistettävä ydin ja initrd-kuvat.

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

    Syy tähän lähestymistapaan on, että myöhemmin sinulla voi olla erilliset hakemistot kullekin uudelle Linux-jakelulle /var/lib/tftpboot -kohdassa häiritsemättä koko hakemistorakennetta.

    Vaihe 6: Luo CentOS 8 Local Mirror -asennuslähde

    11. On olemassa useita protokollia (HTTP, HTTPS tai NFS), jotka ovat käytettävissä CentOS 8 paikallisten asennuslähdepeilien asettamiseen, mutta olen valinnut FTP-protokollan, koska se on helppo asentaa vsftpd-palvelimen avulla.

    Asennetaan Vsftpd-palvelin ja kopioidaan kaikki CentOS 8 DVD -levyn sisältö FTP-hakemistoon /var/ftp/pub kuvan osoittamalla tavalla.

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

    12. Nyt kun kaikki PXE-palvelimen määritykset on suoritettu, voit käynnistää, ottaa käyttöön ja tarkistaa DNSMASQ- ja VSFTPD-palvelinten tilan.

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

    13. Seuraavaksi sinun on avattava palomuurisi portit, jotta asiakasjärjestelmät pääsevät PXE-palvelimeen ja käynnistyvät siitä.

    # 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. Vahvistaaksesi FTP-asennuksen lähdeverkon sijainnin avaamalla selaimesi ja kirjoittamalla PXE-palvelimen IP-osoite FTP-protokollalla ja sen jälkeen /pub -verkkosijainnilla.

    ftp://192.168.1.2/pub
    

    Vaihe 7: Määritä asiakkaat käynnistymään verkosta

    15. Määritä nyt asiakasjärjestelmät käynnistämään ja asentamaan CentOS 8 järjestelmiinsä määrittämällä Network Boot ensisijaiseksi käynnistyslaitteeksi BIOS-valikosta.

    Kun järjestelmä on käynnistetty, saat PXE-kehotteen, jossa sinun on painettava F8 -näppäintä päästäksesi esitykseen ja paina sitten Enter-näppäintä siirtyäksesi eteenpäin PXE-valikkoon.

    Siinä kaikki vähäisen PXE-palvelimen asettamiseen CentOS/RHEL 8: een.