Configuración de un 'servidor de arranque de red PXE' para múltiples instalaciones de distribución de Linux en Rhel/Centos 7

Configuración de un 'servidor de arranque de red PXE' para múltiples instalaciones de distribución de Linux en Rhel/Centos 7

Servidor PXE - Entorno de ejecución previa a la ejecución: instruye a la computadora de un cliente que inicie, ejecute o instale un sistema operativo que forme directamente una interfaz de red, eliminando la necesidad de grabar un CD/DVD o usar un medio físico, o puede aliviar el trabajo de instalar distribuciones de Linux en su Infraestructura de red en múltiples máquinas al mismo tiempo.

Configuración del arranque de red PXE en Rhel/Centos 7

Requisitos

  1. CentOS 7 Procedimiento de instalación mínimo
  2. RHEL 7 Procedimiento de instalación mínimo
  3. Configurar la dirección IP estática en Rhel/Centos 7
  4. Eliminar servicios no deseados en Rhel/Centos 7
  5. Instale el servidor NTP para establecer el tiempo correcto del sistema en Rhel/Centos 7

Este artículo explicará cómo puede instalar y configurar un Servidor PXE en Rhel/Centos 7 X64 bits con repositorios de instalación locales reflejados, fuentes proporcionadas por la imagen ISO CentOS 7 DVD, con la ayuda de Dnsmasq Servidor.

Que proporciona DNS y DHCP servicios, Syslinux Paquete que proporciona cargadores de arranque para el arranque de la red, Servidor tftp, que hace que las imágenes de arranque estén disponibles para ser descargadas a través de la red utilizando Protocolo de transferencia de archivos triviales (Tftp) y VSFTPD Servidor que alojará la imagen de DVD con reflejo montado en el local, que actuará como un repositorio oficial de instalación de espejo RHEL/CENTOS 7 desde donde el instalador extraerá sus paquetes requeridos.

Paso 1: Instale y configure el servidor DNSMASQ

1. No es necesario recordarle que sea absolutamente exigente que una de las interfaz de su tarjeta de red, en caso de que su servidor plantee más NIC, debe configurarse con una dirección IP estática del mismo rango IP que pertenece al segmento de red que proporcionará servicios PXE.

Entonces, después de haber configurado su dirección IP estática, actualizado su sistema y realizado otras configuraciones iniciales, use el siguiente comando para instalar Dnsmasq demonio.

# yum install dnsmasq 
Instalar el paquete DNSMASQ

2. DNSMASQ Archivo de configuración predeterminado principal ubicado en /etc El directorio se explica por sí mismo, pero tiene la intención de ser bastante difícil de editar, hacer sus explicaciones muy comentadas.

Primero asegúrese de hacer 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 en blanco utilizando su editor de texto favorito emitiendo los siguientes comandos.

# mv /etc /dnsmasq.conf /etc /dnsmasq.confusión.copia de seguridad # nano /etc /dnsmasq.confusión 

3. Ahora, copie y pegue las siguientes configuraciones en dnsmasq.confusión Archivo y asegure que cambie las declaraciones explicadas a continuación para que coincidan con su configuración de red en consecuencia.

interfaz = eno16777736, lo #bind-interfaces dominio = centos7.LAN # DHCP Range-Arr-arrendamiento 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 servidor = 8.8.4.4 # Dirección de transmisión DHCP-option = 28,10.0.0.255 # NTP Server DHCP-option = 42,0.0.0.0 pxe-prompt = "presione F8 para el menú.", 60 PXE-Service = x86pc," Instale CentOS 7 desde Network Server 192.168.1.20 ", pxelinux Enable-tftp tftp-root =/var/lib/tftpboot 
Configuración de DNSMASQ

