Estou configurando um servidor PXE para automatizar as implantações do Linux. Tudo estava dando certo até que algo se quebrou magicamente (ou seja, eu devo ter mudado alguma coisa, mas não posso, para a vida de mim, descobrir o que era).
snippet do dhcpd.conf (algumas informações foram removidas para privacidade)
subnet 10.0.65.0 netmask 255.255.255.0 {
option routers ///;
option broadcast-address ///;
option subnet-mask 255.255.255.0;
range ///;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 10.160.65.5;
if option architecture-type = 00:07 {
filename "pxe/shim.efi";
} else {
filename "pxe/pxelinux.0";
}
}
}
O servidor pxe (que é um servidor diferente do servidor DHCP) está executando o RedHat 7. Eu ativei o registro detalhado para o daemon xinetd tftp. Ele mostra que o cliente solicita pxelinux.0 (e, em seguida, o cliente mostra as informações da versão do PXELINUX), mas não mostra que o cliente solicita o ldlinux.c32 e, em seguida, o cliente expira.
Oct 26 13:49:47 tinkerbell in.tftpd[599]: tftp: client does not accept options
Oct 26 13:49:47 tinkerbell in.tftpd[600]: RRQ from 141.212.104.234 filename pxe/pxelinux.0
Tentei codificar em algumas opções para o arquivo pxelinux.0 usando pxelinux-options do pacote syslinux e não tive sorte. Eu tentei muitas versões do pxelinux.0 (atualmente usando 6.03, compilado a partir da fonte na máquina RedHat 7).
Opções atuais de codificação rígida:
utils/pxelinux-options --list /y/pxe/pxelinux.0
-b domain-name 'foo.bar'
-b domain-name-servers 10.0.65.4
-a next-server 10.0.65.5
-a path-prefix '/pxe/'
-a config-file 'pxelinux.cfg/default'
Estou no final da minha corda metafórica. Qualquer ajuda é apreciada.