作者:师弟 | 来源:互联网 | 2023-06-05 10:10
我无法让TFTP在我的系统上正常工作.我已将/ etc / default / tftpd-hpa设置为/ srv / tftp /我已将其设置为权限777,就像所有内容一样(和/ srv / too
我无法让TFTP在我的系统上正常工作.我已将/ etc / default / tftpd-hpa设置为/ srv / tftp /我已将其设置为权限777,就像所有内容一样(和/ srv / too)但是,每当我进行get测试时,我都会得到超时, (我在本地主机上连接到127.0.0.1).我不认为TFTP记录在哪里,是吗?如何调试这个的任何帮助将不胜感激!
编辑#1
这是在(K)Ubuntu系统和/ srv上,它的内容由root拥有:root,我现在改为nobody:nogroup但我仍然得到相同的超时:
$ls -la
total 12
drwxrwxrwx 3 nobody nogroup 4096 Nov 5 08:47 .
drwxrwxrwx 3 nobody nogroup 4096 Nov 5 2013 ..
drwxrwxrwx 2 nobody nogroup 4096 Nov 5 2013 artifacts
-rwxrwxrwx 1 nobody nogroup 0 Nov 5 08:48 test
-rw-r--r-- 1 reg reg 0 Nov 5 08:47 vx.bin
reg@ubuntu:/srv/tftp$tftp 127.0.0.1
tftp> get test
Transfer timed out.
编辑#2
在意识到似乎没有运行tftp的实例之后,我尝试用#tftp启动它,然后Ubuntu告诉我,我应该做apt-get install cobbler来安装补鞋匠,这就是我所做的,然后我再次尝试得到以下:
# tftpd
Traceback (most recent call last):
File "/usr/sbin/tftpd", line 51, in
import tornado.ioloop as ioloop
ImportError: No module named tornado.ioloop
root@ubuntu:/srv#
这是什么意思,我想知道,有什么线索吗?
解决方法:
我最近几次不得不自己处理这个问题,而这些是我自己要问自己难以拍摄的问题:
>是从xinetd运行的tftpd还是作为一个独立的守护进程?
>你需要改变/etc/hosts.allow或hosts.deny
>是否启用了SELinux(使用“getenforce”命令检查)?
>是否有主机防火墙在运行? (服务iptables状态)
>你确定tftpd使用的目录是否为数据目录?
>你试图“获得”的文件确实存在吗?
我的赌注是上述的组合.像防火墙和SELinux以及数据目录位置一样.
您不希望/ srv以模式0777打开.您也不需要使用tftp数据目录.您只需要世界可读的文件.除非您将文件放到服务器上.在这种情况下,您必须提前创建文件,并在编写文件时使它们成为可写文件.
祝好运!