Instalar múltiples distribuciones de Linux usando el arranque de red PXE en RHEL/CentOS 8

Servidor PXE – Preboot eXecution Environment es una arquitectura cliente-servidor estandarizada que instruye a un sistema cliente para arrancar, ejecutar o instalar múltiples sistemas operativos Linux usando una interfaz de red con capacidad PXE en su infraestructura de red.

Requisitos

    • Instalación del Servidor Mínimo de CentOS 8
    • Instalación del Servidor Mínimo de RHEL 8
    • Configurar la Dirección IP Estática en RHEL/CentOS 8

En este artículo, aprenderá a instalar y configurar un servidor de arranque en red PXE en CentOS/RHEL 8 con repositorios de instalación local en espejo proporcionados por las imágenes ISO de CentOS 8 y RHEL 8.

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

  • DNSMASQ – un forwarder DNS ligero que proporciona un servicio DNS y DHCP con soporte para PXE y un servidor TFTP.
  • Syslinux – un cargador de arranque de Linux que proporciona cargadores de arranque para el arranque en red.
  • Servidor TFTP – un simple protocolo de transferencia de archivos a paso de llave que crea imágenes de arranque disponibles para ser descargadas a través de una red.
  • Servidor VSFTPD – un protocolo seguro de transferencia de archivos que alojará la imagen de DVD en espejo montada localmente – que actuará como un repositorio oficial de instalación en espejo de RHEL/CentOS 8 de donde el instalador sacará sus paquetes necesarios.

Paso 1: Instalar y configurar el servidor DNSMASQ

1. Es importante recordar que una de sus interfaces de red debe estar configurada con una dirección IP estática del mismo rango de IP de la red que proporciona los 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
Instalar DNSMASQ en CentOS

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

Primero, asegúrese de tomar una copia de seguridad de este archivo en caso de que pueda necesitarlo para revisarlo más tarde y luego, cree un nuevo archivo de configuración utilizando 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 sus ajustes de red.

dnsmasq.conf – Archivo de configuración

Configurar DNSMASQ en CentOS

Las declaraciones de configuración que debe cambiar son las siguientes:

  • interfaz – Una interfaz de red del servidor debe escuchar y proporcionar servicios.
  • bind-interfaces – Descomentar para enlazar la interfaz a una tarjeta de red determinada.
  • domain – Sustitúyalo por su nombre de dominio.
  • dhcp-range – Cámbielo por su rango de IP de red.
  • dhcp-boot – Sustitúyalo por la dirección IP de su interfaz de red.
  • dhcp-option=3,192.168.1.1 – Sustitúyalo por su puerta de enlace de red.
  • dhcp-option=6,92.168.1.1 – Sustitúyalo por la IP de su servidor DNS.
  • server=8.8.4.4 – Añada las direcciones IP de sus reenviadores DNS.
  • dhcp-option=28,10.0.0.255 – Sustitúyalo por la dirección IP de difusión de su red opcionalmente.
  • dhcp-option=42,0.0.0 -Añada sus servidores de tiempo de red (la dirección 0.0.0.0 es de autorreferencia).
  • pxe-prompt – Mantenerlo por defecto.
  • pxe=service – Usar x86PC para arquitecturas de 32 bits/64 bits y añadir un menú de descripción del prompt bajo las comillas de la cadena.
  • enable-tftp – Habilita el servidor TFTP incorporado.
  • tftp-root – Añadir la ubicación de los archivos de arranque en red /var/lib/tftpboot.

Para otras opciones avanzadas relativas a los archivos de configuración no dude en leer el manual de dnsmasq.

Paso 2: Instalar los gestores de arranque SYSLINUX

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

# dnf install syslinux
Instalar Syslinux en CentOS

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

# ls /usr/share/syslinux
Compruebe los cargadores de arranque de Syslinux

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

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

# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Instale TFTP-Server en CentOS

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

7. Por defecto, el servidor PXE lee su configuración de un conjunto de archivos específicos que se encuentran en pxelinux.cfg, que debe 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 PXE default con las opciones correctas de instalación de la distribución 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 utilizarlo, pero asegúrese de cambiar las imágenes de instalación, los protocolos y las IP para reflejar sus repositorios de origen de instalación de red y ubicaciones en consecuencia.

Fichero de configuración por defecto de PXE
Fichero de configuración por defecto de PXE

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

Además, el menu label 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 menu label 3 describe que la instalación del cliente debe hacerse a través de un VNC remoto (aquí reemplazar la contraseña de VNC con una contraseña fuerte).

Importante: Como veis en la configuración anterior, hemos utilizado la imagen de CentOS 8 para fines de demostración, pero también podéis utilizar imágenes de RHEL 8.

Paso 5: Añadir imágenes de arranque de CentOS 8 al servidor PXE

9. Para añadir las imágenes de CentOS 8 al servidor PXE, es necesario descargar la imagen ISO del DVD de CentOS 8 localmente utilizando el comando wget y montarla.

10. Una vez que haya descargado CentOS 8, es necesario crear un directorio centos7 y copiar el kernel de arranque y las imágenes initrd.

La razón detrás de tener este enfoque es que más tarde se puede tener directorios separados para cada nueva distribución de Linux bajo /var/lib/tftpboot sin desordenar toda la estructura de directorios.

Paso 6: Crear CentOS 8 Fuente de Instalación Espejo Local

11. Hay una variedad de protocolos (HTTP, HTTPS, o NFS) que están disponibles para la configuración de CentOS 8 fuente de instalación local espejos, pero he elegido el protocolo FTP porque es fácil de configurar utilizando vsftpd server.

Vamos a instalar el servidor Vsftpd y copiar todo el contenido de 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 se ha completado, 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 los puertos de su cortafuegos para que los sistemas cliente puedan alcanzar y arrancar desde el servidor PXE.

14. Para verificar la ubicación de red del origen de la 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
Verifique el directorio FTP

Paso 7: Configurar los clientes para arrancar desde la red

15. Ahora configure los sistemas cliente para que arranquen e instalen CentOS 8 en sus sistemas configurando el arranque desde la red como dispositivo principal de arranque desde el menú de la BIOS.

Después de que el sistema arranque, obtendrá un prompt PXE, donde necesita presionar la tecla F8 para entrar en la presentación y luego presionar la tecla Enter para proceder al menú PXE.

Menú del Servidor de Arranque PXE
Instalar CentOS 8 desde el Servidor PXE

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada.