我有tftp安装在Ubuntu 10.04下面的/etc/xinetd.d/tftp文件。
我可以使用连接到tftp服务器
tftp 10.1.1.54 得到pxelinux.0
并且它没有问题地重新获取文件。 当我尝试:
得到/pxelinux.0
我得到了
错误代码2:访问冲突
这是一个问题,因为HP PXE引导环境请求带有/的pxelinux.0。 我怀疑它试图使用服务器根目录作为/ root而不是使用/ tftpboot作为根目录。 我已经看了文档,但我看不到一种方法来chroot tftp所以正确地解释了主要的斜杠
提前致谢。
服务tftp
{
protocol = udp
端口= 69
socket_type = dgram
等待=是
用户=无人
服务器= /usr/sbin/in.tftpd
server_args = / tftpboot
禁用=否
}
这可能是一个权限问题,/ tftpboot和pxelinux.0世界可读?
编辑:你有没有尝试使用-s参数 tftpd来设置目录?
你可以使用-s选项来tftpd来完成你想要的。
如果我有一个像这样的目录/tftpboot :
# ls /tftpboot afile
我这样运行tftpd :
# tftpd -l -s /tftpboot
那么这个:
tftp> get afile
相当于这个:
tftp> get /afile
您可以修改configuration文件的server_args行:
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no }