Red Hat Training
A Red Hat training course is available for RHEL 8
14.3. Configuración de un servidor TFTP para clientes basados en UEFI
Utilice este procedimiento para configurar un servidor TFTP y un servidor DHCP e iniciar el servicio TFTP en el servidor PXE para sistemas AMD64, Intel 64 y ARM de 64 bits basados en UEFI.
- Todos los archivos de configuración de esta sección son ejemplos. Los detalles de la configuración varían y dependen de la arquitectura y los requisitos específicos.
-
El arranque UEFI PXE de Red Hat Enterprise Linux 8 soporta un formato de archivo en minúsculas para un archivo de menú grub basado en MAC. Por ejemplo, el formato de archivo de dirección MAC para grub2 es
grub.cfg-01-aa-bb-cc-dd-ee-ff
Procedimiento
Como root, instale los siguientes paquetes. Si ya tiene un servidor DHCP configurado en su red, excluya los paquetes dhcp-server.
# yum install tftp-server dhcp-server
Permitir las conexiones entrantes a la
tftp service
en el cortafuegos:# firewall-cmd --add-service=tftp
Nota-
Este comando permite el acceso temporal hasta el próximo reinicio del servidor. Para habilitar el acceso permanente, añada la opción
--permanent
al comando. - Dependiendo de la ubicación del archivo ISO de instalación, es posible que tenga que permitir las conexiones entrantes para HTTP u otros servicios.
-
Este comando permite el acceso temporal hasta el próximo reinicio del servidor. Para habilitar el acceso permanente, añada la opción
Configure su servidor DHCP para utilizar las imágenes de arranque empaquetadas con shim como se muestra en el siguiente archivo de ejemplo
/etc/dhcp/dhcpd.conf
. Tenga en cuenta que si ya tiene un servidor DHCP configurado, entonces realice este paso en el servidor DHCP.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "BOOTX64.efi"; } else { filename "pxelinux/pxelinux.0"; } } }
Acceda al archivo
BOOTX64.efi
del paqueteshim
, y al archivogrubx64.efi
del paquetegrub2-efi
en el archivo de imagen ISO del DVD Binario, donde my_local_directory es el nombre del directorio que se crea:# mount -t iso9660 /ruta_de_la_imagen/nombre_de_la_imagen.iso /punto_de_montaje -o loop,ro
# cp -pr /punto_de_montaje/BaseOS/Packages/shim-version-architecture.rpm /mi_directorio_local
# cp -pr /punto_de_montaje/BaseOS/Packages/grub2-efi-version-architecture.rpm /mi_directorio_local
# umount /mount_point
Extrae los paquetes:
# rpm2cpio shim-version-architecture.rpm | cpio -dimv
# rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
Copie las imágenes de arranque EFI de su directorio de arranque. Sustituye ARCH por shim o grub seguido de la arquitectura, por ejemplo,
grubx64
.# cp mi_directorio_local/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi/
# cp mi_directorio_local/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi
Añada un archivo de configuración llamado
grub.cfg
al directoriotftpboot/
como se muestra en el siguiente ejemplo:set timeout=60 menuentry 'RHEL 8' { linuxefi images/RHEL-8.1/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/ initrdefi images/RHEL-8.1/initrd.img }
Nota-
El programa de instalación no puede arrancar sin su imagen de ejecución. Utilice la opción de arranque
inst.stage2
para especificar la ubicación de la imagen. Alternativamente, puede utilizar la opcióninst.repo=
para especificar la imagen así como el origen de la instalación. -
La ubicación de origen de la instalación utilizada con
inst.repo
debe contener un archivo.treeinfo
válido. -
Cuando se selecciona el DVD de instalación de RHEL8 como fuente de instalación, el archivo
.treeinfo
apunta a los repositorios de BaseOS y AppStream. Puede utilizar una única opcióninst.repo
para cargar ambos repositorios.
-
El programa de instalación no puede arrancar sin su imagen de ejecución. Utilice la opción de arranque
Cree un subdirectorio para almacenar los archivos de imagen de arranque en el directorio
/var/lib/tftpboot/
, y copie los archivos de imagen de arranque en el directorio. En este ejemplo, el directorio es/var/lib/tftpboot/images/RHEL-8.1/
:# mkdir -p /var/lib/tftpboot/images/RHEL-8.1/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-8.1/
En el servidor DHCP, inicie y habilite el servicio
dhcpd
. Si ha configurado un servidor DHCP en el host local, inicie y habilite el serviciodhcpd
en el host local.# systemctl start dhcpd # systemctl enable dhcpd
Inicie y active el servicio
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
El servidor de arranque PXE está ahora listo para servir a los clientes PXE. Puede iniciar el cliente, que es el sistema en el que está instalando Red Hat Enterprise Linux, seleccione PXE Boot cuando se le pida que especifique una fuente de arranque y comience la instalación en red.
Recursos adicionales
-
Para obtener más información sobre
shim
, consulte la documentación de la versión anterior: Uso del programa Shim.