Configuració d'un servidor d'arrencada de xarxa PXE per a diverses instal·lacions de distribució de Linux a RHEL/CentOS 7


Servidor PXE: Entorn d'execució prèvia a l'arrencada: indica a un ordinador client que arrenqui, executi o instal·li un sistema operatiu directament des d'una interfície de xarxa, eliminant la necessitat de gravar un CD/DVD o utilitzar un mitjà físic, o bé, pot facilitar la instal·lació de distribucions de Linux a la vostra infraestructura de xarxa en diverses màquines alhora.

  1. Procediment d'instal·lació mínima de CentOS 7
  2. Procediment d'instal·lació mínima de RHEL 7
  3. Configura l'adreça IP estàtica a RHEL/CentOS 7
  4. Elimineu els serveis no desitjats a RHEL/CentOS 7
  5. Instal·leu el servidor NTP per establir l'hora correcta del sistema a RHEL/CentOS 7

Aquest article explicarà com podeu instal·lar i configurar un Servidor PXE a RHEL/CentOS 7 x64 bits amb repositoris d'instal·lació local duplicats, fonts proporcionades imatge ISO de DVD de CentOS 7, amb l'ajuda del servidor DNSMASQ.

Que proporciona serveis DNS i DHCP, paquet Syslinux que proporciona carregadors d'arrencada per a l'arrencada de xarxa, TFTP-Server, que fa que imatges d'arrencada disponibles per descarregar-se a través de la xarxa mitjançant el Protocol de transferència de fitxers trivial (TFTP) i el servidor VSFTPD que allotjarà la imatge de DVD duplicada muntada localment, que actuarà com a RHEL oficial. /CentOS 7 dipòsit d'instal·lació de miralls d'on l'instal·lador extreu els paquets necessaris.

Pas 1: instal·leu i configureu el servidor DNSMASQ

1. No cal recordar-vos que és absolutament exigent que una de les interfícies de la vostra targeta de xarxa, en cas que el vostre servidor tingui més NIC, s'ha de configurar amb una adreça IP estàtica del mateix interval d'IP que pertany al segment de xarxa que proporcionarà PXE serveis.

Per tant, després d'haver configurat la vostra adreça IP estàtica, actualitzat el sistema i realitzat altres paràmetres inicials, utilitzeu l'ordre següent per instal·lar el dimoni DNSMASQ.

# yum install dnsmasq

2. El fitxer de configuració predeterminat principal de DNSMASQ situat al directori /etc s'explica per si mateix, però té la intenció de ser bastant difícil d'editar, feu les seves explicacions molt comentades.

En primer lloc, assegureu-vos de fer una còpia de seguretat d'aquest fitxer per si necessiteu revisar-lo més tard i, a continuació, creeu un nou fitxer de configuració en blanc amb el vostre editor de text preferit emetent les ordres següents.

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

3. Ara, copieu i enganxeu les configuracions següents al fitxer dnsmasq.conf i assegureu-vos que canvieu les declaracions explicades a continuació perquè coincideixin amb la configuració de la vostra xarxa.

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

Les declaracions que heu de canviar són les següents:

  1. interfície: interfícies que el servidor hauria d'escoltar i proporcionar serveis.
  2. bind-interfaces: elimina el comentari per enllaçar només en aquesta interfície.
  3. domini: substituïu-lo pel vostre nom de domini.
  4. dhcp-range: substituïu-lo per l'interval IP definit per la vostra màscara de xarxa en aquest segment.
  5. dhcp-boot: substituïu la declaració IP per l'adreça IP de la vostra interfície.
  6. dhcp-option=3,192.168.1.1: substituïu l'adreça IP per la vostra passarel·la del segment de xarxa.
  7. dhcp-option=6,92.168.1.1: substituïu l'adreça IP per la IP del vostre servidor DNS: es poden definir diverses IP DNS.
  8. server=8.8.4.4: poseu les adreces IP dels reenviadors de DNS.
  9. dhcp-option=28,10.0.0.255: substituïu l'adreça IP per l'adreça de difusió de xarxa, opcionalment.
  10. dhcp-option=42,0.0.0.0 – Col·loqueu els vostres servidors d'hora de xarxa – opcionalment (l'adreça 0.0.0.0 és per a auto-referència).
  11. pxe-prompt - Deixeu-ho com a predeterminat - vol dir prémer la tecla F8 per entrar al menú 60 amb un temps d'espera de segons...
  12. pxe=service: utilitzeu x86PC per a arquitectures de 32/64 bits i introduïu una descripció del menú sota cometes de cadena. Altres tipus de valors poden ser: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI i X86-64_EFI.
  13. enable-tftp: activa el servidor TFTP integrat.
  14. tftp-root: utilitzeu /var/lib/tftpboot: la ubicació de tots els fitxers d'arrencada per xarxa.

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

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

