当前位置:首页 > 云服务器 > 正文

Linux tftp服务器怎么搭建?新手入门指南看这里!

Linux TFTP(Trivial File Transfer Protocol,简单文件传输协议)服务器是一种轻量级的文件传输服务,常用于网络设备(如路由器、交换机、防火墙)的固件升级、配置备份或自动化部署场景,与FTP相比,TFTP协议更简单,无需复杂的认证机制,仅支持文件传输功能,适用于低带宽或安全性要求不高的内网环境,本文将详细介绍Linux系统中TFTP服务器的搭建、配置及使用方法。

安装TFTP服务器软件

在Linux系统中,常用的TFTP服务器软件是tftphpa(服务器端)和tftphpa(客户端),可通过包管理器安装,以Ubuntu/Debian系统为例,执行以下命令:

sudo apt update sudo apt install tftphpa tftpdhpa

对于CentOS/RHEL系统,使用yum或dnf命令:

sudo yum install tftpserver tftp

安装完成后,TFTP服务默认不会自动启动,需手动启用并设置为开机自启:

Linux tftp服务器怎么搭建?新手入门指南看这里! 第1张

配置TFTP服务器

TFTP服务器的核心配置文件是/etc/default/tftpdhpa(Ubuntu/Debian)或/etc/xinetd.d/tftp(CentOS/RHEL),以Ubuntu为例,编辑配置文件:

sudo nano /etc/default/tftpdhpa

关键参数说明如下:

| 参数 | 说明 | 示例值 |

||||

| TFTP_DIRECTORY | TFTP服务的根目录,存放可传输的文件 | /var/lib/tftpboot |

| TFTP_OPTIONS | 启动参数,如secure启用安全模式(仅允许上传到指定目录) | secure create permissive |

| RUN_DAEMON | 是否以守护进程方式运行 | yes |

配置完成后,创建TFTP根目录并设置权限:

若使用CentOS系统,需检查/etc/xinetd.d/tftp文件,确保disable = no,并重启xinetd服务:

sudo systemctl restart xinetd

防火墙与SELinux配置

若服务器启用了防火墙(如ufw或firewalld),需开放TFTP默认端口69:

  • Ubuntu(ufw): sudo ufw allow 69/udp
  • CentOS(firewalld): sudo firewallcmd permanent addservice=tftp sudo firewallcmd reload

    对于SELinux enabled的系统(如CentOS),需执行以下命令允许TFTP服务:

    Linux tftp服务器怎么搭建?新手入门指南看这里! 第2张

    sudo setsebool P tftp_home_dir on

测试TFTP服务器

使用TFTP客户端测试上传下载功能,以Linux客户端为例,执行以下命令:

  1. 下载文件: tftp 192.168.1.100 c get test.txt
  2. 上传文件: tftp 192.168.1.100 c put test.txt

    若提示“Transfer complete”,则说明配置成功。

常见问题排查

  1. 权限问题:确保TFTP根目录对用户tftp(或nobody)有读写权限。
  2. 服务未启动:检查systemctl status tftp或xinetd服务状态,确认端口69是否监听(netstat ulnp | grep 69)。

相关问答FAQs

Q1: TFTP服务器如何限制客户端的访问IP?

A1: 可通过修改TFTP配置文件添加address参数限制绑定IP,例如TFTP_OPTIONS="secure create address 192.168.1.100",或结合防火墙规则(如iptables)仅允许特定IP访问69端口。

Q2: 如何实现TFTP服务器的文件上传日志记录?

A2: TFTP本身不提供日志功能,可通过以下方式实现:

  • 使用xinetd模式时,在/etc/xinetd.d/tftp中添加flags = IPv4并启用log_on_success和log_on_failure;
  • 外部工具如auditd监控/var/lib/tftpboot目录的文件变更;
  • 或将TFTP服务封装到脚本中,通过日志工具记录操作。

Linux tftp服务器怎么搭建?新手入门指南看这里! 第3张

0