Solucionando problemas de inicialização do PXE com o Network Protocol Analyzer

Documentação

Manutenção e desempenho

000006544

12/02/2020

Solução

Essa informação não detalha as falhas que podem provocar a falha da inicialização do PXE. Este documento fornece informações detalhadas sobre os requisitos de uma inicialização de PXE bem-sucedida e descreve o que acontece quando nenhum servidor PXE está disponível.

O processo de inicialização remota do PXE se baseia no protocolo DHCP. Para entender como o PXE funciona, você deve primeiro ter um conhecimento básico do DHCP.


DHCP

O DHCP se baseia no protocolo de inicialização, geralmente chamado de BootP, que permite que os sistemas obtenham um endereço IP e inicialização remota a partir da rede. O DHCP adiciona recursos, como endereçamento IP dinâmico e campos de opção para passar informações do sistema.

O processo DHCP começa com um cliente solicitando um endereço por meio de uma mensagem de descoberta de DHCP. A mensagem de descoberta é um pacote UDP com uma porta de origem de 68 (definida como BootPc, para cliente BOOTP) e uma porta de destino de 67 (definida como bootps, para servidor BOOTP). A mensagem de descoberta tem o endereço MAC do nó solicitante como o endereço MAC de origem e uma transmissão (todos os F) como o endereço MAC de destino. O endereço IP de origem é 0.0.0.0 e o endereço IP de destino é 255.255.255.255 (difusão). No mínimo, a solicitação inclui as seguintes opções.

  • Opção 55 (lista de solicitações de parâmetro)
  • Opção 1 (máscara de sub-rede)
  • Opção 3 (roteador)
  • Opção 6 (servidor de nome de domínio)

Um ou mais servidores DHCP devem responder com uma oferta de DHCP. A mensagem de oferta DHCP é um pacote UDP com o endereço MAC do cliente que está solicitando serviço como o endereço de destino. As portas devem ser o oposto da solicitação original (a porta de origem deve ser 67, a porta de destino deve ser 68). O endereço IP de origem é o endereço do servidor que significa a oferta, e o endereço IP de destino é uma transmissão. Essa oferta incluirá um endereço IP proposto, além de respostas para os parâmetros opcionais solicitados.

O cliente responde a uma das ofertas com uma solicitação de DHCP. A mensagem de solicitação é um pacote de UDP semelhante à mensagem de descoberta e utiliza as mesmas portas e endereços de origem e de destino e solicita os mesmos parâmetros.

O servidor responde com uma ACK de DHCP (reconhecimento) com todas as informações solicitadas. A mensagem de ACK é um pacote de UDP semelhante à mensagem da oferta e tem as informações opcionais solicitadas.


Extensões PXE para DHCP

O processo de inicialização do PXE estende o protocolo DHCP, adicionando informações necessárias para inicializar remotamente um computador. Essas informações incluem o fornecedor do cliente e a classe que permite que o servidor PXE selecione uma imagem específica do cliente.

O sistema que solicita uma inicialização PXE utiliza a mensagem de descoberta de DHCP para identificar sua classe de fornecedor e máquina e para solicitar o local e o nome de arquivo de um arquivo de imagem. O cliente PXE identifica seu fornecedor e a classe de máquina porque pode haver várias imagens disponíveis por meio dos servidores PXE.

A mensagem de descoberta DHCP do cliente PXE inclui as seguintes solicitações opcionais de parâmetro:

  • 60 – identificador de classe de fornecedor
  • 66 – nome do servidor de TFTP (uma solicitação para o nome do servidor de TFTP que hospeda a imagem de inicialização)
  • 67 – nome do Bootfile (o nome do arquivo de imagem a ser baixado)


Examinando um rastreamento de Ethereal * ou Wireshark * de uma inicialização PXE

Um processo de inicialização de PXE envolve muitas trocas.

  1. O cliente PXE envia uma descoberta DHCP com as opções de PXE preenchidas.
  2. O servidor DHCP responde com uma oferta DHCP com parâmetros TCP/IP.
  3. O cliente PXE responde com uma solicitação de DHCP
  4. O servidor DHCP responde com uma ACK de DHCP.
  5. Se o servidor DHCP também for o servidor PXE, o DHCP ACK geralmente tem o nome do servidor de TFTP e o nome do arquivo de inicialização. Se o servidor PXE for um sistema diferente, haverá uma troca separada de solicitações e respostas entre o servidor PXE e o cliente PXE que segue o processo DHCP inicial.
    Pré-registros
    • Se a troca DHCP inicial não tiver o nome do servidor de TFTP e o nome do arquivo de inicialização, examine o rastreamento até ver uma ACK DHCP bem-sucedida com essas duas opções concluídas.
    • Depois que o cliente PXE receber um reconhecimento com o nome do servidor de TFTP e o nome do arquivo de inicialização, o cliente se conectará ao servidor de TFTP com uma solicitação de leitura de TFTP que inclua o nome do arquivo de inicialização.
    • Uma sessão de TFTP é estabelecida e continua até que a transferência de arquivo seja concluída.

A Figura 1 é uma captura de tela de uma captura de Ethereal de uma mensagem de descoberta de DHCP a partir de um cliente PXE. Observe que a opção 55 (lista de solicitação de parâmetro) está destacada e os parâmetros que estão sendo solicitados são listados.

Os parâmetros também incluem uma solicitação para um nome de servidor de TFTP (opção 66) e um nome de arquivo de inicialização (opção 67). Opção 60, o identificador de classe do fornecedor também é solicitado. Uma resposta à solicitação é opcional e é utilizada para informar ao cliente que o servidor PXE está em um servidor diferente do servidor DHCP (um proxy DHCP está em uso).

DHCP DISCOVER
Figura 1. DESCOBERTA DE DHCP

 

A Figura 2 mostra a resposta de ACK do DHCP para a solicitação DHCP. O DHCP ACK inclui as mesmas opções que você observaria na oferta de DHCP. Observe que o servidor de TFTP e o nome do arquivo de inicialização estão incluídos no pacote, quando uma transação de DHCP for bem-sucedida.

DHCP ACK
Figura 2. ACK DE DHCP

 

Uma troca de DHCP bem-sucedida é seguida por uma sessão de TFTP começando com uma solicitação de leitura de TFTP. A Figura 3 mostra o início de uma sessão de TFTP.

TFTP Session
Figura 3. Sessão de TFTP.

 

A Figura 4 mostra um rastreamento de uma inicialização de PXE com falha porque nenhum servidor PXE está presente. Embora o cliente PXE solicitou um nome de servidor de TFTP (opção 66) e um nome de arquivo de inicialização (opção 67), a oferta DHCP mostrada não inclui a opção 66 ou 67. Nesse caso, o cliente PXE faz solicitações de descoberta de DHCP repetidas seguidas pelas respostas OFERECIdas pelo DHCP que não têm as opções necessárias para concluir a operação de inicialização do PXE.

DHCP OFFER
Figura 4. OFERTA DHCP
Quando nenhum servidor PXE está disponível