tftpd-hpa 服务器(客户端超时)请帮忙

Jar*_*rod 6 server upstart networking tftp

我对 Ubuntu 14.04 版有点陌生:
没有可用的 LSB 模块。

我正在尝试设置 tftp 服务器,主要用于备份 cisco ios 配置。我已经按照我可以的所有教程进行了操作,但一无所获。问题好像是超时了,等待客户端的写请求:

在我尝试转移之前:

ps -aux | grep tftp
root      7804  0.0  0.0  15128   160 ?        Ss   10:48   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot
Run Code Online (Sandbox Code Playgroud)

在我使用 Windows 7 tftp 客户端发送放置请求后:

jarrod@Dangerfield:~$ ps -aux | grep tftp
root      7804  0.0  0.0  15128   160 ?        Ss   10:48   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot
tftp      8819  0.0  0.0  15132   632 ?        S    11:04   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot
Run Code Online (Sandbox Code Playgroud)

您可以看到它打开了第二个连接,然后它就超时了。

然后它创建一个空文件:

-rw-rw-rw- 1 tftp tftp 0 Apr 28 11:04 AcousticList.txt

在目录中:

drwxrwxrwx 2 tftp tftp 4096 Apr 28 11:04 tftpboot

这些是我的默认值:

:/etc/default$ more tftpd-hpa
# /etc/default/tftpd-hpa

#RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c -vv -i"
Run Code Online (Sandbox Code Playgroud)

我有 -c 用于创建文件,安全用于一个目录, -vv 用于详细日志记录。我在其中一个帮助文件中找到了 i 选项。补充说没有帮助也没有伤害。它总是做同样的事情。
UFW 被禁用。

/etc/default$ sudo service ufw status
ufw stop/waiting
Run Code Online (Sandbox Code Playgroud)

我看不出还有什么能阻止这一切。

我杀死 -9 根和 tftp 用户进程。根进程立即再次开始侦听。tftp 用户进程仅在您启动 tftp 传输时启动。这只是使用暴发户。我试过单独运行它,结果相同。

in.tftpd[8897]: WRQ from 192.168.0.6 filename AcousticList.txt
Run Code Online (Sandbox Code Playgroud)

我试过跑步wiresharksudo tcpdump -vvv -i eth0 | grep tftp

除了写入请求进入之外,我并没有得到任何进一步的进展,然后客户端出现超时。

如果有人可以帮助我,我会非常感激,因为我处于死胡同。

270*_*974 3

就这样为我工作

\n\n

安装以下软件包。

\n\n
sudo apt-get install xinetd tftpd tftp\n
Run Code Online (Sandbox Code Playgroud)\n\n

创建/etc/xinetd.d/tftp并放置此条目

\n\n
service tftp\n{\nprotocol \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= udp\nport \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= 69\nsocket_type \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= dgram\nwait \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= yes\nuser \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= nobody\nserver \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= /usr/sbin/in.tftpd\nserver_args \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= /tftpboot\ndisable \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0= no\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

创建一个文件夹,/tftpboot该文件夹应与您在 server_args 中提供的内容匹配。大部分是 tftpboot

\n\n
sudo mkdir /tftpboot\nsudo chmod -R 777 /tftpboot\nsudo chown -R nobody /tftpboot\n
Run Code Online (Sandbox Code Playgroud)\n\n

重新启动 xinetd 服务。

\n\n
sudo /etc/init.d/xinetd restart\n
Run Code Online (Sandbox Code Playgroud)\n


小智 0

检查防火墙状态并将其禁用

$ sudo ufw disable
Firewall stopped and disabled on system startup
Run Code Online (Sandbox Code Playgroud)

然后重新启动xinetd服务。

$ sudo /etc/init.d/xinetd restart

 * Stopping internet superserver  xinetd  [ OK ] 
 * Starting internet superserver xinetd   [ OK ] 
Run Code Online (Sandbox Code Playgroud)