Se siguen las declaraciones que necesita cambiar:

  1. interfaz - Interfaces que el servidor debe escuchar y proporcionar servicios.
  2. intermediarios - Descopment para unir solo en esta interfaz.
  3. dominio - Reemplácelo con su nombre de dominio.
  4. rango de DHCP - Reemplácelo con el rango IP definido por su máscara de red en este segmento.
  5. botín DHCP - Reemplace la instrucción IP con la dirección IP de su interfaz.
  6. dhcp-option = 3,192.168.1.1 - Reemplace la dirección IP con su puerta de enlace de segmento de red.
  7. dhcp-option = 6,92.168.1.1 - Reemplace la dirección IP con su IP del servidor DNS - Se pueden definir varios IPS DNS.
  8. servidor = 8.8.4.4 - Ponga sus direcciones de IPS DNS REDINERS.
  9. dhcp-option = 28,10.0.0.255 - Reemplace la dirección IP con la dirección de transmisión de red, opcionalmente.
  10. dhcp-option = 42,0.0.0.0 - Ponga sus servidores de tiempo de red - opcionalmente (0.0.0.0 La dirección es para auto-referencia).
  11. PXE-PROMPT - Déjelo como predeterminado: significa presionar la tecla F8 para ingresar al menú 60 con segundos de tiempo de espera ..
  12. pxe = servicio - Use x86pc para arquitecturas de 32 bits/64 bits e ingrese una descripción del menú Descripción Solicitud en Cotizaciones de cadenas. Otros tipos de valores pueden ser: PC98, IA64_EFI, Alpha, ARC_X86, Intel_Lean_client, IA32_EFI, BC_EFI, XSCALE_EFI y X86-64_EFI.
  13. habilitar-tftp - Habilita el servidor TFTP incorporado.
  14. TFTP-ROOT - Use/var/lib/tftpboot: la ubicación para todos los archivos de NetBooting.

Para otras opciones avanzadas sobre el archivo de configuración, no dude en leer el manual de DNSMASQ.

Paso 2: Instale los cargadores de arranque Syslinux

4. Después de haber editado y salvado Dnsmasq Archivo de configuración principal, continúe e instale Syslinx Paquete PXE Bootloader emitiendo el siguiente comando.

# yum instalación syslinux 
Instalar cargadores de arranque syslinux

5. Los archivos de cargadores de arranque PXE residen en /usr/share/syslinux ruta del sistema absoluto, por lo que puede verificarlo enumerando este contenido de ruta. Este paso es opcional, pero es posible que deba ser consciente de esta ruta porque en el siguiente paso, copiaremos todo su contenido a Servidor TFTP camino.

# ls/usr/share/syslinux 
Archivos syslinux

Paso 3: Instale el servidor TFTP y llénalo con cargadores de arranque Syslinux

6. Ahora, pasemos al siguiente paso e instale Servidor tftp y, luego, copie todos los archivos de BootLoders proporcionados por el paquete Syslinux desde la ubicación mencionada anteriormente hasta /var/lib/tftpboot ruta emitiendo los siguientes comandos.

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

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

7. Típicamente el Servidor PXE lee su configuración de un grupo de archivos específicos (Guía Archivos - Primero, MAC Archivos - Siguiente, Por defecto Archivo - último) alojado en una carpeta llamada pxelinux.CFG, que debe ubicarse en el directorio especificado en TFTP-ROOT Declaración del archivo de configuración principal de DNSMASQ.

Crea el directorio requerido pxelinux.CFG y llenarlo con un por defecto Archivo emitiendo los siguientes comandos.

# mkdir/var/lib/tftpboot/pxelinux.CFG # touch/var/lib/tftpboot/pxelinux.CFG/Predeterminado 

8. Ahora es el momento de editar Servidor PXE Archivo de configuración con opciones de instalación de distribuciones de Linux válidas. También tenga en cuenta que todas las rutas utilizadas en este archivo deben ser relativas a la /var/lib/tftpboot directorio.

A continuación, puede ver un archivo de configuración de ejemplo que puede usarlo, pero modificar las imágenes de instalación (kernel e archivos initrd), protocolos (FTP, HTTP, HTTPS, NFS) y IPS para reflejar los repositorios y rutas de la fuente de instalación de su red en consecuencia.

# nano/var/lib/tftpboot/pxelinux.CFG/Predeterminado 

Agregue el siguiente extracto completo al archivo.

