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

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

今天,我运行了一个德州仪器的shell脚本,它可能会使用我的tftpdconfiguration,现在我根本无法工作。 我能够连接,但传输超时,甚至本地主机(我也试过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 } 

    似乎你正在从xinetd启动tftpd-hpa,并作为一个独立的服务在同一时间。 请select一个,禁用另一个。

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

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

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

     RUN_DAEMON="yes" 

    你可能需要在防火墙上打个洞。 从http://www.thelinuxdaily.com/2010/02/guide-on-tftp-server-setup-in-fedora/的第4步:

    在/ etc / sysconfig / iptables的“COMMIT”行之前插入以下行,然后使用“service iptables restart”重新启动服务:

    -Ainput-m状态 – 状态新-m udp -p udp –dport 69 -j ACCEPT

    看到这个答案 。

    我不得不编辑/etc/default/tftpd-hpa并在TFTP_ADDRESS=variables中设置IP地址。

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

    设置TFTP_ADDRESS =“0.0.0.0:69”不适用于我,至less对于这两个接口。 设置TFTP_ADDRESS=":69"完成了这项工作