17 Preparación del entorno de arranque de red #
En este capítulo se describe cómo configurar servidores DHCP y TFTP que proporcionen la infraestructura necesaria para el arranque con PXE.
SUSE® Linux Enterprise Server se puede instalar a través de un entorno de ejecución previa al arranque (PXE). El hardware cliente debe admitir el arranque mediante PXE. La red debe disponer de un servidor DHCP y un servidor TFTP que proporcione los datos necesarios a los clientes. En este capítulo encontrará información que le ayudará a configurar los servidores necesarios.
PXE solo arranca un núcleo e initrd. Se puede utilizar para arrancar un entorno de instalación o sistemas Live. Para configurar los orígenes de instalación, consulte el Capítulo 16, Configuración de un origen de instalación de red.
En esta sección se describen las tareas de configuración necesarias en entornos de arranque complejos. Contiene ejemplos de configuración listos para usar para DHCP, arranque en PXE, TFTP y Wake on LAN.
Los ejemplos presuponen que los servidores DHCP, TFTP y NFS se encuentran en el mismo equipo con la dirección IP 192.168.1.1
. Todos los servicios pueden residir en distintos equipos. Asegúrese de cambiar las direcciones IP según sea necesario.
17.1 Configuración de un servidor DHCP #
Un servidor DHCP proporciona asignaciones de direcciones IP tanto dinámicas (Sección 17.1.1, “Asignación de direcciones dinámicas”) como estáticas (Sección 17.1.2, “Asignación de direcciones IP estáticas”) a los clientes de la red. Se anuncian servidores, routers y dominios. En el caso de los servidores TFTP, DHCP también proporciona los archivos de núcleo y de initrd. Los archivos que se cargan dependen de la arquitectura del equipo de destino y de si se utiliza un arranque BIOS tradicional o UEFI. Los clientes transmiten su tipo de arquitectura en las peticiones DHCP. En función de esta información, el servidor DHCP decide qué archivos debe descargar el cliente para el arranque.
A partir de SUSE Linux Enterprise 15.0, hay condiciones especiales que provocan que el arranque PXE y las instalaciones de AutoYaST fallen. Consulte la Sección 17.1.3, “Fallos en la instalación de PXE y AutoYaST” para obtener más información y la solución.
17.1.1 Asignación de direcciones dinámicas #
En el siguiente ejemplo se muestra cómo configurar un servidor DHCP que asigna dinámicamente direcciones IP a los clientes y anuncia servidores, routers, dominios y archivos de arranque.
Inicie sesión como usuario
root
en la máquina que aloje el servidor DHCP.Para habilitar el servidor DHCP, ejecute el comando
systemctl enable dhcpd
.Añada las siguientes líneas a una configuración de subred del archivo de configuración del servidor DHCP que se encuentra en
/etc/dhcp.conf
:# The following lines are optional option domain-name "my.lab"; option domain-name-servers 192.168.1.1; option routers 192.168.1.1; option ntp-servers 192.168.1.1; ddns-update-style none; default-lease-time 3600; # The following lines are required option arch code 93 = unsigned integer 16; # RFC4578 subnet 192.168.1.0 netmask 255.255.255.0 { next-server 192.168.1.1; range 192.168.1.100 192.168.1.199; default-lease-time 3600; max-lease-time 3600; if option arch = 00:07 or option arch = 00:09 { filename "/EFI/x86/grub.efi"; } else if option arch = 00:0b { filename "/EFI/aarch64/bootaa64.efi"; } else { filename "/BIOS/x86/pxelinux.0"; } }
En este ejemplo de configuración se utiliza la subred
192.168.1.0/24
con los servicios DHCP, DNS y gateway en el servidor con la dirección IP192.168.1.1
. Recuerde modificar todas las direcciones IP según la estructura de la red. Para obtener más información acerca las opciones disponibles endhcpd.conf
, consulte la página de Man dedhcpd.conf
.Para reiniciar el servidor DHCP, ejecute el comando
systemctl restart dhcpd
.
17.1.2 Asignación de direcciones IP estáticas #
Un servidor DHCP también puede asignar direcciones IP estáticas y nombres de host a los clientes de la red. Uno de los casos de uso consiste en asignar direcciones estáticas a los servidores. Otro consiste en restringir los clientes que pueden unirse a la red permitiendo solo los que tienen direcciones IP estáticas asignadas y no proporcionar repositorios de direcciones dinámicas.
Modifique la configuración de DHCP anteriores de acuerdo con el siguiente ejemplo:
group { host test { hardware ethernet MAC_ADDRESS; fixed-address IP_ADDRESS; } }
La declaración de host asigna un nombre de host al destino de la instalación. Para vincular el nombre de host y la dirección IP con un host determinado, debe especificar la dirección de hardware del sistema (MAC). Sustituya todas las variables utilizadas en este ejemplo por los valores reales correspondientes a su entorno y, a continuación, guarde los cambios y reinicie el servidor DHCP.
17.1.3 Fallos en la instalación de PXE y AutoYaST #
A partir de SUSE Linux Enterprise 15.0 y de ISC DHCP 4.3.x, hay circunstancias especiales que provocan que el arranque PXE y las instalaciones de AutoYaST fallen. Si el servidor DHCP no dispone de un repositorio de direcciones IP dinámicas disponibles, solo permite direcciones estáticas predefinidas por cliente y los clientes envían identificadores de cliente RFC 4361, las instalaciones de PXE/AutoYaST no funcionan. Si solo se permiten las direcciones asignadas a clientes red específicos y no se proporcionan repositorios de direcciones dinámicas, se impide que equipos aleatorios puedan unirse a la red.
Cuando se inicia un nuevo sistema en PXE, este envía una petición al servidor DHCP y se identifica a sí mismo mediante un identificador de cliente generado a partir del tipo de hardware y la dirección MAC de la interfaz de red. Se trata de un client-id
RFC 2132. El servidor DHCP ofrece la dirección IP asignada. A continuación, se carga el núcleo de la instalación y se envía otra petición DHCP, pero este client-id
es diferente y se envía en formato RFC 4361. El servidor DHCP no lo reconocerá como el mismo cliente y buscará una dirección IP dinámica libre, que no está disponible, por lo que la instalación se detendrá.
La solución es configurar los clientes para que envíen identificadores de cliente en formato RFC 2132. Para enviar un client-id
RFC 2132 durante la instalación, utilice linuxrc
para pasar el siguiente comando ifcfg
:
ifcfg=eth0=dhcp,DHCLIENT_CLIENT_ID=01:03:52:54:00:02:c2:67, DHCLIENT6_CLIENT_ID=00:03:52:54:00:02:c2:67
El client-id
DHCPv4 RFC 2132 utilizado tradicionalmente en Ethernet se crea a partir del tipo de hardware (01
para Ethernet), seguido de la dirección de hardware (la dirección MAC); por ejemplo:
01:52:54:00:02:c2:67
El client-id
DHCPv4 RFC 4361 intenta corregir el problema de identificación de los equipos que tienen más de una interfaz de red. El nuevo client-id
DHCPv4 tiene el mismo formato que el client-id
DHCPv6. Empieza con el prefijo 0xFF
, en lugar del tipo de hardware, seguido por el IAID (el ID de asociación interfaz-dirección que describe la interfaz del equipo) DHCPv6, seguido del identificador único DHCP DHCPv6 (DUID), que identifica al equipo de forma exclusiva.
Mediante el uso del DUID basado en el tipo de hardware y en la dirección del hardware, el nuevo client-id
DHCPv4 RFC 4361 podría tener este aspecto:
Usando los últimos bytes de la dirección MAC como IAID:
ff:00:02:c2:67:00:01:xx:xx:xx:xx:52:54:00:02:c2:67
Si el IAID simplemente en un número incremental:
ff:00:00:00:01:00:01:xx:xx:xx:xx:52:54:00:02:c2:67
Los campos xx:xx:xx:xx de la marca horaria de capa de enlace DUID (DUID-LLT) son una marca horaria creada automáticamente. Las capas de enlace DUID (DUID-LL) (00:03:00:01:$MAC
) no disponen de marca horaria.
Para obtener más información sobre cómo usar linuxrc
, consulte la Guía de AutoYaST. Consulte también el archivo man 4 initrd
y la documentación sobre las opciones dhcp4 "create-cid"
y dhcp6 "default-duid"
en man 5 wicked-config
y sobre wicked duid --help
y wicked iaid --help
.
17.2 Configuración de un servidor TFTP #
El siguiente procedimiento describe cómo se prepara el servidor para que los equipos cliente con UEFI y BIOS puedan arrancarse de forma remota usando archivos exportados por TFTP.
17.2.1 Instalación de un servidor TFTP #
Para instalar un servidor TFTP, utilice el siguiente procedimiento:
Instale el paquete
tftp
.tux >
sudo
zypper in tftp
Revise la configuración de
tftpd
en/etc/sysconfig/tftp
y añada o modifique las opciones según sea necesario. Consulteman 8 tftpd
para obtener más información. El daemon TFTP funciona sin necesidad de modificar la configuración. El directorio raíz por defecto para los archivos es/srv/tftpboot
.Asegúrese de que
tftpd
se inicia durante el arranque y reinícielo para leer la nueva configuración.tux >
sudo
systemctl enable tftp.socket
tux >
sudo
systemctl restart tftp.socket
17.2.2 Instalación de archivos para el arranque #
SUSE Linux Enterprise Server proporciona los archivos necesarios para arrancar mediante PXE en equipos con BIOS o UEFI. Se admiten las siguientes arquitecturas de hardware:
AMD64/Intel 64
AArch64
POWER
IBM Z
Los archivos necesarios para arrancar desde una arquitectura de hardware específica se incluyen en un paquete RPM. Instálelo en el equipo donde se ejecuta el servidor TFTP:
tux >
sudo
zypper in tftpboot-installation-SLE-OS_VERSION-ARCHITECTURE
Sustituya OS_VERSION por el número de versión de su instalación de SUSE Linux Enterprise Server (por ejemplo, SLE-15-SP2-x86_64) y ARCHITECTURE por la arquitectura de su sistema (por ejemplo, x86_64
). El texto resultante tendrá un aspecto similar al siguiente: tftpboot-installation-SLE-15-SP2-x86_64
Ejecute zypper se tftpboot
para buscar todas las arquitecturas y las versiones disponibles.
Los archivos se instalarán en /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE
. También puede copiar los archivos para otras versiones y las arquitecturas de SUSE Linux Enterprise Server en el directorio /srv/tftpboot
.
Las arquitecturas de hardware del cliente y del servidor pueden ser distintas. Por ejemplo, es posible ejecutar un servidor AMD64/Intel 64 TFTP y proporcionar un entorno de arranque para equipos cliente AArch64 instalando el paquete tftpboot-installation-SLE-15-SP2-aarch64 .
/srv/tftpboot/
ya existe
Si el directorio /srv/tftpboot/
ya existe en el equipo, todos los archivos se instalarán en /usr/share/tftpboot-installation/
. Este es el caso si va a actualizar el servidor PXE desde una versión anterior de SLES.
Para solucionar este problema, copie los archivos manualmente desde /usr/share/tftpboot-installation/
a /srv/tftpboot/
. También es posible eliminar /srv/tftpboot/
y volver a instalar el paquete
tftpboot-installation-SLE-OS_VERSION-ARCHITECTURE
.
17.2.3 Configuración PXELINUX #
Abra el archivo /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/default
en un editor. Sustituya la vía del parámetro install
según la configuración, tal como se describe en el Capítulo 16, Configuración de un origen de instalación de red. Sustituya TFTP_SERVER con la dirección IP del servidor TFTP. Encontrará una descripción general de las opciones de configuración de PXELINUX en la Sección 17.3, “Opciones de configuración de PXELINUX”.
default linux # install label linux ipappend 2 kernel boot/ARCHITECTURE/loader/linux append initrd=boot/ARCHITECTURE/loader/initrd instsys=tftp://TFTP_SERVER/SLE-OS_VERSION-ARCHITECTURE/boot/ARCHITECTURE/root install=PROTOCOL://SERVER_IP:/PATH display message implicit 1 prompt 1 timeout 50
Para obtener información acerca de los parámetros de arranque que se utilizan en la línea append
, consulte la Sección 7.3, “Lista de parámetros de arranque importantes”.
Si es necesario, edite /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/message
para que se muestre un mensaje en el menú de arranque.
17.2.4 Preparación del arranque PXE para EFI con GRUB2 #
No es necesario modificar los archivos de configuración de GRUB2. No obstante, en los valores por defecto no se proporciona ningún origen de red para el sistema de instalación. Si desea instalar totalmente SUSE Linux Enterprise Server a través de la red, añada el parámetro install
a las líneas linuxefi
en el archivo /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/EFI/BOOT/grub.cfg
. Defina el parámetro install
según la configuración, tal como se describe en el Capítulo 16, Configuración de un origen de instalación de red. Para obtener información acerca de otros parámetros de arranque que se utilizan en las líneas efilinux
, consulte la Sección 7.3, “Lista de parámetros de arranque importantes”.
17.3 Opciones de configuración de PXELINUX #
A continuación aparecen algunas de las opciones disponibles para el archivo de configuración de PXELINUX.
APPEND OPCIONES
Añada una o más opciones a la línea de comandos del núcleo. Éstas se añaden para arranques automáticos y manuales. Las opciones se añaden al principio de la línea de comandos del núcleo, y normalmente admiten que las opciones del núcleo introducidas explícitamente las sobrescriban.
APPEND -
No añade nada. Se puede utilizar
APPEND
con un solo guion como argumento en una secciónLABEL
para anular un valor deAPPEND
global.DEFAULT OPCIONES_NÚCLEO...
Establece la línea de comandos del núcleo por defecto. Si PXELINUX arranca de manera automática, actúa como si las entradas posteriores a DEFAULT se hubieran escrito en el indicador de inicio, excepto la opción auto que se añade de manera automática, lo que indica un arranque automático.
Si no hay ningún archivo de configuración o ninguna entrada DEFAULT definida en el archivo de configuración, el valor por defecto es el nombre del núcleo “linux”, sin opciones.
IFAPPEND FLAG
Añade una opción específica a la línea de comando del núcleo dependiendo del valor de FLAG. La opción
IFAPPEND
solo está disponible en PXELINUX. FLAG espera un valor, descrito en Tabla 17.1, “Opciones de líneas de comandos del núcleo generadas y añadidas desdeIFAPPEND
”:Tabla 17.1: Opciones de líneas de comandos del núcleo generadas y añadidas desdeIFAPPEND
#Argumento
Línea de comando del núcleo generada/Descripción
1
ip=CLIENT_IP:BOOT_SERVER_IP:GW_IP:NETMASK
Los espacios reservados se reemplazan según la entrada del servidor de arranque DHCP/BOOTP o PXE.
Tenga en cuenta que esta opción no sustituye a la ejecución de un cliente DHCP en el sistema arrancado. Sin renovaciones regulares, la asignación adquirida por el BIOS PXE caducará, con lo que la dirección IP vuelve a estar disponible para que la reutilice el servidor DHCP.
2
BOOTIF=MAC_ADDRESS_OF_BOOT_INTERFACE
Esta opción resulta útil para evitar interrupciones cuando el servidor de instalación sondea una interfaz LAN tras otra hasta que recibe respuesta de un servidor DHCP. Esta opción permite que un programa initrd determine desde qué interfaz se ha arrancado el sistema. linuxrc lee esta opción y utiliza la interfaz de red.
4
SYSUUID=SYSTEM_UUID
Añade UUID en formato hexadecimal en minúscula, ver
/usr/share/doc/packages/syslinux/pxelinux.txt
LABEL ETIQUETA KERNEL IMAGEN APPEND OPCIONES...
Indica que si ETIQUETA se introduce como el núcleo que se debe arrancar, PXELINUX debe arrancar en su lugar IMAGEN y se deben usar las opciones de
APPEND
especificadas. Reemplazarán a las indicadas en la sección global del archivo, antes del primer comandoLABEL
. El valor por defecto de IMAGEN es el mismo que LABEL y, si no se introduce ningúnAPPEND
, el valor por defecto consiste en utilizar la entrada global (si hubiera alguna). Se permiten hasta 128 entradasLABEL
.PXELINUX utiliza la siguiente sintaxis:
label MYLABEL kernel MYKERNEL append MYOPTIONS
Las etiquetas se truncan como si fueran nombres de archivo, y deben ser únicas después del truncamiento. Por ejemplo, dos etiquetas como “v2.6.30” y “v2.6.31” no podrán distinguirse en PXELINUX, ya que ambas se truncan con el mismo nombre de archivo de DOS.
No es necesario que el núcleo sea de Linux. También puede tratarse de un sector de arranque o de un archivo COMBOOT.
LOCALBOOT TIPO
En PXELINUX, especificar
LOCALBOOT 0
en lugar de una opción deKERNEL
significa la invocación de esa etiqueta en particular y provoca un arranque del disco local en lugar de un arranque del núcleo.Argumento
Descripción
0
Realiza un arranque normal
4
Realiza un arranque local con el controlador Universal Network Driver Interface (UNDI) aún residente en memoria
5
Realiza un arranque local con el stack de PXE completo, incluido el controlador UNDI, aún residente en memoria
Los demás valores no están definidos. Si desconoce los stacks UNDI o PXE, especifique
0
.TIMEOUT TIEMPO LÍMITE
Indica cuánto tiempo deberá esperar en el indicador de inicio antes de arrancar automáticamente, en décimas de segundo. El tiempo límite queda cancelado cuando el usuario pulsa alguna tecla, en cuyo caso se asume que será este quien complete el comando iniciado. Un tiempo límite de cero inhabilita la opción de tiempo límite (es el ajuste por defecto). El máximo valor posible para el valor del tiempo límite es de 35996 (algo menos de una hora).
PROMPT valor_de_indicador
Si
flag_val
es 0, muestra el indicador de inicio solo si se pulsan las teclas Mayús o Alt, o si están activados, Bloq Mayús o Bloq Despl (es la opción por defecto). Sivalor_de_indicador
es 1, siempre se muestra el indicador de inicio.F2 FILENAME F1 FILENAME ..etc... F9 FILENAME F10 FILENAME
Muestra en la pantalla el archivo indicado cuando se pulsa una tecla de función en el indicador de inicio. También se puede utilizar para implementar una ayuda en línea para antes del arranque (normalmente para las opciones de la línea de comandos del núcleo). Por compatibilidad con versiones anteriores, F10 también puede introducirse como
F0
. Tenga en cuenta que no es posible asociar nombres de archivos a F11 ni F12.
17.4 Preparación del sistema de destino para arranque en PXE #
Prepare el BIOS del sistema para arranque en PXE incluyendo la opción de PXE en el orden de arranque del BIOS.
No coloque la opción de PXE por encima del parámetro de arranque desde disco duro en el BIOS. De lo contrario, el sistema intentará reinstalarse cada vez que lo arranque.
17.5 Preparación del sistema de destino para Wake on LAN #
Wake on LAN (WOL) necesita que se habilite la opción correspondiente del BIOS antes de la instalación. Además, es necesario tomar nota de la dirección MAC del sistema de destino. Este dato es necesario para iniciar Wake on LAN.
17.6 Wake on LAN #
Wake on LAN permite encender una máquina mediante el envío de un paquete de red especial que contiene la dirección MAC de la máquina. Dado que los identificadores MAC deben ser únicos para cada máquina, no hay que preocuparse si se conecta accidentalmente una máquina equivocada.
Si la máquina de control no se encuentra en el mismo segmento de red que el destino del comando WOL, dispondrá de 2 opciones. Configure las peticiones WOL para que se envíen como multidifusión o bien controle remotamente una máquina de dicho segmento de red para que actúe como remitente de estas peticiones.
Los usuarios de SUSE Linux Enterprise Server pueden usar un módulo YaST llamado WOL para configurar Wake on LAN fácilmente. Los usuarios de otras versiones de sistemas operativos basados en SUSE Linux pueden usar una herramienta de línea de comandos.
17.7 Wake on LAN con YaST #
Utilice este procedimiento para configurar Wake on LAN con YaST.
Entre a la sesión como usuario
root
.Inicie
› › .Haga clic en
y escriba el nombre de host y la dirección MAC del sistema de destino.Para encender este equipo, seleccione la entrada adecuada y haga clic en