Búsqueda de sitios web

Instale varias distribuciones de Linux mediante el arranque de red PXE en RHEL/CentOS 8


Servidor PXE: el entorno de ejecución previo al arranque es una arquitectura cliente-servidor estandarizada que indica a un sistema cliente que inicie, ejecute o instale varios sistemas operativos Linux utilizando una interfaz de red compatible con PXE. en su infraestructura de red.

Requisitos

    • Instalación del servidor mínimo CentOS 8
    • Instalación del servidor mínimo RHEL 8
    • Configurar la dirección IP estática en RHEL/CentOS 8

En este artículo, aprenderá cómo instalar y configurar un servidor de arranque de red PXE en CentOS/RHEL 8 con repositorios de instalación locales reflejados proporcionados por CentOS 8. Imágenes ISO y RHEL 8.

Para esta configuración de arranque de red PXE, instalaremos los siguientes paquetes en el sistema:

  • DNSMASQ: un reenviador de DNS ligero que proporciona servicios DNS y DHCP con soporte para PXE y Servidor TFTP.
  • Syslinux: un cargador de arranque de Linux que proporciona cargadores de arranque para el arranque en red.
  • Servidor TFTP: un sencillo protocolo de transferencia de archivos que crea imágenes de arranque disponibles para descargar a través de una red.
  • Servidor VSFTPD: un protocolo seguro de transferencia de archivos que alojará la imagen de DVD duplicada montada localmente, que actuará como un repositorio oficial de instalación duplicada de RHEL/CentOS 8 desde donde el instalador extraerá los paquetes necesarios.

Paso 1: Instalar y configurar el servidor DNSMASQ

1. Es importante recordarle que una de sus interfaces de red debe estar configurada con una dirección IP estática del mismo rango de IP de red que proporciona servicios PXE.

Una vez que haya configurado una dirección IP estática, actualice los paquetes de software de su sistema e instale el demonio DNSMASQ.

dnf install dnsmasq

2. Una vez instalado DNSMASQ, encontrará su archivo de configuración predeterminado en el directorio /etc/dnsmasq.conf, que se explica por sí mismo pero es más Difícil de configurar, debido a sus explicaciones muy comentadas.

Primero, asegúrese de realizar una copia de seguridad de este archivo en caso de que necesite revisarlo más tarde y luego cree un nuevo archivo de configuración usando su editor favorito como se muestra.

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

3. Ahora, copie y pegue las siguientes configuraciones en el archivo /etc/dnsmasq.conf y cambie los parámetros de configuración de acuerdo con su configuración de red.

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

A continuación se detallan las declaraciones de configuración que debe cambiar:

  • interfaz: las interfaces de red del servidor deben escuchar y proporcionar servicios.
  • bind-interfaces: descomente para vincular la interfaz a una tarjeta de red determinada.
  • dominio: reemplácelo con su nombre de dominio.
  • dhcp-range: cámbielo con el rango de IP de su red.
  • dhcp-boot: reemplácelo con la dirección IP de su interfaz de red.
  • dhcp-option=3,192.168.1.1: reemplácelo con su puerta de enlace de red.
  • dhcp-option=6,92.168.1.1 – Reemplácelo con la IP de su servidor DNS.
  • server=8.8.4.4: agregue las direcciones IP de sus reenviadores DNS.
  • dhcp-option=28,10.0.0.255: reemplácelo con la dirección IP de transmisión de su red opcionalmente.
  • dhcp-option=42,0.0.0.0 -Agregue los servidores de hora de su red (la dirección 0.0.0.0 es para autorreferencia).
  • pxe-prompt: manténgalo como predeterminado.
  • pxe=service: utilice x86PC para arquitecturas de 32 y 64 bits y agregue una descripción del menú debajo de las comillas.
  • enable-tftp: habilita el servidor TFTP integrado.
  • tftp-root: agregue la ubicación de los archivos de arranque de red /var/lib/tftpboot.

Para otras opciones avanzadas relacionadas con los archivos de configuración, no dude en leer el manual de dnsmasq.

Paso 2: Instale los cargadores de arranque SYSLINUX

4. Después de realizar la configuración principal de DNSMASQ, instale el paquete del gestor de arranque Syslinx PXE usando el siguiente comando.

dnf install syslinux