4. Després d'haver editat i desat el fitxer de configuració principal DNSMASQ, seguiu endavant i instal·leu el paquet del carregador d'arrencada Syslinx PXE emetent l'ordre següent.

# yum install syslinux

5. Els fitxers dels carregadors d'arrencada PXE resideixen a la ruta absoluta del sistema /usr/share/syslinux, de manera que podeu comprovar-ho enumerant el contingut d'aquest camí. Aquest pas és opcional, però és possible que hàgiu de tenir en compte aquest camí perquè al pas següent, copiarem tot el seu contingut al camí Servidor TFTP.

# ls /usr/share/syslinux

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

6. Ara, passem al següent pas i instal·lem TFTP-Server i, després, copiem tots els fitxers de gestor d'arrencada proporcionats pel paquet Syslinux des de la ubicació indicada anteriorment a /var/lib/tftpboot. b> camí emetent les ordres següents.

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

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

7. Normalment, el Servidor PXE llegeix la seva configuració a partir d'un grup de fitxers específics (fitxers GUID - primer, fitxers MAC - a continuació, Fitxer per defecte - últim) allotjat en una carpeta anomenada pxelinux.cfg, que s'ha d'ubicar al directori especificat a la instrucció tftp-root del fitxer de configuració principal de DNSMASQ .

Creeu el directori necessari pxelinux.cfg i ompliu-lo amb un fitxer predeterminat emetent les ordres següents.

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

8. Ara és el moment d'editar el fitxer de configuració del Servidor PXE amb opcions d'instal·lació de distribucions de Linux vàlides. Tingueu en compte també que tots els camins utilitzats en aquest fitxer han de ser relatius al directori /var/lib/tftpboot.

A continuació podeu veure un exemple de fitxer de configuració que podeu utilitzar, però modifiqueu les imatges d'instal·lació (fitxers del nucli i initrd), els protocols (FTP, HTTP, HTTPS, NFS) i les IPs per reflectir els dipòsits d'origen de la instal·lació de xarxa i els camins en conseqüència.

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

Afegiu el següent fragment sencer al fitxer.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

Com podeu veure, les imatges d'arrencada de CentOS 7 (nucli i initrd) resideixen en un directori anomenat centos7 en relació amb /var/lib/tftpboot (en una ruta absoluta del sistema això significaria Es pot accedir a /var/lib/tftpboot/centos7) i als repositoris de l'instal·lador mitjançant el protocol FTP a la ubicació de la xarxa 192.168.1.20/pub: en aquest cas, els repositoris estan allotjats localment perquè l'adreça IP és la mateixa que l'adreça del servidor PXE).

També el menú etiqueta 3 especifica que la instal·lació del client s'ha de fer des d'una ubicació remota mitjançant VNC (aquí substituïu la contrasenya de VNC per una contrasenya segura) en cas que la instal·leu en un client sense cap. i l'etiqueta 2 del menú especifica com a
la instal·lació genera un mirall d'Internet oficial de CentOS 7 (aquest cas requereix una connexió a Internet disponible al client mitjançant DHCP i NAT).

Important: Com veieu a la configuració anterior, hem utilitzat CentOS 7 amb finalitats de demostració, però també podeu definir imatges de RHEL 7 i les instruccions i configuracions completes es basen només en CentOS 7, així que aneu amb compte a l'hora de triar la distribució.

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

9. Per a aquest pas calen els fitxers initrd i el nucli de CentOS. Per obtenir aquests fitxers, necessiteu la imatge CentOS 7 DVD ISO. Per tant, seguiu endavant i descarregueu CentOS DVD Image, poseu-lo a la vostra unitat de DVD i munteu la imatge a la ruta del sistema /mnt emetent l'ordre següent.

El motiu per utilitzar el DVD i no una imatge de CD mínima és el fet que més endavant aquest contingut del DVD s'utilitzaria per crear el
repositoris d'instal·ladors locals per a fonts FTP.

