![TFTP 服务器 atftpd 启动失败](https://linux22.com/image/960745/TFTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%20atftpd%20%E5%90%AF%E5%8A%A8%E5%A4%B1%E8%B4%A5.png)
我在 Ubuntu 12.04 上安装了 atftpd,但似乎无法启动 tftp 服务器,而且 tftpd 守护进程也存在问题。Ubuntu 11.10 上没有问题。
ureadahead will be reprofiled on next reboot
atftpd (0.7.dfsg-11) wird eingerichtet ...
unknown protocol: udp4
使用 rlinetd 并且作为守护进程,它不起作用。
我ps -afe
看不到任何进程。
/var/log/syslog
说无法绑定到 IP 地址。
使用选项后,--bind-adress
atftpd 服务器可以启动但无法工作。
答案1
我检查了 atftpd 源代码,发现工作线路/etc/default/atftpd
是
USE_INETD=false
OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --port=69 --maxthread 100 --verbose=5 /srv/tftp"
您需要指定端口来欺骗 atftpd。这样现在 tftp 服务器就可以从所有网络接口使用了。
答案2
答案3
这就是我得到的方式FTP服务器在 12.04 中工作:
编辑
/etc/default/atftpd
a. 更改
inetd=true
为inetd=false
b. 删除了所有多播选项,添加了
--bind-address=<my local static ip>
c. 创建
/tftpboot
目录(请/etc/default/atftpd
相应修改,因为默认目录是其他目录)和用户nobody
组nogroup
d. 还添加
--logfile /var/log/atftpd.log
(首先touch /var/log/atftpd.log
并相应地设置权限)e. 设置
--verbose=7
为捕获所有消息通过将我的接口指定为我的本地 IP 地址,编辑
/etc/rlinetd.conf
并使得服务仅在本地网络上可用。停止 开始
rlinetd
以 root 身份运行
invoke-rc.d atftpd start
。
希望这有用。
答案4
Ubuntu 12.04 LTS
该系统的 IP 地址为 192.168.0.5
sudo touch /var/log/atftpd.log
sudo chmod 644 /var/log/atftpd.log
这是我的 /etc/default/atftpd
USE_INETD=false
OPTIONS="--port=69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mca
st-addr 192.168.0.0-255 --mcast-ttl 1 --maxthread 100 --verbose=7 /tftpboot --lo
gfile /var/log/atftpd.log"
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
触摸/tftpboot/simple.txt
sudoinvoke-rc.d atftpd重新启动
从另一个运行 busybox 的系统(位于同一子网)
tftp -l 简单.txt -g 192.168.0.5