第48篇:FTP 与 TFTP——配置文件备份与上传
一、写在前面
网络工程师日常工作中,经常需要: - 把交换机的配置文件备份到电脑 - 把新的系统软件(VRP 文件)上传到交换机 - 批量下发配置
FTP 和 TFTP 是两种最常用的文件传输协议,也是网络设备管理的基本功。
二、FTP(File Transfer Protocol)
2.1 特点
| 特性 | 说明 |
|---|---|
| 传输层 | TCP(可靠传输) |
| 端口 | 控制连接:21 / 数据连接:20 |
| 认证 | 需要用户名和密码 |
| 目录操作 | 支持(ls、cd、mkdir 等) |
| 传输模式 | 二进制 / ASCII |
| 适用 | 大文件传输、需要认证的场景 |
2.2 FTP 两种模式回顾
| 模式 | 数据连接建立方式 | NAT 问题 |
|---|---|---|
| 主动(PORT) | 服务器主动连接客户端 | 需要 ALG |
| 被动(PASV) | 客户端主动连接服务器 | 通常不需要 ALG |
2.3 交换机作为 FTP 客户端
# 从 FTP 服务器下载文件到交换机
<Switch> ftp 192.168.1.100
Trying 192.168.1.100 ...
Press CTRL+K to abort
Connected to 192.168.1.100.
220 FTP service ready.
User(192.168.1.100:(none)): admin
331 Password required for admin.
Enter password:
230 User admin logged in.
[ftp] dir ← 列出服务器文件
[ftp] get vrp830.zip ← 下载文件到交换机
[ftp] put config.cfg ← 上传交换机配置文件到服务器
[ftp] binary ← 切换到二进制模式(传大文件/系统文件)
[ftp] quit ← 退出
2.4 交换机作为 FTP 服务器
让交换机作为 FTP 服务器,其他设备来连接:
[Switch] ftp server enable
[Switch] aaa
[Switch-aaa] local-user admin password cipher Admin@123
[Switch-aaa] local-user admin privilege level 15
[Switch-aaa] local-user admin ftp-directory flash:/
[Switch-aaa] local-user admin service-type ftp
[Switch-aaa] quit
# 从 PC 连接交换机
C:\> ftp 192.168.1.1
输入用户名 admin 和密码,即可上传/下载文件
三、TFTP(Trivial File Transfer Protocol)
3.1 特点
| 特性 | 说明 |
|---|---|
| 传输层 | UDP(不可靠,需应用层确认) |
| 端口 | 69 |
| 认证 | 无(不需要用户名密码) |
| 目录操作 | 不支持 |
| 传输模式 | 二进制 |
| 适用 | 小文件、快速传输、网络设备管理 |
3.2 TFTP 与 FTP 对比
| 对比项 | FTP | TFTP |
|---|---|---|
| 传输层协议 | TCP | UDP |
| 可靠性 | 高(TCP 确认重传) | 低(应用层简单确认) |
| 认证 | 需要用户名密码 | 不需要 |
| 速度快 | 慢(TCP 开销大) | 快(UDP 轻量) |
| 适用文件大小 | 大文件 | 小文件(<32MB) |
| 配置复杂度 | 需配置用户 | 极简 |
| 典型用途 | 配置文件、日志备份 | 系统升级、配置文件备份 |
3.3 TFTP 配置与操作
PC 上搭建 TFTP 服务器(推荐用 tftpd64 等软件)。
交换机作为 TFTP 客户端:
# 从 TFTP 服务器下载文件到交换机(升级系统)
<Switch> tftp 192.168.1.100 get vrp830.cc flash:/vrp830.cc
# 上传启动配置文件到 TFTP 服务器(备份配置)
<Switch> tftp 192.168.1.100 put vrpcfg.zip vrpcfg-backup.zip
# 上传系统日志
<Switch> tftp 192.168.1.100 put log.log
3.4 用 TFTP 升级交换机系统
# 1. 查看当前系统文件
<Switch> dir flash:/
Directory of flash:/
-rw- 14254080 Jul 26 2025 18:30:00 vrp830.cc
# 2. 从 TFTP 下载新系统
<Switch> tftp 192.168.1.100 get vrp830-new.cc flash:/vrp830-new.cc
File will be downloaded ...
|################################################################| 100%
# 3. 指定下次启动使用的系统文件
<Switch> startup system-software vrp830-new.cc
# 4. 查看下次启动配置
<Switch> display startup
Startup system software: flash:/vrp830-new.cc
Next startup system software: flash:/vrp830-new.cc
# 5. 重启
<Switch> reboot
四、备份配置文件
4.1 手动备份
# 保存当前配置
<Switch> save
The current configuration will be written to the device.
Are you sure? (y/n)[n]: y
# 上传到 FTP/TFTP 服务器
<Switch> tftp 192.168.1.100 put vrpcfg.zip config-20250729.zip
4.2 定时自动备份(通过脚本或网管平台)
# 示例:使用 Python + Netmiko 自动备份
# 可以定时执行,将配置文件自动保存到文件服务器
4.3 从备份恢复
# 从 TFTP 下载备份配置
<Switch> tftp 192.168.1.100 get config-20250729.zip flash:/
# 应用备份配置
<Switch> system-view
[Switch] rollback configuration to filename config-20250729.zip
五、FTP vs TFTP 选择建议
| 场景 | 推荐协议 |
|---|---|
| 交换机系统升级(VRP 文件,几十 MB) | TFTP(快) |
| 配置文件备份(几个 KB) | TFTP(简单) |
| 上传大文件(>100MB) | FTP(更稳) |
| 需要认证和目录管理 | FTP |
| 批量自动化脚本操作 | TFTP |
| 生产环境关键备份 | FTP(可靠) |
六、安全注意事项
| 风险 | 建议 |
|---|---|
| TFTP 无认证 | 仅在管理网段使用,限制访问源 |
| FTP 明文传输(密码) | 网络抓包可以看到密码 |
| 配置文件包含密码 | 加密保存,备份后及时删除临时文件 |
| TFTP 无目录浏览 | 这就是它的"安全"优势 |
建议:生产环境使用 SFTP(SSH File Transfer Protocol)或 SCP 替代 FTP/TFTP,传输加密。
七、思考
- FTP 和 TFTP 在传输层分别使用什么协议?各有什么优缺点?
- TFTP 没有认证,在配置上如何防止别人随意读取交换机文件?
- 交换机系统升级的一般步骤是什么?升级后需要重启吗?
- 备份配置文件有哪些方法?推荐哪个?
- 为什么 TFTP 适合传小文件而不适合传大文件?
- 从安全角度,FTP 和 TFTP 各有什么安全风险?有什么更好的替代协议?
下篇预告:第49篇《Telnet与SSH_远程管理的安全之选》——学习Telnet和SSH的配置,理解远程管理的安全选择。