Paso opcional: Configurar un servidor DHCP de Windows/Linux para el arranque PXE de Medulla (BIOS y UEFI)
Aplicable a: Medulla Imaging / PXE
Versión: Todas
Entorno: On-Premise
Categoría: DHCP / PXE / Imágenes
Objetivo
En esta FAQ se explica cómo configurar un servidor DHCP para permitir el arranque PXE de los equipos con Medulla, tanto en modo BIOS como en modo UEFI x64.
El servidor DHCP debe ser capaz de enviar el archivo de arranque adecuado según el tipo de equipo que se inicie mediante PXE.
Principio de funcionamiento
Cuando un equipo arranca en modo PXE, se pone en contacto con el servidor DHCP para obtener:
- Una dirección IP
- La dirección del servidor PXE de Medulla
- El archivo de arranque que debe cargarse
Las dos opciones principales de DHCP son:
| Opción DHCP | Función | Valor esperado |
|---|---|---|
| 66 | Dirección del servidor PXE | Dirección IP del servidor Medulla |
| 67 | Archivo de arranque PXE | Depende del modo BIOS o UEFI |
Archivos de arranque de Medulla
| Tipo de arranque | Arquitectura | Archivo de arranque |
|---|---|---|
| BIOS | x86 / x64 | bootloader/undionly.kpxe |
| UEFI | x64 | bootloader-uefi64/ipxe.efi |
Importante:
El archivo de arranque no es el mismo para los equipos con BIOS y los equipos con UEFI. Un valor incorrecto en la opción 67 impide el arranque PXE.
Configuración de un servidor DHCP de Windows
1. Abrir la consola DHCP
- Abre la consola DHCP en el servidor Windows.
- Despliega el nodo IPv4.
2. Crear las clases de proveedor
Las clases de proveedor permiten al servidor DHCP reconocer si el equipo solicita un arranque PXE en BIOS o en UEFI.
Crear la clase UEFI x64
- Haz clic con el botón derecho en IPv4.
- Haga clic en «Definir clases de proveedor».
- Haz clic en «Añadir».
- Introduce los siguientes valores:
| Campo | Valor |
|---|---|
| Nombre de visualización | PXEClient (UEFI x64) |
| Descripción | PXEClient:Arch:00007 |
| ASCII | PXEClient:Arch:00007 |
Haz clic en «Aceptar».
Crear la clase BIOS x86/x64
- Vuelve a hacer clic en «Añadir».
- Introduce los siguientes valores:
| Campo | Valor |
|---|---|
| Nombre de visualización | PXEClient (BIOS x86 y x64) |
| Descripción | PXEClient:Arch:00000 |
| ASCII | PXEClient:Arch:00000 |
Haz clic en «Aceptar».
3. Crear la política DHCP para los equipos con BIOS
- En su ámbito DHCP, haz clic con el botón derecho del ratón en «Políticas».
- Haz clic en «Nueva política».
- Asigna un nombre claro a la política.
| Campo | Valor |
|---|---|
| Nombre de la política | PXEClient (BIOS x86 y x64) |
| Descripción | Archivo de arranque PXE para equipos con BIOS |
- Haz clic en «Siguiente».
- En los criterios, haz clic en «Añadir».
- Selecciona la clase «Vendor PXEClient (BIOS x86 y x64)».
- Marca la casilla «Añadir un comodín (*)».
- Confirme y haga clic en «Siguiente».
- Configura las siguientes opciones de DHCP:
| Opción | Valor |
|---|---|
| 066 | IP_DEL_SERVIDOR_MEDULLA |
| 067 | bootloader/undionly.kpxe |
Finaliza el asistente haciendo clic en «Siguiente» y, a continuación, en «Finalizar».
4. Crear la política de DHCP para los equipos UEFI
- En su ámbito DHCP, haz clic con el botón derecho del ratón en «Políticas».
- Haz clic en «Nueva política».
- Asigna un nombre claro a la política.
| Campo | Valor |
|---|---|
| Nombre de la política | PXEClient (UEFI x64) |
| Descripción | Archivo de arranque PXE para equipos UEFI x64 |
- Haz clic en «Siguiente».
- En los requisitos, haz clic en «Añadir».
- Selecciona la clase «Vendor PXEClient (UEFI x64)».
- Marca la casilla «Añadir un comodín (*)».
- Confirma y haz clic en «Siguiente».
- Configura las siguientes opciones de DHCP:
| Opción | Valor |
|---|---|
| 066 | IP_DEL_SERVIDOR_MEDULLA |
| 067 | bootloader-uefi64/ipxe.efi |
Finaliza el asistente haciendo clic en «Siguiente» y, a continuación, en «Finalizar».
5. Eliminar las opciones PXE globales
Para evitar conflictos, las opciones PXE no deben configurarse tanto a nivel global del ámbito como en las políticas de DHCP.
Comprueba que las siguientes opciones no estén configuradas en las opciones generales del ámbito:
060066067
Importante:
Si las opciones 66 y 67 están definidas a nivel global, pueden entrar en conflicto con las políticas de BIOS/UEFI e impedir que se envíe el archivo de arranque correcto.
Configuración de un servidor DHCP en Linux
En un servidor DHCP de Linux, el principio consiste en detectar la arquitectura del equipo mediante la opción DHCP 93.
| Valor de la opción 93 | Tipo de máquina | Archivo de arranque |
|---|---|---|
0000 |
BIOS | bootloader/undionly.kpxe |
0007 |
UEFI x64 | bootloader-uefi64/ipxe.efi |
Ejemplo de configuración de ISC DHCP
Adapta los valores entre ##...## a tu entorno.
# Definiciones de PXE
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
# Arquitectura PXE
option arch code 93 = unsigned integer 16;
# 0000 = BIOS
# 0007 = UEFI x64
clase "PXE" {
coincide si la subcadena (opción vendor-class-identifier, 0, 9) es "PXEClient";
espacio de opciones del proveedor PXE;
opción PXE.mtftp-ip 0.0.0.0;
if option arch = 00:07 {
filename "bootloader-uefi64/ipxe.efi";
} else {
filename "bootloader/undionly.kpxe";
}
}
class "Etherboot" {
match if substring(option vendor-class-identifier, 0, 11) = "Etherboot-5";
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
option vendor-class-identifier "Etherboot-5.0";
vendor-option-space PXE;
option PXE.mtftp-ip 0.0.0.0;
}
subnet ##MEDULLA_NETWORK## netmask ##MEDULLA_NETMASK## {
option broadcast-address ##MEDULLA_BCAST##;
option domain-name ##MEDULLA_DOMAIN##;
option domain-name-servers ##MEDULLA_DNS##;
option routers ##MEDULLA_GW##;
pool {
range ##MEDULLA_START## ##MEDULLA_END##;
next-server ##MEDULLA_IP##;
}
}
Ejemplo de valores que deben sustituirse
| Variable | Descripción | Ejemplo |
|---|---|---|
##MEDULLA_NETWORK## |
Red DHCP | 192.168.1.0 |
##MEDULLA_NETMASK## |
Máscara de red | 255.255.255.0 |
##MEDULLA_BCAST## |
Dirección de difusión | 192.168.1.255 |
##MEDULLA_DOMAIN## |
Nombre de dominio | dominio.lan |
##MEDULLA_DNS## |
Servidor DNS | 192.168.1.1 |
##MEDULLA_GW## |
Puerta de enlace | 192.168.1.254 |
##MEDULLA_START## |
Inicio del rango DHCP | 192.168.1.100 |
##MEDULLA_END## |
Fin del rango DHCP | 192.168.1.200 |
##MEDULLA_IP## |
Dirección IP del servidor Medulla PXE | 192.168.1.10 |
Comprobaciones tras la configuración
- Reinicia el servicio DHCP tras realizar los cambios.
- Comprueba que los equipos obtengan correctamente una dirección IP.
- Probar un equipo en modo BIOS.
- Probar un equipo en modo UEFI.
- Comprueba que se envía el archivo de arranque correcto según el modo de arranque.
Reinicio del servicio DHCP en Linux
systemctl restart isc-dhcp-server
Comprobación del estado
systemctl status isc-dhcp-server
Errores frecuentes
El equipo con BIOS no arranca en PXE
- Comprueba que la opción 67 apunte a
bootloader/undionly.kpxe. - Comprueba que el equipo arranca correctamente en modo Legacy/BIOS.
- Comprueba la accesibilidad del servidor Medulla desde la red del cliente.
El equipo UEFI no arranca en modo PXE
- Comprueba que la opción 67 apunte a
bootloader-uefi64/ipxe.efi. - Comprueba que el equipo arranca correctamente en modo UEFI.
- Comprueba que Secure Boot esté desactivado si es necesario.
Se envía un archivo de arranque incorrecto
- Comprueba las clases de proveedor en el DHCP de Windows.
- Comprueba las políticas DHCP de la BIOS y la UEFI.
- Comprueba que las opciones 66 y 67 no estén definidas globalmente además de en las políticas.
El cliente PXE obtiene una dirección IP, pero no descarga el gestor de arranque
- Comprueba la opción 66 o
«next-server». - Comprueba la conectividad entre el equipo cliente y el servidor Medulla.
- Comprueba los flujos de red necesarios para el PXE.
Valores de referencia
| Elemento | BIOS | UEFI x64 |
|---|---|---|
| Clase de proveedor | PXEClient:Arch:00000 |
PXEClient:Arch:00007 |
| Opción 66 | IP_DEL_SERVIDOR_MEDULLA |
IP_DEL_SERVIDOR_MEDULLA |
| Opción 67 | bootloader/undionly.kpxe |
bootloader-uefi64/ipxe.efi |