TFTP服务器搭建攻略:目录、端口与防火墙
怎么开启tftp服务器
TFTP 服务器通常用于局域网内的文件传输,例如路由器固件升级、交换机配置备份、嵌入式设备系统恢复等。它基于 UDP 协议,默认端口为 69,配置简单、占用资源少,但安全性较弱,因此建议只在可信的内网环境中使用。下面介绍在 Windows 和 Linux 系统中开启 TFTP 服务器的方法。
一、开启 TFTP 服务器前的准备
在开启 TFTP 服务器之前,需要先确认以下几点:
-
确认本机 IP 地址
TFTP 客户端需要通过服务器 IP 访问文件,因此需要知道服务器所在主机的局域网 IP。 -
准备传输目录
TFTP 服务器通常会指定一个根目录,客户端只能上传或下载该目录中的文件。 -
关闭或放行防火墙限制
TFTP 使用 UDP 69 端口,如果防火墙阻止该端口,客户端可能无法连接。 -
确认客户端与服务器在同一网络
如果设备不在同一网段,需要配置路由或网关,否则可能无法访问。
二、Windows 系统开启 TFTP 服务器
Windows 系统本身通常不自带完整的 TFTP 服务端,推荐使用第三方工具,例如 Tftpd64、Tftpd32 等。
1. 下载并安装 Tftpd64
可以从可信软件站点下载 Tftpd64。安装完成后打开程序,界面通常包含以下选项:
- Current Directory:当前 TFTP 根目录
- Server interfaces:服务器监听的网络接口
- Log Viewer:日志查看窗口
2. 设置 TFTP 文件目录
在 Current Directory 中选择要共享的文件夹,例如:
D:\tftp-root
建议将该目录权限设置清楚,避免无关用户随意访问。
3. 选择网卡接口
如果电脑有多张网卡,例如 Wi-Fi、有线网卡、虚拟机网卡,需要在 Server interfaces 中选择正确的局域网 IP。
例如本机 IP 为:
192.168.1.100
那么客户端就可以访问:
192.168.1.100
4. 放行防火墙
如果客户端无法连接,需要检查 Windows 防火墙设置。可以允许 Tftpd64 程序通过防火墙,或临时关闭防火墙测试。更推荐的做法是只放行 UDP 69 端口及相关动态端口。
三、Linux 系统开启 TFTP 服务器
Linux 下常用的 TFTP 服务软件是 tftpd-hpa。下面以 Debian/Ubuntu 类系统为例。
1. 安装 TFTP 服务
sudo apt update
sudo apt install tftpd-hpa tftp-hpa
2. 创建 TFTP 目录
sudo mkdir -p /var/lib/tftpboot
如果需要让普通用户或客户端上传文件,可以设置目录权限:
sudo chmod -R 777 /var/lib/tftpboot
注意:777 权限方便测试,但生产环境不建议长期使用,应根据实际情况设置更安全的权限。
3. 修改配置文件
编辑 TFTP 配置文件:
sudo nano /etc/default/tftpd-hpa
常见配置如下:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure --create"
参数说明:
TFTP_DIRECTORY:TFTP 根目录TFTP_ADDRESS:监听端口,默认 69--secure:限制客户端只能访问指定目录--create:允许客户端上传文件
4. 启动并设置开机自启
sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa
5. 检查防火墙
如果系统开启了防火墙,需要放行 UDP 69 端口:
sudo ufw allow 69/udp
也可以查看服务状态:
sudo systemctl status tftpd-hpa
四、测试 TFTP 服务器是否正常
可以使用 TFTP 客户端测试上传和下载。
1. Linux 客户端测试
下载文件:
tftp 192.168.1.100
进入交互界面后执行:
get test.txt
put test.txt
quit
其中 192.168.1.100 需要替换成 TFTP 服务器的实际 IP。
2. Windows 客户端测试
Windows 可以启用系统自带的 TFTP 客户端:
- 打开“控制面板”
- 进入“启用或关闭 Windows 功能”
- 勾选“TFTP 客户端”
- 在命令提示符中使用:
tftp -i 192.168.1.100 get test.txt
五、常见问题排查
1. 客户端连接超时
可能原因包括:
- 服务器防火墙未放行 UDP 69
- 服务器 IP 选择错误
- 客户端和服务器不在同一网络
- TFTP 服务未正常启动
2. 可以下载但不能上传
如果是 Linux 的 tftpd-hpa,需要确认配置中包含:
--create
同时确认 TFTP 目录具备写入权限。
3. 文件传输失败
TFTP 对文件名和目录权限比较敏感,建议:
- 文件名不要包含特殊字符
- 文件不要过大
- 确认目录路径正确
- 查看 TFTP 服务日志
总结
开启 TFTP 服务器并不复杂,Windows 系统可以使用 Tftpd64 等工具快速搭建,Linux 系统则可以通过安装 tftpd-hpa 并配置目录、权限和防火墙来完成。需要注意的是,TFTP 没有复杂认证机制,安全性较弱,适合局域网或受信任环境使用。只要正确设置共享目录、监听 IP、UDP 69 端口和访问权限,就可以稳定地实现文件上传和下载。