![tftpd-hpa 无法与局域网中另一台电脑上的 tftp 客户端配合使用](https://linux22.com/image/1167404/tftpd-hpa%20%E6%97%A0%E6%B3%95%E4%B8%8E%E5%B1%80%E5%9F%9F%E7%BD%91%E4%B8%AD%E5%8F%A6%E4%B8%80%E5%8F%B0%E7%94%B5%E8%84%91%E4%B8%8A%E7%9A%84%20tftp%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8.png)
我有一台运行 Ubuntu 19.04 的 PC。(IP:192.168.109.113)。我的 tftp 运行成功,并且我的本地 tftp 客户端正在运行
root@server:/# tftp 192.168.109.113
tftp> get
(files) test.txt
tftp>
但在我的局域网中,另一台电脑上使用 tftp 客户端时,tftp 不起作用。我总是超时。Ping 正常,防火墙 (UFW) 已禁用。
当我尝试使用我的 Windows 机器从服务器获取数据时,失败如下:
C:\>tftp 192.168.109.113 put test.txt
Timeout occurred
Connect request failed
当我放置一个文件时,它实际上会在 /var/lib/tftpboot 中创建,但不会填充数据。
以下是 /etc/default/tftpd-hpa 的内容:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"
这是 /etc/xinetd.d/tftp:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /var/lib/tftpboot
disable = no
}
以下是输出iptables --list
:
root@server:/# iptables --list
iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:69
ACCEPT udp -- anywhere anywhere udp dpt:tftp
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:69
ACCEPT udp -- anywhere anywhere udp dpt:tftp
知道我必须做什么才能让所有客户端运行 tftp 吗?