Editado 1 hace un día por ExtremeHow Equipo Editorial
Arranque de redPXEConfiguración del servidorImplementaciónConfiguraciónAdministrador del sistemaTFTPLínea de comandosInstalaciónCreación de imágenes
Traducción actualizada 1 hace un día
En esta guía, aprenderemos cómo configurar un servidor de arranque Preboot Execution Environment (PXE) en una máquina Linux. Este proceso permite a una computadora arrancar usando una imagen proporcionada a través de la red en lugar de almacenamiento local. PXE es útil para los administradores de sistemas que necesitan desplegar sistemas operativos o software en múltiples máquinas a través de una red.
PXE, que significa Preboot Execution Environment, permite que una computadora inicie a través de una interfaz de red independientemente del dispositivo de almacenamiento de datos disponible o del sistema operativo instalado. Es de gran ayuda en la automatización del despliegue de servidores y puede ser utilizado para la instalación en red del sistema operativo Linux y otros sistemas operativos.
Esencialmente, PXE consta de dos componentes principales:
Con un servidor de arranque PXE, puedes instalar sistemas operativos de manera rápida y eficiente en múltiples máquinas desde una ubicación centralizada.
Para configurar un servidor de arranque PXE en Linux, necesitarás los siguientes componentes:
El servidor DHCP asigna una dirección IP a los clientes PXE e informa sobre el siguiente servidor a contactar para el proceso de arranque.
Instala el servidor DHCP usando tu gestor de paquetes. Si estás utilizando una distribución como Ubuntu o Debian, el comando será el siguiente:
sudo apt-get install isc-dhcp-server
Después de la instalación, comienza editando el archivo de configuración del servidor DHCP, que generalmente se encuentra en /etc/dhcp/dhcpd.conf
. Necesitarás configurarlo para especificar la dirección IP del cliente PXE, máscara de subred y detalles del archivo de arranque.
A continuación se muestra un fragmento básico de configuración:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
filename "pxelinux.0";
next-server 192.168.1.5; # Dirección IP de tu Servidor PXE
option broadcast-address 192.168.1.255;
}
Una vez configurado, reinicia el servicio DHCP para aplicar los cambios:
sudo systemctl restart isc-dhcp-server
Asegúrate de que el servidor DHCP se inicie al arrancar:
sudo systemctl enable isc-dhcp-server
El servidor TFTP (Protocolo de Transferencia de Archivos Trivial) entrega el cargador de arranque al cliente PXE. Instálalo usando lo siguiente:
sudo apt-get install tftpd-hpa
Edita el archivo de configuración TFTP en /etc/default/tftpd-hpa
para asegurarte de que esté configurado correctamente para servir tus archivos de arranque:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Asegúrate de que el directorio especificado (por defecto /var/lib/tftpboot
) esté creado y pueda ser accedido. Reinicia y habilita el servicio TFTP:
sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa
SYSLINUX proporciona un cargador de arranque PXE llamado pxelinux. Primero, instala syslinux si aún no está instalado:
sudo apt-get install syslinux-common
Copia los archivos requeridos al directorio tftpboot:
sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
Para proporcionar un menú de arranque, debes crear un archivo de configuración en /var/lib/tftpboot/pxelinux.cfg
. Crea un archivo llamado default
:
DEFAULT menu.c32
PROMPT 0
TIMEOUT 50
ONTIMEOUT local
LABEL linux
MENU LABEL ^Install Linux
KERNEL vmlinuz
APPEND initrd=initrd.img
Esta configuración proporciona un menú de arranque para seleccionar una imagen de arranque por red, como Linux.
Copia los archivos del kernel y initrd desde tus medios de instalación de Linux al directorio /var/lib/tftpboot
:
sudo cp /path-to-linux-iso/vmlinuz /var/lib/tftpboot/
sudo cp /path-to-linux-iso/initrd.img /var/lib/tftpboot/
Asegúrate de que los permisos sean correctos:
sudo chmod 644 /var/lib/tftpboot/*
Debes alojar los archivos de instalación reales usando NFS o HTTP. Cada método es apropiado según los requisitos de tu red.
Instala el servidor NFS:
sudo apt-get install nfs-kernel-server
Edita el archivo de exportación /etc/exports
para incluir el directorio que contiene tus archivos de instalación:
/path-to-your-linux-files 192.168.1.0/24(ro,sync,no_root_squash)
Reinicia los servicios NFS:
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
Instala un servidor HTTP como Apache:
sudo apt-get install apache2
Vincula tus medios de instalación a un directorio accesible por web:
sudo ln -s /path-to-your-linux-files /var/www/html/linux
Reinicia Apache:
sudo systemctl restart apache2
Asegúrate de que tu firewall permita los puertos NFS/HTTP:
sudo ufw allow 2049
sudo ufw allow 80
Finalmente, configura tu cliente para iniciar desde la red. Usualmente se configura en la BIOS o configuración de firmware UEFI. Una vez que el cliente PXE inicie, se conectará a tu red y obtendrá una IP del servidor DHCP. Luego carga el archivo del cargador de arranque desde tu servidor TFTP y comienza el proceso de instalación usando los archivos proporcionados por NFS/HTTP.
Siguiendo los pasos anteriores, habrás configurado con éxito un servidor de arranque PXE que tus máquinas de red pueden usar para cargar sistemas operativos a través de la red.
Si encuentras algo incorrecto en el contenido del artículo, puedes