我之前使用的是 14.04,我可以设置并使 tftp 服务器和客户端工作。现在我升级到 14.10,tftp 服务器不再工作
这是我所做的:
安装该包。
sudo apt-get install tftpd-hpa
按如下方式编辑配置文件。
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-s -c -l"
创建 TFTP 文件夹。
sudo mkdir /tftpboot sudo chmod -R 777 /tftpboot sudo chown -R nobody /tftpboot
重新启动应用程序以应用新配置。
sudo service tftpd-hpa restart
(来源)
当时,我不知道那tftpd-hpa
是用于 TFTP 服务器的包,也是tftp-hpa
用于 TFTP 客户端的包,所以我所做的是为 TFTP 客户端安装另一个包。
安装以下软件包:
sudo apt-get install xinetd tftpd tftp
更改
/etc/xinetd.d
目录的权限。sudo chmod –R 777 xinetd.d
创建一个名为 tftp 的文件
/etc/xinetd.d
并写入以下内容:service tftp { socket_type = dgram protocol = UDP. WAIT = YES user = root server = /usr/sbin/in.tftpd server_args =-s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
保存并退出。
创建
tftpboot
目录并更改权限。cd / sudo mkdir /tftpboot chmod –R 777 /tftpboot
重启服务
sudo /etc/init.d/xinetd restart
安装 TFTP 服务器和另一个用于 TFTP 客户端的软件包的分步过程在 14.04 中可用,但在 14.10 中不可用,我认为第二次安装和设置 ( sudo apt-get install xinetd tftpd tftp
) 是导致 TFTP 服务器无法正常工作的罪魁祸首。我已经卸载了那些我认为不需要的软件包。但 TFTP 服务器仍然无法正常工作。我该怎么做才能使 TFTP 服务器正常工作?
答案1
这对我有用:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
答案2
这是一个老问题,但对于任何寻求澄清的人来说,我的回答可能会有所帮助:
tftpd-hpa
是一个独立的 tftp 服务器 - 它不需要配置 xinetd 即可工作,事实上,我读过的某些建议将导致和之间对端口 69 的争tftpd-hpa
用xinetd
!
这回答 本页面其他地方来自用户风暴就是一个例子。我确信这个xinetd
配置可以与其他 tftp 包一起使用,但我不明白它如何与 一起使用tftpd-hpa
。
看一下的默认tftpd-hpa
配置/etc/default/tftpd-hpa
:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
除非你需要一个有更多选择的解决方案,否则你应该确保不要配置xinetd
为处理 tftp 或监听端口 69(或者根本不安装它)。/etc/default/tftpd-hpa
根据您的需要进行编辑,然后运行sudo systemctl restart tftpd-hpa
,您应该会很好。您可以使用以下命令进行验证:
$ sudo netstat -tulpn | grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 45262/in.tftpd
udp6 0 0 :::69 :::* 45262/in.tftpd