Encadeamento PXE/TFTP no mesmo servidor

Encadeamento PXE/TFTP no mesmo servidor

Meu ambiente de rede existente fornece o seguinte:

  • Servidor DHCP que envia clientes PXE para um servidor TFTP específico
  • Servidor TFTP com arquivo SYSLINUX "pxelinux.0" para inicialização

O tempo limite padrão da instalação do SYSLINUX é "inicializar a partir do disco local", o que permite que os clientes existentes sejam reinicializados corretamente, mas também oferece a opção de inicializar em um ambiente de resgate ou provisionamento.

Estou testando um novo ambiente de provisionamento que reside em um servidor TFTP diferente daquele apontado pelo servidor DHCP. Os clientes existentes dependem do ambiente atual, mas gostaria de encaminhar os clientes de teste para o novo servidor TFTP para provisionamento.

Idealmente, eu gostaria de poder usar uma opção de menu específica no prompt do SYSLINUX que faria com que o cliente inicializasse a partir de outro servidor TFTP (codificado, em vez de fornecido pelo servidor DHCP).

Tentei instalar uma imagem gPXE personalizada como opção de menu no SYSLINUX. A imagem personalizada (re) adquiriu um endereço DHCP e foi para o servidor TFTP codificado, mas falta uma peça que não acho que o gPXE seja capaz de cumprir.

O novo sistema de provisionamento é baseado no Cobbler e depende da sequência PXE usual, onde o cliente procura um arquivo nomeado com seu endereço MAC antes de optar por um arquivo menos específico e, eventualmente, genérico. Pelo que sei, parece que o gPXE não é capaz de executar essa sequência de inicialização baseada em endereço MAC.

Alguém pode me dizer outra maneira de fazer isso? Estou batendo a cabeça há vários dias com esse problema. Desde já, obrigado!

Responder1

Encadeamento PXE/TFTP no mesmo servidor

Coloque o outro gerenciador de inicialização PXE como kernel.

Este é o exemplo que usei para carregar em cadeia o carregador de inicialização BSD PXE do carregador de cadeia Linux PXE.

LABEL openbsd
    MENU LABEL ^OpenBSD 3.9
    KERNEL openbsd_3.9/pxeboot.0

Encadeamento PXE/TFTP para outro servidor

pxechain.comusado para carregar em cadeia outro servidor PXE.

pxechain.comestá disponível no syslinux-commonpacote no Debian/Ubuntu ouarquivo do projeto syslinuxsob um nome de arquivo diferente pxechn.c32.

Exemplo:

LABEL pxeserver2
        menu label Switch to 2nd PXE server...
        kernel pxechain.com
        append 192.168.10.254::pxelinux.0

Exemplo2:(Graças aUm tubarão) Caso o nome e/ou caminho do arquivo de configuração do seu pxelinux seja diferente em ambos os servidores pxe, você deve defini-los explicitamente com as opções -p e -c, caso contrário, não funcionará (tentará usar um valor definido por dhcp que foi usado para inicialização atual).

Na configuração do servidor DC-ISO2:

LABEL DC-ISO1
        MENU LABEL DC-ISO1 (BIOS mode)
        KERNEL pxechn.c32
        APPEND 192.168.1.1::pxelinux.0 -c default -p /
        TEXT HELP
Boot the legacy dc-iso1 menu in bios mode.
        ENDTEXT

Na configuração antiga do servidor DC-ISO1:

LABEL DC-ISO2
        MENU LABEL DC-ISO2 (BIOS mode)
        KERNEL pxechn.c32
        APPEND 192.168.1.2::/configs/pxelinux.0 -p /configs/ -c bios.cfg
        TEXT HELP
Boot the new dc-iso2 menu in bios mode.
        ENDTEXT

Tecnicamente, agora você pode até desabilitar o servidor dhcp do DC-ISO1 (mas não o tftp), e sempre inicializará primeiro no DC-ISO2, enquanto poderá alternar entre os menus de ambos os servidores.

Responder2

Pegue o pxelinux.0 do Ubuntu 10.4 LTS. Isso passará pela iteração "normal": MAC - IP em HEX - ... padrão.

Seria mais simples dizer ao seu servidor DHCP para NÃO responder a certas solicitações e configurar outro DHCP na mesma rede (não oficial) que responda às solicitações do servidor de teste (e não responda a mais nada).

informação relacionada