5. Los cargadores de arranque Syslinx PXE se instalan en /usr/share/syslinux, puede confirmarlo ejecutando el comando ls como se muestra.

ls /usr/share/syslinux

Paso 3: Instale TFTP-Server y cópielo con los cargadores de arranque SYSLINUX

6. Ahora, instale TFTP-Server y copie todos los cargadores de arranque Syslinux desde /usr/share/syslinux/ a /var/lib. /tftpboot como se muestra.

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

Paso 4: Configurar el archivo de configuración del servidor PXE

7. De forma predeterminada, el Servidor PXE lee su configuración de un conjunto de archivos específicos que se encuentran en pxelinux.cfg, que deben encontrarse en el directorio descrito en la configuración tftp-root del archivo de configuración DNSMASQ anterior.

Primero, cree un directorio pxelinux.cfg y cree un archivo default emitiendo los siguientes comandos.

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

8. Ahora abra y edite el archivo de configuración default de PXE con las opciones correctas de instalación de la distribución de Linux. Además, asegúrese de recordar que las rutas establecidas en este archivo deben ser relativas al directorio /var/lib/tftpboot.

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

El siguiente es un archivo de configuración de ejemplo que puede usar, pero asegúrese de cambiar las imágenes, protocolos e IP de instalación para reflejar los repositorios y ubicaciones de origen de instalación de red en consecuencia.

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

En la configuración anterior, puede observar que las imágenes de arranque de CentOS 8 (kernel e initrd) residen en un centos7 . directorio relativo a /var/lib/tftpboot (es decir, /var/lib/tftpboot/centos7) y se puede acceder a los repositorios del instalador mediante el protocolo FTP en 192.168.1.2/pub (dirección IP del servidor PXE).

Además, la etiqueta de menú 2 describe los repositorios espejo de las fuentes de instalación oficiales de CentOS 8 (la conexión a Internet es necesaria en el sistema cliente) y la etiqueta de menú 3 describe que se debe realizar la instalación del cliente. a través de un VNC remoto (aquí reemplace la contraseña de VNC con una contraseña segura).

Importante: Como puede ver en la configuración anterior, hemos utilizado la imagen de CentOS 8 con fines de demostración, pero también puede usar RHEL 8 imágenes.

Paso 5: agregue imágenes de arranque de CentOS 8 al servidor PXE

9. Para agregar imágenes de CentOS 8 al servidor PXE, debe descargar la imagen ISO del DVD de CentOS 8 localmente usando el comando wget y montarla.

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. Una vez que haya descargado CentOS 8, debe crear un directorio centos8 y copiar el kernel de arranque y las imágenes 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 razón detrás de este enfoque es que más adelante podrá tener directorios separados para cada nueva distribución de Linux en /var/lib/tftpboot sin estropear toda la estructura de directorios.

Paso 6: Crear la fuente de instalación de la réplica local de CentOS 8

11. Hay una variedad de protocolos (HTTP, HTTPS o NFS) que están disponibles para configurar La fuente de instalación local de CentOS 8 refleja, pero elegí el protocolo FTP porque es fácil de configurar usando el servidor vsftpd.

Instalemos el servidor Vsftpd y copiemos todo el contenido del CentOS 8 DVD al directorio FTP /var/ftp/pub como se muestra.

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

12. Ahora que toda la configuración del servidor PXE está completa, puede iniciar, habilitar y verificar el estado de los servidores DNSMASQ y VSFTPD.

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

13. A continuación, debe abrir puertos en su firewall para que los sistemas cliente puedan acceder al servidor PXE y arrancar desde él.

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. Para verificar la ubicación de red de la fuente de instalación FTP, abra su navegador y escriba la dirección IP del servidor PXE con el protocolo FTP seguido de la ubicación de red /pub.

ftp://192.168.1.2/pub

Paso 7: configurar clientes para que arranquen desde la red

15. Ahora configure los sistemas cliente para arrancar e instalar CentOS 8 en sus sistemas configurando Network Boot como dispositivo de arranque principal desde el menú BIOS.

Después de que se inicie el sistema, recibirá un mensaje PXE, donde deberá presionar la tecla F8 para ingresar a la presentación y luego presionar la tecla Enter para avanzar al menú PXE.

Eso es todo para configurar un servidor PXE mínimo en CentOS/RHEL 8.