第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,传输加密。


七、思考

  1. FTP 和 TFTP 在传输层分别使用什么协议?各有什么优缺点?
  2. TFTP 没有认证,在配置上如何防止别人随意读取交换机文件?
  3. 交换机系统升级的一般步骤是什么?升级后需要重启吗?
  4. 备份配置文件有哪些方法?推荐哪个?
  5. 为什么 TFTP 适合传小文件而不适合传大文件?
  6. 从安全角度,FTP 和 TFTP 各有什么安全风险?有什么更好的替代协议?

下篇预告:第49篇《Telnet与SSH_远程管理的安全之选》——学习Telnet和SSH的配置,理解远程管理的安全选择。