Instal·leu diverses distribucions de Linux mitjançant l'arrencada de xarxa PXE a RHEL/CentOS 8


Servidor PXE - Preboot eXecution Environment és una arquitectura client-servidor estandarditzada que indica a un sistema client que arrenqui, executi o instal·li diversos sistemes operatius Linux mitjançant una interfície de xarxa compatible amb PXE a la vostra infraestructura de xarxa.

    • Instal·lació de CentOS 8 Minimal Server
    • Instal·lació del servidor mínim RHEL 8
    • Configura l'adreça IP estàtica a RHEL/CentOS 8

    En aquest article, aprendràs a instal·lar i configurar un servidor d'arrencada de xarxa PXE a CentOS/RHEL 8 amb dipòsits d'instal·lació local reflectits proporcionats per CentOS 8 i RHEL 8 ISO Images.

    Per a aquesta configuració d'arrencada de xarxa PXE, instal·larem els paquets següents al sistema:

    • DNSMASQ: un reenviador DNS lleuger que proporciona serveis DNS i DHCP amb suport per a PXE i un servidor TFTP.
    • Syslinux: un carregador d'arrencada de Linux que proporciona carregadors d'arrencada per a l'arrencada de xarxa.
    • Servidor TFTP: un protocol de transferència de fitxers senzill que crea imatges d'arrencada disponibles per baixar-les mitjançant una xarxa.
    • Servidor VSFTPD, un protocol de transferència de fitxers segur que allotjarà la imatge de DVD duplicada muntada localment, que actuarà com a dipòsit oficial d'instal·lació de mirall de RHEL/CentOS 8 des d'on l'instal·lador traurà els paquets necessaris.

    Pas 1: instal·leu i configureu el servidor DNSMASQ

    1. És important recordar-vos que una de les vostres interfícies de xarxa ha d'estar configurada amb una adreça IP estàtica del mateix interval d'IP de xarxa que proporciona serveis PXE.

    Un cop hàgiu configurat una adreça IP estàtica, actualitzeu els paquets de programari del vostre sistema i instal·leu el dimoni DNSMASQ.

    # dnf install dnsmasq
    

    2. Un cop instal·lat DNSMASQ, trobareu el seu fitxer de configuració per defecte al directori /etc/dnsmasq.conf, que s'explica per si mateix però més difícil de configurar, a causa de les seves explicacions molt comentades.

    Primer, assegureu-vos de fer una còpia de seguretat d'aquest fitxer en cas que necessiteu revisar-lo més tard i, a continuació, creeu un fitxer de configuració nou amb el vostre editor preferit, tal com es mostra.

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

    3. Ara, copieu i enganxeu les configuracions següents al fitxer /etc/dnsmasq.conf i canvieu els paràmetres de configuració segons la vostra configuració de xarxa.

    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
    

    Se segueixen les declaracions de configuració que heu de canviar:

    • interfície: una interfície de xarxa del servidor hauria d'escoltar i proporcionar serveis.
    • bind-interfaces: elimina el comentari per vincular la interfície a una targeta de xarxa determinada.
    • domini: substituïu-lo pel vostre nom de domini.
    • dhcp-range: canvieu-lo amb l'interval d'IP de la vostra xarxa.
    • dhcp-boot: substituïu-lo per l'adreça IP de la vostra interfície de xarxa.
    • dhcp-option=3,192.168.1.1: substituïu-lo per la vostra passarel·la de xarxa.
    • dhcp-option=6,92.168.1.1: substituïu-lo per la IP del vostre servidor DNS.
    • server=8.8.4.4: afegiu les adreces IP dels reenviadors de DNS.
    • dhcp-option=28,10.0.0.255: substituïu-lo per la vostra adreça IP de difusió de xarxa opcional.
    • dhcp-option=42,0.0.0.0 -Afegiu els vostres servidors d'hora de xarxa (l'adreça 0.0.0.0 és per a auto-referència).
    • pxe-prompt: mantingueu-lo com a predeterminat.
    • pxe=service: utilitzeu x86PC per a arquitectures de 32/64 bits i afegiu un missatge de descripció del menú sota cometes de cadena.
    • enable-tftp: activa el servidor TFTP integrat.
    • tftp-root: afegiu la ubicació dels fitxers d'arrencada de xarxa /var/lib/tftpboot.

    Per a altres opcions avançades sobre fitxers de configuració, no dubteu a llegir el manual dnsmasq.

    Pas 2: instal·leu els carregadors d'arrencada SYSLINUX

    4. Un cop feta la configuració principal de DNSMASQ, instal·leu el paquet del carregador d'arrencada Syslinx PXE amb l'ordre següent.

    # dnf install syslinux
    

    5. Els carregadors d'arrencada Syslinx PXE estan instal·lats a /usr/share/syslinux, podeu confirmar-ho executant l'ordre ls tal com es mostra.

    # ls /usr/share/syslinux
    

    Pas 3: instal·leu el servidor TFTP i copieu-lo amb els carregadors d'arrencada SYSLINUX

    6. Ara, instal·leu TFTP-Server i copieu tots els carregadors d'arrencada Syslinux de /usr/share/syslinux/ a /var/lib/tftpboot tal com es mostra.

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

    Pas 4: configureu el fitxer de configuració del servidor PXE

    7. Per defecte, el servidor PXE llegeix la seva configuració a partir d'un conjunt de fitxers específics que es troben a pxelinux.cfg, que s'han de trobar al directori descrit a la configuració tftp-root del fitxer de configuració DNSMASQ anterior. .

    Primer, creeu un directori pxelinux.cfg i creeu un fitxer predeterminat emetent les ordres següents.

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

    8. Ara obriu i editeu el fitxer de configuració predeterminat PXE amb les opcions d'instal·lació de distribució Linux correctes. A més, assegureu-vos de recordar que els camins establerts en aquest fitxer han de ser relatius al directori /var/lib/tftpboot.

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

    El següent és un exemple de fitxer de configuració que podeu utilitzar, però assegureu-vos de canviar les imatges d'instal·lació, els protocols i les IP per reflectir els dipòsits d'origen i les ubicacions de la vostra instal·lació de xarxa en conseqüència.

    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
    

    A la configuració anterior, podeu notar que les imatges d'arrencada de CentOS 8 (nucli i initrd) resideixen en un directori centos7 relatiu a /var/lib/tftpboot (és a dir, /var/lib/tftpboot /centos7) i als repositoris de l'instal·lador es pot accedir mitjançant el protocol FTP a 192.168.1.2/pub (adreça IP del servidor PXE).

    A més, l'etiqueta del menú 2 descriu els dipòsits de mirall de fonts d'instal·lació oficials de CentOS 8 (la connexió a Internet és necessària al sistema client) i l'etiqueta del menú 3 descriu que s'ha de fer la instal·lació del client. mitjançant un VNC remot (aquí substituïu la contrasenya de VNC per una contrasenya segura).

    Important: com veieu a la configuració anterior, hem utilitzat la imatge CentOS 8 amb finalitats de demostració, però també podeu utilitzar imatges RHEL 8.

    Pas 5: afegiu imatges d'arrencada CentOS 8 al servidor PXE

    9. Per afegir imatges CentOS 8 al servidor PXE, heu d'obtenir l'ordre wget i muntar-lo.

    # 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. Un cop hàgiu baixat CentOS 8, heu de crear un directori centos8 i copiar les imatges del nucli d'arrencada i 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
    

    La raó de tenir aquest enfocament és que més endavant podeu tenir directoris separats per a cada distribució de Linux nova a /var/lib/tftpboot sense embrutar tota l'estructura de directoris.

    Pas 6: creeu la font d'instal·lació del mirall local de CentOS 8

    11. Hi ha diversos protocols (HTTP, HTTPS o NFS) disponibles per configurar rèpliques d'origen d'instal·lació local de CentOS 8, però he escollit el protocol FTP perquè és fàcil de configurar mitjançant el servidor vsftpd.

    Instal·lem el servidor Vsftpd i copiem tot el contingut del DVD de CentOS 8 al directori FTP /var/ftp/pub tal com es mostra.

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

    12. Ara que s'ha completat tota la configuració del servidor PXE, podeu iniciar, habilitar i verificar l'estat dels servidors DNSMASQ i VSFTPD.

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

    13. A continuació, heu d'obrir ports al vostre tallafoc per tal que els sistemes client arribin i arrenquin des del servidor 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. Per verificar la ubicació de la xarxa de la font d'instal·lació FTP, obriu el vostre navegador i escriviu l'adreça IP del servidor PXE amb el protocol FTP seguit de la ubicació de la xarxa /pub.

    ftp://192.168.1.2/pub
    

    Pas 7: configureu els clients per arrencar des de la xarxa

    15. Ara configureu els sistemes client per arrencar i instal·lar CentOS 8 als seus sistemes configurant Network Boot com a dispositiu d'arrencada principal des del menú BIOS.

    Després de l'arrencada del sistema, obtindreu una indicació PXE, on haureu de prémer la tecla F8 per entrar a la presentació i després premeu la tecla Intro per avançar al menú PXE.

    Això és tot per configurar un servidor PXE mínim a CentOS/RHEL 8.