Eu tenho uma VM ESXi executando um servidor tftpd-hpa na versão mais recente do Debian 9 para o ambiente de rede PXE. Para fins de teste, configurei outra VM para lidar com DHCP no Debian 9 usando o isc-dhcp-server (com next-server
e bootfile
diretivas). Usando uma terceira VM sem sistema operacional, posso inicializar o PXE no servidor sem problemas. No entanto, ao implementar o PXE na rede (especificamente o Ubiquiti EdgeRouter), o servidor PXE não funciona a menos que a configuração do tftpd-hpa seja modificada.
Se eu comentar a linha TFTP_OPTIONS="--secure"
do arquivo tftpd-hpa, o servidor funcionará bem com o EdgeRouter. Eu também tentei adicionar as seguintes linhas de configuração ao arquivo de configuração EdgeRouter sem sucesso:
subnet-parameters "filename "/srv/tftp/pxelinux.0";"
subnet-parameters "filename ;pxelinux.0";"
Sou levado a acreditar que o problema está na forma como o EdgeRouter está transmitindo as opções do DHCP para o cliente, mas o que está causando isso e como eu posso consertá-lo? Percebo que posso deixar a opção secure
desativada, mas prefiro não fazer isso. Eu tentei adicionar caminhos completos e parciais para a configuração do roteador também.
Erro:
TFTP.
PXE-T01: File not found
PXE-E3B: TFTP Error - File Not found
PXE-M0F: Exiting Intel PXE ROM.
Operating System not found
/ etc / default / tftpd-hpa:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
/ srv / tftp:
$ ls -alh
total 20K
drwxrwxr-x 3 root root 4.0K Mar 4 14:38 .
drwxr-xr-x 3 root root 4.0K Apr 18 00:37 ..
drwxrwxr-x 3 root root 4.0K Mar 4 14:38 debian-installer
lrwxrwxrwx 1 root root 47 Mar 4 14:38 ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32
lrwxrwxrwx 1 root root 33 Mar 4 14:38 pxelinux.0 -> debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root 35 Mar 4 14:38 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
-rw-r--r-- 1 root root 79 Apr 18 00:41 test
-rw-rw-r-- 1 root root 62 Mar 4 14:38 version.info
/config/config.boot:
dhcp-server {
disabled false
hostfile-update disable
shared-network-name LAN {
authoritative enable
subnet 192.168.1.0/24 {
bootfile-name pxelinux.0
bootfile-server 192.168.1.94
default-router 192.168.1.1
dns-server 192.168.1.1
lease 86400
start 192.168.1.1 {
stop 192.168.1.127
}
unifi-controller 192.168.1.225
}
}
use-dnsmasq disable
}
...
}