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)
我试过跑步wireshark和sudo tcpdump -vvv -i eth0 | grep tftp
除了写入请求进入之外,我并没有得到任何进一步的进展,然后客户端出现超时。
如果有人可以帮助我,我会非常感激,因为我处于死胡同。
就这样为我工作
\n\n安装以下软件包。
\n\nsudo apt-get install xinetd tftpd tftp\nRun Code Online (Sandbox Code Playgroud)\n\n创建/etc/xinetd.d/tftp并放置此条目
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}\nRun Code Online (Sandbox Code Playgroud)\n\n创建一个文件夹,/tftpboot该文件夹应与您在 server_args 中提供的内容匹配。大部分是 tftpboot
sudo mkdir /tftpboot\nsudo chmod -R 777 /tftpboot\nsudo chown -R nobody /tftpboot\nRun Code Online (Sandbox Code Playgroud)\n\n重新启动 xinetd 服务。
\n\nsudo /etc/init.d/xinetd restart\nRun 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)