menú predeterminado.C32 indicador 0 Tiempo de espera 300 en el tiempo de tiempo de tiempo de tiempo en el tiempo de tiempo ######### PXE Menú de arranque ######### Etiqueta 1 Etiqueta del menú ^1) Instale CentOS 7 x64 con el núcleo de repo local CentOS7/Vmlinuz Agregar initrd = centos7/initrd.método img = ftp: // 192.168.1.20/pub devfs = nomount etiqueta 2 etiqueta de menú ^2) instalar centos 7 x64 con http: // espejo.cento.Org Repo kernel centos7/vmlinuz append initrd = centos7/initrd.método img = http: // espejo.cento.org/centos/7/OS/x86_64/devfs = nomount ip = etiqueta de etiqueta dhcp 3 etiqueta de menú ^3) instalar centos 7 x64 con repo local usando el núcleo VNC Centos7/VMlinuz append initrd = centos7/initrd.método img = ftp: // 192.168.1.20/pub devfs = nomount instit.VNC Inst.vncpassword = etiqueta de contraseña 4 etiqueta de menú ^4) arrancar desde la unidad local 
Configurar servidor PXE

Como puede ver las imágenes de Boot CentOS 7 (kernel e initrd) residen en un directorio llamado Centos7 relativo a /var/lib/tftpboot (en una ruta del sistema absoluto esto significaría /var/lib/tftpboot/centos7) y se pueden llegar a los repositorios del instalador utilizando Ftp protocolo sobre 192.168.1.20/pub Ubicación de la red: en este caso, los repos se alojan localmente porque la dirección IP es la misma que la dirección del servidor PXE).

También menú etiqueta 3 Especifica que la instalación del cliente debe realizarse desde una ubicación remota a través de VNC (aquí reemplace la contraseña VNC con una contraseña segura) en caso de que instale en un cliente sin cabeza y el menú etiqueta 2 especifica como
Fuentes de instalación Un espejo oficial de Internet CentOS 7 (este caso requiere una conexión a Internet disponible en el cliente a través de DHCP y NAT).

Importante: Como puede ver en la configuración anterior, hemos utilizado CentOS 7 para fines de demostración, pero también puede definir imágenes RHEL 7, y seguir instrucciones y configuraciones completas se basan solo en CentOS 7, así que tenga cuidado al elegir la distribución.

Paso 5: Agregue imágenes CentOS 7 Boot al servidor PXE

9. Para este paso, se requieren archivos de núcleos Centos e initrd. Para obtener esos archivos necesita el CentOS 7 DVD ISO Imagen. Entonces, continúe y descargue la imagen del DVD de Centos, póngala en su unidad de DVD y monte la imagen para /MNT ruta del sistema emitiendo el siguiente comando.

La razón para usar el DVD y no una imagen de CD mínima es el hecho de que más tarde se utilizaría este contenido de DVD para crear el
Repositorios de instalación localmente para Ftp fuentes.

# Mount -o Loop /dev /cdrom /mnt # ls /mnt 
DVD de montaje Centos

Si su máquina no tiene una unidad de DVD, también puede descargar CentOS 7 DVD ISO Usando localmente wget o rizo servicios públicos de un espejo de Centos y montarlo.

# wget http: // espejos.XSERVERS.RO/CentOS/7.0.1406/ISOS/X86_64/CENTOS-7.0-1406-X86_64-DVD.ISO # Mount -O loop/ruta/a/centos -dvd.ISO /MNT 

10. Después de que el contenido de DVD esté disponible, cree el Centos7 Directorio y copia CentOS 7 Imágenes de núcleo de arranque e inicio desde la ubicación montada en DVD a la estructura de la carpeta CentOS7.

# mkdir/var/lib/tftpboot/centos7 # cp/mnt/images/pxeboot/vmlinuz/var/lib/tftpboot/centos7 # cp/mnt/images/pxeboot/inyrd.img/var/lib/tftpboot/centos7 
Copiar archivos de arranque CentOS

La razón para usar este enfoque es que más tarde puede crear nuevos directorios separados en /var/lib/tftpboot ruta y agregue otras distribuciones de Linux al menú PXE sin estropear toda la estructura del directorio.

Paso 6: Crear Fuente de instalación de Mirror Local CentOS 7

11. Aunque puedes configurar Espejos de fuente de instalación a través de una variedad de protocolos como http, https o nfs, para esta guía, he elegido Ftp Protocolo porque es muy confiable y fácil de configurar con la ayuda de VSFTPD servidor.

Instalar adicional VSFTPD Daemon, copie todo el contenido montado en DVD a VSFTPD ruta de servidor predeterminada (/var/ftp/pub) - Esto puede llevar un tiempo dependiendo de los recursos de su sistema y agregar permisos legibles a esta ruta emitiendo los siguientes comandos.

