TFTP(Trivial File Transfer Protocol)是一种基于UDP协议的轻量级文件传输协议,常用于局域网内设备(如路由器、交换机、IP电话)的固件更新或配置文件传输,以下是详细使用教程:
TFTP 基础概念
-
特点
- 使用UDP端口69(无连接,传输效率高但不可靠)
- 无需身份验证(仅适合安全内网环境)
- 仅支持文件上传(
put
)和下载(get
) - 单次传输最大文件通常为32MB(受协议限制)
-
适用场景
- 网络设备固件备份/恢复
- 无盘工作站启动文件传输
- 嵌入式系统日志下载
环境准备
安装TFTP服务器
-
Linux (Debian/Ubuntu)
sudo apt install tftpd-hpa sudo systemctl start tftpd-hpa # 启动服务
配置文件路径:
/etc/default/tftpd-hpa
默认目录:/var/lib/tftpboot
(需确保目录可写) -
Windows
使用第三方工具如:- SolarWinds TFTP Server(免费版)
- Tftpd64(开源)
安装后设置共享目录并启动服务。
防火墙放行(关键!)
sudo ufw allow 69/udp # Linux``` --- ### **三、TFTP 客户端命令详解** #### **基本语法** ```bash tftp [选项] [服务器IP]
常用选项:
-v
:显示详细传输过程-c
:指定二进制模式(传输固件必需)
连接服务器示例
tftp 192.168.1.100 # 连接内网TFTP服务器
文件传输操作指南
下载文件(从服务器获取)
tftp> get firmware.bin # 下载文件到当前目录 tftp> get /config/backup.cfg backup_local.cfg # 指定远程路径和本地文件名
⚠️ 文件必须存在于服务器共享目录中
上传文件(发送到服务器)
tftp> put new_firmware.bin # 上传当前目录文件 tftp> put settings.txt /backups/settings_2025.txt # 指定本地文件及服务器路径
需确保服务器目录有写入权限
退出TFTP会话
tftp> quit
实战案例
案例1:备份路由器配置
- 路由器执行备份命令(示例命令,具体依设备而定):
Router# copy running-config tftp://192.168.1.100/router-backup.cfg
- 在TFTP服务器查看
/var/lib/tftpboot
确认文件
案例2:更新交换机固件
- 将固件文件
switch.bin
放入服务器目录 - 交换机执行升级命令:
[Switch] tftp 192.168.1.100 get switch.bin flash:/switch.bin [Switch] boot-loader flash:/switch.bin
常见错误解决
错误提示 | 原因及解决方案 |
---|---|
Transfer timed out |
防火墙未放行UDP 69 / 服务器未运行 |
Access violation |
服务器目录权限不足 → chmod 777 /tftpboot |
File not found |
文件名拼写错误 / 文件不在服务器目录 |
No such file or directory |
客户端本地路径错误 → 检查当前工作目录 |
安全注意事项
- 仅限内网使用:TFTP无加密,公网传输易被嗅探
- 最小权限原则:服务器目录设置只读(
chmod 755
)避免恶意上传 - 临时启用:用后立即关闭服务(Linux:
sudo systemctl stop tftpd-hpa
)
TFTP是网络维护的高效工具,但务必遵循:
✅ 严格在内网环境使用
✅ 传输前验证文件完整性(如MD5校验)
✅ 操作关键设备前备份数据
对于更复杂的传输需求(如加密、大文件),建议改用SFTP/SCP。
引用说明:
- TFTP协议规范:RFC 1350
- Linux
tftpd-hpa
配置手册:Debian Wiki- 防火墙配置参考:Ubuntu UFW官方文档
- 网络设备操作指南:Cisco/Huawei官方配置手册
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5472.html