Solución de problemas de arranque PXE con el analizador de protocolos de red

Documentación

Mantenimiento y desempeño

000006544

12/02/2020

Solución

Esta información no detalla los fallos que podrían causar que el arranque PXE fallara. En este documento se proporciona información sobre los requisitos de un arranque PXE correcto y se describe lo que ocurre cuando no hay ningún servidor PXE disponible.

El proceso de inicio remoto de PXE se basa en el protocolo DHCP. Para comprender cómo funciona PXE, primero debe tener un conocimiento básico de DHCP.


ID

DHCP se basa en el protocolo Bootstrap, comúnmente denominado BootP, que permite que los sistemas obtengan una dirección IP y un arranque remoto desde la red. DHCP añade características, como el direccionamiento IP dinámico y los campos de opción para pasar información del sistema.

El proceso de DHCP comienza con un cliente que solicita una dirección mediante un mensaje de descubrimiento de DHCP. El mensaje de descubrimiento es un paquete UDP con un puerto de origen de 68 (definido como Bootpc, para el cliente BOOTP) y un puerto de destino de 67 (definido como bootps, para servidores BOOTP). El mensaje de descubrimiento tiene la dirección MAC del nodo de solicitud como dirección MAC de origen y una emisión (todos los F) como dirección MAC de destino. La dirección IP de origen es 0.0.0.0 y la dirección IP de destino es 255.255.255.255 (transmisión). Como mínimo, la solicitud incluye las siguientes opciones.

  • Opción 55 (lista de solicitudes de parámetros)
  • Opción 1 (máscara de subred)
  • Opción 3 (enrutador)
  • Opción 6 (servidor de nombre de dominio)

Uno o más servidores DHCP deben responder con una oferta de DHCP. El mensaje de oferta DHCP es un paquete UDP con la dirección MAC del cliente que solicita el servicio como dirección de destino. Los puertos deberían ser los opuestos a la solicitud original (el puerto de origen debería ser 67; el puerto de destino debe ser 68). La dirección IP de origen es la dirección del servidor que va a licitar la oferta y la dirección IP de destino es una transmisión. Esta oferta incluirá una dirección IP propuesta, además de respuestas a los parámetros opcionales solicitados.

El cliente responde a una de las ofertas con una solicitud de DHCP. El mensaje de solicitud es un paquete UDP similar al mensaje de descubrimiento y utiliza los mismos puertos y direcciones de origen y destino, y solicita los mismos parámetros.

El servidor responde con una ACK DHCP (confirmación) con toda la información solicitada. El mensaje ACK es un paquete UDP similar al mensaje offer y cuenta con la información opcional solicitada.


Extensiones PXE para DHCP

El proceso de arranque PXE amplía el protocolo DHCP añadiendo la información necesaria para el arranque remoto de un ordenador. Esta información incluye el proveedor de cliente y la clase que permite al servidor PXE seleccionar una imagen específica del cliente.

El sistema que solicita un arranque PXE utiliza el mensaje de descubrimiento de DHCP para identificar su clase de proveedor y máquina, así como para solicitar la ubicación y el nombre de archivo de un archivo de imagen. El cliente PXE identifica su proveedor y su clase de equipo porque puede haber varias imágenes disponibles a través de los servidores PXE.

El mensaje de descubrimiento DHCP del cliente PXE incluye las siguientes solicitudes de parámetros opcionales:

  • 60 – identificador de clase de proveedor
  • 66 – nombre del servidor TFTP (solicitud para el nombre del servidor TFTP que aloja la imagen de arranque)
  • 67 – nombre del arranque (el nombre del archivo de imagen que se va a descargar)


Examen de un seguimiento de Ethereal * o Wireshark * de un arranque PXE

Un proceso de arranque PXE implica muchos intercambios.

  1. El cliente PXE envía una detección de DHCP con las opciones de PXE rellenadas.
  2. El servidor DHCP responde con una oferta DHCP con parámetros TCP/IP.
  3. El cliente PXE responde con una solicitud DHCP
  4. El servidor DHCP responde con una ACK DHCP.
  5. Si el servidor DHCP también es el servidor PXE, la ACK de DHCP suele tener el nombre del servidor TFTP y el nombre del archivo de inicio. Si el servidor PXE es diferente, hay un intercambio independiente de solicitudes y respuestas entre el servidor PXE y el cliente PXE siguiendo el proceso de DHCP inicial.
    Nota
    • Si el intercambio DHCP inicial no tiene el nombre del servidor TFTP y el nombre del archivo de inicio, mire en el seguimiento hasta que vea una ACK de DHCP con estas dos opciones completada.
    • Una vez que el cliente PXE recibe una confirmación con el nombre del servidor TFTP y el nombre del archivo de inicio, el cliente se conecta al servidor TFTP con una solicitud de lectura de TFTP que incluye el nombre del archivo de arranque.
    • Se establece una sesión TFTP y continúa hasta que finalice la transferencia de archivos.

La figura 1 es una captura de pantalla de una captura de Ethereal de un mensaje de descubrimiento DHCP de un cliente PXE. Observe que la opción 55 (lista de solicitud de parámetros) está resaltada y los parámetros que se solicitan aparecen en la lista.

Los parámetros también incluyen una solicitud de un nombre de servidor TFTP (opción 66) y un nombre de archivo de inicio (opción 67). Opción 60, se solicita el identificador de clase de proveedor. Una respuesta a la solicitud es opcional y se utiliza para informar al cliente de que el servidor PXE se encuentra en un servidor diferente que el servidor DHCP (un proxy DHCP está en uso).

DHCP DISCOVER
Figura 1. DESCUBRIMIENTO DE DHCP

 

La figura 2 muestra la respuesta DHCP ACK a la solicitud DHCP. La confirmación de DHCP incluye las mismas opciones que vería en la oferta de DHCP. Tenga en cuenta que el servidor TFTP y el nombre de archivo de inicio están incluidos en el paquete cuando una transacción DHCP tiene éxito.

DHCP ACK
Figura 2. ACK DE DHCP

 

Un cambio de DHCP realizado correctamente va seguido de una sesión de TFTP que comienza con una solicitud de lectura de TFTP. En la figura 3 se muestra el inicio de una sesión TFTP.

TFTP Session
Figura 3. Sesión TFTP.

 

La figura 4 muestra una traza de un arranque PXE fallido porque no hay ningún servidor PXE presente. Aunque el cliente PXE ha solicitado un nombre de servidor TFTP (opción 66) y un nombre de archivo de inicio (opción 67), la oferta de DHCP mostrada no incluye la opción 66 o 67. En este caso, el cliente PXE realiza repetidamente solicitudes de descubrimiento de DHCP seguidas de DHCP ofrece respuestas que no tienen las opciones necesarias para completar la operación de arranque PXE.

DHCP OFFER
Figura 4. OFERTA DE DHCP
Donde no hay ningún servidor PXE disponible