我对 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
在我使用 Windows 7 tftp 客户端发送 put 请求后:
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
您可以看到它打开了第二个连接,然后它超时了。
然后创建一个空文件:
-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"
我有 -c 用于创建文件,安全用于一个目录,-vv 用于详细日志记录。我在其中一个帮助文件中找到了 i 选项。添加它既没有帮助也没有坏处。它总是做同样的事情。UFW
已禁用。
/etc/default$ sudo service ufw status
ufw stop/waiting
我看不出还有什么可以阻止这种情况。
我 kill -9 root 和 tftp 用户进程。root 进程立即再次开始监听。tftp 用户进程仅在您启动 tftp 传输时启动。这只是使用 upstart。我曾尝试在独立模式下运行它,结果相同。
in.tftpd[8897]: WRQ from 192.168.0.6 filename AcousticList.txt
我试过跑步wireshark
,sudo tcpdump -vvv -i eth0 | grep tftp
我实际上并没有取得任何进展,只是写入请求进来,然后客户端出现超时。
如果有人能帮助我,我将不胜感激,因为我已经走投无路了。
答案1
这样对我有用
安装以下软件包。
sudo apt-get install xinetd tftpd tftp
创建/etc/xinetd.d/tftp
并放置此条目
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
创建一个文件夹/tftpboot
,该文件夹应与您在 server_args 中提供的内容相匹配。大多数情况下它将是 tftpboot
sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
重新启动 xinetd 服务。
sudo /etc/init.d/xinetd restart
答案2
我也遇到了同样的问题。这是由 Windows 防火墙引起的。添加 tftp 客户端后,您还需要确保防火墙允许它
进入WindowsFirewall > allowed programs > allowed another program >
找到tftp.exe
c:\windows\systems32\tftp.exe
答案3
检查防火墙状态并禁用它
$ sudo ufw disable
Firewall stopped and disabled on system startup
然后重新启动 xinetd 服务。
$ sudo /etc/init.d/xinetd restart
* Stopping internet superserver xinetd [ OK ]
* Starting internet superserver xinetd [ OK ]