# mount -o loop /dev/cdrom  /mnt
# ls /mnt

Si la vostra màquina no té unitat de DVD, també podeu descarregar CentOS 7 DVD ISO localment mitjançant les utilitats wget o curl des d'un mirall de CentOS i muntar-lo.

# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
# mount -o loop /path/to/centos-dvd.iso  /mnt

10. Després que el contingut del DVD estigui disponible, creeu el directori centos7 i copieu el nucli d'arrencada de CentOS 7 i les imatges initrd des de la ubicació del DVD muntat a l'estructura de carpetes centos7.

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

La raó d'utilitzar aquest enfocament és que, més tard, podeu crear nous directoris separats a la ruta /var/lib/tftpboot i afegir altres distribucions de Linux al menú PXE sense embrutar tota l'estructura de directoris.

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

11. Tot i que podeu configurar Mirrors de font d'instal·lació mitjançant una varietat de protocols com HTTP, HTTPS o NFS, per a aquesta guia, he escollit el protocol FTP perquè és molt fiable i fàcil de configurar amb l'ajuda del servidor vsftpd.

Instal·leu més el dimoni vsftpd, copieu tot el contingut muntat en DVD al camí del servidor predeterminat vsftpd (/var/ftp/pub): això pot trigar una estona depenent dels recursos del vostre sistema i afegir-lo. permisos llegibles a aquest camí emetent les ordres següents.

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

Pas 7: inicieu i activeu Daemons a tot el sistema

12. Ara que finalment s'ha acabat la configuració del servidor PXE, inicieu els servidors DNSMASQ i VSFTPD, verifiqueu-ne l'estat i activeu-lo a tot el sistema, perquè s'iniciï automàticament després de cada reinici del sistema. executant les ordres següents.

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

Pas 8: obriu el tallafoc i proveu la font d'instal·lació FTP

13. Per obtenir una llista de tots els ports que s'han d'obrir al vostre tallafoc per tal que les màquines client arribin i arrenquin des del servidor PXE, executeu l'ordre netstat i afegiu les regles de CentOS 7 Firewalld en conseqüència a dnsmasq i ports d'escolta vsftpd.

# netstat -tulpn
# 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 provar la ruta de xarxa de la font d'instal·lació FTP, obriu un navegador localment (l'hauria de fer Lynx) o en un ordinador diferent i escriviu l'adreça IP del vostre servidor PXE amb
Protocol FTP seguit de la ubicació de la xarxa /pub a l'URL arxivat i el resultat hauria de ser el que es mostra a la captura de pantalla següent.

ftp://192.168.1.20/pub

15. Per depurar el servidor PXE per a possibles configuracions incorrectes o altra informació i diagnòstic en mode en directe, executeu l'ordre següent.

# tailf /var/log/messages

16. Finalment, l'últim pas necessari que heu de fer és desmuntar el DVD de CentOS 7 i treure el suport físic.

# umount /mnt

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

17. Ara els vostres clients poden arrencar i instal·lar CentOS 7 a les seves màquines configurant l'arrencada de xarxa com a dispositiu d'arrencada principal des de la BIOS dels seus sistemes o prement una tecla especificada durant les operacions de BIOS POST tal com s'especifica al manual de la placa base.

Per triar l'arrencada de xarxa. Quan aparegui la primera indicació PXE, premeu la tecla F8 per entrar a la presentació i, a continuació, premeu la tecla Enter per avançar al menú PXE.

18. Un cop hàgiu arribat al menú PXE, trieu el vostre tipus d'instal·lació de CentOS 7, premeu la tecla Enter i continueu amb el procediment d'instal·lació de la mateixa manera que ho podríeu instal·lar des d'un dispositiu d'arrencada multimèdia local.

Tingueu en compte que l'ús de la variant 2 d'aquest menú requereix una connexió a Internet activa al client de destinació. També, a sota
captures de pantalla podeu veure un exemple d'una instal·lació remota d'un client mitjançant VNC.

Això és tot per configurar un Servidor PXE mínim a CentOS 7. En el meu proper article d'aquesta sèrie, parlaré d'altres qüestions relacionades amb aquesta configuració del servidor PXE, com ara com configurar instal·lacions automàtiques de CentOS 7 mitjançant fitxers Kickstart i afegint altres distribucions de Linux al menú PXE: Servidor Ubuntu i Debian 7.