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

Ste*_*eve 7 ubuntu tftp

我在 VirtualBox VM 中运行 Ubuntu 12.04。我已经安装了这个tftpd-hpa包。我用它来启动一个嵌入式 Linux 系统,我注意到在我的虚拟机第一次启动时,它不起作用,但重新启动tftpd-hpa服务使它每次都能工作,直到下次启动。

今天,我运行了德州仪器 (TI) 的一个 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> 
Run Code Online (Sandbox Code Playgroud)

请注意,/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"
Run Code Online (Sandbox Code Playgroud)

这是/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
}
Run Code Online (Sandbox Code Playgroud)

Bel*_*eli 3

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

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