在 Ubuntu 20.04 上安装了 tftpd-hpa。在我的 ICX 客户端上观察到 tftp 超时,但文件以 0 字节上传到服务器

在 Ubuntu 20.04 上安装了 tftpd-hpa。在我的 ICX 客户端上观察到 tftp 超时,但文件以 0 字节上传到服务器

我已按照以下链接中的步骤安装了 tftpd-hpa: https://help.ubuntu.com/community/TFTP

我的/etc/default/tftpd-hpa样子是这样的:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure --create"

该过程已启动并正在运行,但是当我尝试从 tftp 客户端(ICX 设备)上传时,出现以下失败:

copy running-config tftp 111.1.1.10 test
Parameter Validation Successful
............test                   0% |                               |     0  --:--:-- ETA
test                   0% |                               |     0  --:--:-- ETA
test                   0% |                               |     0  --:--:-- ETA
test                   0% |                               |     0   - stalled -
test                   0% |                               |     0   - stalled -
test                   0% |                               |     0   - stalled -
test                   0% |                               |     0   - stalled -
test                   0% |                               |     0   - stalled -

tftp: timeout

File Upload failed
File Upload Failed

答案1

所述问题可能有多种原因。请进行以下几项检查:

错误的 TFTP 数据目录所有者

sudo chmod tftp:tftp /var/lib/tftpboot

用户和组所有者必须是tftp

缺少目录写入权限

检查写入权限。

防火墙阻止对服务器的访问

检查 IPtables。

sudo iptables-save
sudo iptables-save | grep "69"

第一个命令显示本地防火墙是否处于活动状态。如果是,则第二个命令应找到开放 UDP 端口 69 的规则。

情况并不完全简单,因为数据传输发生在用于传递命令的 UDP 69 以外的端口上。有时可能需要完全关闭防火墙或为 TFTP 使用特殊的防火墙模块。

网络通讯检查

使用 Wireshark 可以很好地跟踪整个 TFTP 通信的进度。要限制显示数据的选择,请使用显示过滤器“udp”。

TFTP 客户端测试服务器功能

除了 tftpd-hpa 守护进程之外,还可以安装和使用 tftp-hpa 客户端。

在运行 TFTPD 守护程序的同一台服务器上直接在本地启动测试。准备小型本地文本文件:

echo "My text." > x.txt
cat x.txt

尝试上传文件到TFTP服务器:

sudo apt-get install tftp-hfa

用法:

tftp 111.1.1.10
verbose
status
put x.txt
quit

TFTP 目录内容检查:

ls -l /var/lib/tftpboot

如果一切正确,请尝试下载文件(get而不是put)。然后在另一台计算机上使用 TFTP 客户端来验证网络上的连接未被防火墙阻止。

相关内容