如何在Linux系统上安装并配置TFTP服务器?
- 云服务器
- 2025-12-17
- 4
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种基于UDP协议的简单文件传输协议,常用于网络设备(如路由器、交换机、防火墙等)的固件升级、配置备份或自动化部署场景,由于其轻量级和无认证的特点,TFTP服务器在局域网内的小规模文件传输中具有广泛应用,本文将详细介绍TFTP服务器的安装、配置及使用方法,涵盖不同操作系统环境下的操作步骤,并提供常见问题解答。
TFTP服务器安装前的准备工作
在安装TFTP服务器之前,需确保以下条件满足:

- 操作系统环境:支持Linux、Windows或macOS系统,本文以Linux(Ubuntu/CentOS)和Windows为例进行说明。
- 网络配置:服务器与客户端需处于同一局域网内,且网络互通(可通过ping命令测试)。
- 目录权限:需提前创建用于存放传输文件的目录,并设置正确的读写权限。
Linux环境下TFTP服务器安装与配置
Ubuntu/Debian系统
安装步骤:
- 更新软件包列表:sudo apt update
- 安装TFTP服务器及客户端:sudo apt install tftpdhpa tftphpa
- 安装xinetd(若需通过xinetd管理TFTP服务):sudo apt install xinetd
配置文件修改:

- 编辑TFTP配置文件:sudo nano /etc/default/tftpdhpa
修改以下参数: TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" # 文件存储目录 TFTP_ADDRESS="0.0.0.0:69" # 监听地址和端口 TFTP_OPTIONS="secure create" # 允许上传文件(create)
- 创建文件存储目录并设置权限: sudo mkdir p /var/lib/tftpboot sudo chmod R 777 /var/lib/tftpboot # 临时开放权限,生产环境建议按需设置 sudo chown R tftp:tftp /var/lib/tftpboot
- 启动并设置开机自启: sudo systemctl restart tftpdhpa sudo systemctl enable tftpdhpa
CentOS/RHEL系统
安装步骤:
- 安装TFTP服务器及xinetd:sudo yum install tftp tftpserver xinetd
- 编辑配置文件:sudo nano /etc/xinetd.d/tftp
修改以下内容:
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = s /var/lib/tftpboot c # c允许上传 disable = no per_source = 11 cps = 100 2 flags = IPv4 }
- 创建目录并设置权限: sudo mkdir p /var/lib/tftpboot sudo chmod R 777 /var/lib/tftpboot sudo chown R root:root /var/lib/tftpboot
- 启动xinetd服务: sudo systemctl restart xinetd sudo systemctl enable xinetd
Windows环境下TFTP服务器安装与配置
Windows系统可通过第三方工具(如TFTPServer、3CDaemon)或内置功能安装TFTP服务器,以下以TFTPServer为例:
- 下载安装:从官网下载TFTPServer安装包(如Tftpd32),安装并运行。
- 基本配置:
- 设置主目录(如C:tftpboot),存放传输文件。
- 勾选TFTP Server选项,设置端口为69。
- 在Security选项卡中,可限制客户端IP或允许所有访问。
- 启动服务:点击“Start”按钮启动TFTP服务器。
- 防火墙配置:允许TFTP端口(UDP 69)通过Windows防火墙。
TFTP客户端使用示例
Linux客户端
- 下载文件:tftp 192.168.1.100 c get test.txt
- 上传文件:tftp 192.168.1.100 c put test.txt
Windows客户端
- 使用命令提示符(需先安装TFTP客户端): tftp i 192.168.1.100 get test.txt tftp i 192.168.1.100 put test.txt
常见问题排查
- 权限问题:确保客户端对TFTP目录有读写权限,Linux下可通过chmod调整。
- 防火墙拦截:检查服务器防火墙是否开放UDP 69端口。
- 服务未启动:通过systemctl status tftpdhpa(Linux)或查看TFTPServer界面确认服务状态。
相关问答FAQs
问题1:TFTP与FTP有什么区别?
解答:TFTP是基于UDP的轻量级协议,无需认证,仅支持简单文件传输,适用于无安全要求的场景;而FTP是基于TCP的协议,支持用户认证、目录浏览和断点续传,功能更全面但资源占用更高,TFTP常用于网络设备固件升级,FTP则更适合通用文件共享。
问题2:如何确保TFTP服务器的安全性?
解答:由于TFTP本身无加密和认证功能,可通过以下方式增强安全性:
- 限制客户端IP:在Linux的/etc/xinetd.d/tftp中配置only_from参数,或Windows防火墙设置IP白名单。
- 使用独立网络:将TFTP服务器部署在隔离的VLAN中,避免暴露于公网。
- 定期清理文件:避免存储敏感数据,并定期清理临时传输文件。
通过以上步骤,您可快速搭建并运行TFTP服务器,满足网络设备管理的需求,实际应用中,建议根据安全需求调整配置,并结合日志监控服务运行状态。