Linux TFTP 配置详解
TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,常用于网络设备(如路由器、交换机)的固件更新或配置备份,在 Linux 系统中,配置 TFTP 服务需要安装相关软件包、设置目录权限,并确保防火墙和 SELinux 允许访问,以下是详细的配置步骤及注意事项。

安装 TFTP 服务组件
需安装 TFTP 服务器软件包 tftp-server 和客户端工具 tftp,以 CentOS/RHEL 系统为例,使用 yum 命令安装:
sudo yum install tftp-server tftp -y
对于 Ubuntu/Debian 系统,可使用 apt 命令:
sudo apt install tftpd-hpa tftp-hpa -y
安装完成后,TFTP 服务默认未启用,需手动启动并设置为开机自启:
sudo systemctl enable tftp --now
配置 TFTP 目录
TFTP 服务的默认工作目录通常是 /var/lib/tftpboot,需确保该目录存在且权限正确:
sudo mkdir -p /var/lib/tftpboot sudo chmod -R 777 /var/lib/tftpboot # 临时开放权限,生产环境建议更严格的控制
若需修改默认目录,编辑 TFTP 配置文件 /etc/xinetd.d/tftp(CentOS/RHEL)或 /etc/default/tftpd-hpa(Ubuntu/Debian),修改 server_args 参数指向自定义路径,

server_args = -s /custom/tftp/path
修改后重启服务:
sudo systemctl restart tftp
防火墙与 SELinux 设置
TFTP 默认使用 UDP 69 端口,需确保防火墙允许该端口访问,以 firewalld 为例:
sudo firewall-cmd --permanent --add-service=tftp sudo firewall-cmd --reload
若系统启用 SELinux,需设置 TFTP 目录的上下文为 public_content_rw_t:
sudo semanage fcontext -a -t public_content_rw_t "/var/lib/tftpboot(/.*)?" sudo restorecon -Rv /var/lib/tftpboot
测试 TFTP 服务
在客户端使用 tftp 命令测试上传下载功能,从服务器下载文件:
tftp <server_ip> get testfile quit
上传文件到服务器:

tftp <server_ip> put localfile quit
若操作成功,文件将出现在服务器的 /var/lib/tftpboot 目录中。
常见问题与优化
- 权限问题:确保 TFTP 目录对匿名用户可读写,避免因权限不足导致传输失败。
- 超时设置:若传输大文件,可调整 TFTP 超时参数(在配置文件中添加
timeout 300,单位为秒)。 - 安全性增强:TFTP 传输无加密,建议仅在可信网络中使用,或结合 SSH 使用
scp替代。
通过以上步骤,即可完成 Linux 系统下 TFTP 服务的配置,合理设置目录权限和防火墙规则,可有效保障服务的稳定性和安全性。