Isso pode ser um problema de permissões, o / tftpboot e o pxelinux.0 são legíveis?
Editar: Você já tentou usar o argumento -s para o tftpd definir o diretório?
Eu tenho o tftp instalado no Ubuntu 10.04 com o arquivo /etc/xinetd.d/tftp abaixo.
Posso me conectar ao servidor tftp usando
tftp 10.1.1.54 get pxelinux.0
e recua o arquivo sem problemas. Quando eu tento:
get /pxelinux.0
Eu obtenho um
Error Code 2: Access violation
Isso é um problema porque o ambiente de inicialização do HP PXE solicita o pxelinux.0 com o início /. Eu suspeito que ele está tentando usar o diretório raiz do servidor como / root em vez de usar / tftpboot como a raiz. Eu olhei para os documentos, mas eu não consigo ver uma maneira de chroot tftp assim que interpreta a barra principal corretamente
Obrigado antecipadamente.
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no }
Isso pode ser um problema de permissões, o / tftpboot e o pxelinux.0 são legíveis?
Editar: Você já tentou usar o argumento -s para o tftpd definir o diretório?
Você pode usar a opção -s
para o tftpd para realizar o que deseja.
Se eu tiver um diretório /tftpboot
assim:
# ls /tftpboot
afile
E eu corro tftpd
assim:
# tftpd -l -s /tftpboot
Então isso:
tftp> get afile
É equivalente a isto:
tftp> get /afile
Você modificaria a linha server_args
do seu arquivo de configuração:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}