# yum instalación vsftpd # cp -r/mnt/*/var/ftp/pub/ # chmod -r 755/var/ftp/pub 
Instalar servidor VSFTPD Copiar archivos a la ruta FTP Establecer permisos en la ruta FTP

Paso 7: Iniciar y habilitar Daemons en todo el sistema

12. Ahora que la configuración del servidor PXE finalmente ha terminado, inicie Dnsmasq y VSFTPD servidores, verificar su estado y habilitarlo en todo el sistema, para comenzar automáticamente después de cada reinicio del sistema, ejecutando los siguientes comandos.

# SystemCTL Start DNSMASQ # SystemCTL Status DNSMASQ # SystemCTL Start VSFTPD # SystemCTL Status vsftpd # SystemCTL Habilitar DNSMASQ # SystemCTL Enable VSFTPD 
Iniciar servicio DNSMASQ Iniciar servicio VSFTPD

Paso 8: Abra el firewall y pruebe la fuente de instalación de FTP

13. Para obtener una lista de todos los puertos que deben estar abiertos en su firewall para que las máquinas clientes alcancen y arrancen desde el servidor PXE, ejecute netstat Comando y agregue las reglas CentOS 7 Firewalld en consecuencia a los puertos de escucha DNSMASQ y VSFTPD.

# netstat -tulpn # firewall-cmd --add-service = ftp --Permanent ## puerto 21 # firewall-cmd --add-service = dns --permanent ## puerto 53 # firewall-cmd --add-service = DHCP --Permanent ## Port 67 # FireWall-CMD --add-puerto = 69/UDP --Permanent ## Puerto para TFTP # FireWall-CMD --Add-Port = 4011/UDP --Permanent ## Port para ProxydHCP # Firewall-CMD-Reload ## Aplicar reglas 
Verifique los puertos de escucha Puertos abiertos en firewall

14. Para probar la ruta de red de origen de instalación de FTP, abra un navegador localmente (Lynx debe hacerlo) o en una computadora diferente y escriba la dirección IP de su servidor PXE con
Protocolo FTP seguido de /pub Ubicación de la red en URL presentada y el resultado debe ser como se presenta en la siguiente captura de pantalla.

ftp: // 192.168.1.20/pub 
Acceso a los archivos FTP a través del navegador

15. Para depurar el servidor PXE para eventuales configuraciones erróneas u otra información y diagnósticos en modo en vivo Ejecute el siguiente comando.

# Tailf/var/log/mensajes 
Verifique los registros de PXE en busca de errores

dieciséis. Finalmente, el último paso requerido que debe hacer es desmontar CentOS 7 DVD y eliminar el medio físico.

# Umount /Mnt 

Paso 9: Configurar clientes para arrancar desde la red

17. Ahora sus clientes pueden arrancar e instalar CentOS 7 en sus máquinas configurando el arranque de la red como dispositivo de arranque primario de sus sistemas BIOS o al alcanzar una clave especificada durante Post de biografías Operaciones como se especifica en el manual de placa base.

Para elegir el arranque de la red. Después de que aparezca el primer mensaje PXE, presione F8 clave para ingresar a la presentación y luego presione Ingresar clave para avanzar al menú PXE.

Arranque de red PXE PXE Network OS Boot

18. Una vez que haya alcanzado el menú PXE, elija su tipo de instalación CentOS 7, presione Ingresar clave y continúe con el procedimiento de instalación de la misma manera que podría instalarlo desde un dispositivo de arranque de medios locales.

Tenga en cuenta que el uso de la variante 2 de este menú requiere una conexión a Internet activa en el cliente de destino. Además, en abajo
Capturas de pantalla Puede ver un ejemplo de instalación remota de un cliente a través de VNC.

Menú PXE Instalación remota de Linux a través de VNC Instalación remota de CentOS

Eso es todo para configurar un mínimo Servidor PXE en Centos 7. En mi próximo artículo de esta serie, discutiré otros temas relacionados con esta configuración del servidor PXE, como cómo configurar las instalaciones automatizadas de Centos 7 usando Puntapié inicial archivos y agregar otras distribuciones de Linux al menú PXE - Servidor ubuntu y Debian 7.