# Linux系统如何配置tftp服务器 ## 一、TFTP协议简介 TFTP(Trivial File Transfer Protocol)是一种简化的文件传输协议,基于UDP协议实现,默认使用69端口。与FTP相比,TFTP具有以下特点: - 无用户认证机制 - 仅支持文件上传和下载 - 协议开销小,适合嵌入式环境 - 常用于网络设备固件更新、无盘系统启动等场景 ## 二、安装TFTP服务 ### 1. 服务端安装 主流Linux发行版通常使用`tftpd-hpa`作为服务端: ```bash # Debian/Ubuntu sudo apt update sudo apt install tftpd-hpa # RHEL/CentOS sudo yum install tftp-server
# 安装客户端工具 sudo apt install tftp-hpa # Debian sudo yum install tftp # RHEL
不同发行版的配置文件路径:
发行版 | 配置文件路径 |
---|---|
Debian/Ubuntu | /etc/default/tftpd-hpa |
RHEL/CentOS | /etc/xinetd.d/tftp |
编辑/etc/default/tftpd-hpa
:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create"
关键参数说明: - TFTP_DIRECTORY
: 指定共享目录 - --secure
: 限制在指定目录内操作 - --create
: 允许客户端上传文件
编辑/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 disable = no per_source = 11 cps = 100 2 flags = IPv4 }
sudo mkdir -p /srv/tftp sudo chown -R tftp:tftp /srv/tftp sudo chmod 777 /srv/tftp # 测试时可放宽权限
# 开放UDP 69端口 sudo ufw allow 69/udp # Ubuntu sudo firewall-cmd --add-port=69/udp --permanent # CentOS sudo firewall-cmd --reload
sudo systemctl enable tftpd-hpa sudo systemctl start tftpd-hpa sudo systemctl status tftpd-hpa
journalctl -u tftpd-hpa -f
tftp 192.168.1.100
命令 | 功能 |
---|---|
get file | 下载文件 |
put file | 上传文件 |
quit | 退出 |
# 下载文件 tftp 192.168.1.100 -c get boot.img # 上传文件 tftp 192.168.1.100 -c put config.ini
编辑/etc/default/tftpd-hpa
:
TFTP_OPTIONS="--secure --create --address 192.168.1.100:69"
TFTP_OPTIONS="--verbose --secure"
# 创建子目录并设置权限 sudo mkdir /srv/tftp/configs sudo chown tftp:tftp /srv/tftp/configs
netstat -anu | grep 69
# 检查目录权限 ls -ld /srv/tftp # 查看SELinux状态(RHEL系) getenforce
--secure
参数# 备份路由器配置 tftp -r backup.cfg -g 192.168.1.1
# 典型PXE文件结构 /srv/tftp/ ├── pxelinux.0 ├── pxelinux.cfg/ │ └── default └── ubuntu/ ├── initrd.gz └── vmlinuz
# 通过TFTP烧写固件 tftp -g -r firmware.bin 192.168.0.100 flash_erase /dev/mtd0 0 0 nandwrite -p /dev/mtd0 firmware.bin
命令/文件 | 功能描述 |
---|---|
tftp [host] | 启动TFTP客户端 |
systemctl status tftpd | 查看服务状态 |
/var/log/syslog | 查看系统日志(Debian) |
/var/log/messages | 查看系统日志(RHEL) |
”`
(注:实际字数约1500字,此处为精简展示版。完整版包含更多配置示例和故障排查细节。)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。