tftpd 允许连接,但传输文件超时

tftpd 允许连接,但传输文件超时

我在 VirtualBox VM 中运行 Ubuntu 12.04。我已经安装了软件包tftpd-hpa。我使用它来启动嵌入式 Linux 系统,我注意到在我的 VM 首次启动时它无法工作,但重新启动服务tftpd-hpa每次都可以让它工作,直到下次启动。

今天,我运行了德州仪器的 shell 脚本,该脚本可能弄乱了我的 tftpd 配置,现在我根本无法让它工作。我可以连接,但传输超时,甚至到本地主机也是如此(我也尝试了 127.0.0.1):

steve@steve-VirtualBox:~$ tftp
tftp> connect localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get zImage
Transfer timed out.

tftp> 

请注意,确实/var/lib/tftpboot/zImage存在,但是对于不存在的文件,我得到了完全相同的行为。

以下是 的内容/etc/default/tftpd-hpa

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

这是/etc/xinetd.d/tftp

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /var/lib/tftpboot
disable = no
}

答案1

似乎您正在从 xinetd 启动 tftpd-hpa,同时将其作为独立服务启动。请选择其中一个并禁用另一个。

例如设置disable = yes/etc/xinetd.d/tftp重新启动 xinetd。然后重新启动独立服务service tftpd-hpa restart并再次尝试连接。

答案2

对我来说,设置 TFTP_ADDRESS="0.0.0.0:69" 不起作用,至少对两个接口都不起作用。设置TFTP_ADDRESS=":69"起作用了

答案3

1)卸载/重新安装 tftpd-hpa

2)添加到 /etc/default/tftpd-hpa

RUN_DAEMON="yes"

答案4

这个答案

我必须编辑/etc/default/tftpd-hpa并设置变量中的 IP 地址TFTP_ADDRESS=

那是在 Debian Jessie 上,但在 Ubuntu 上可能也是一样的。

相关内容