📡 第三章 路由器和它庞大的功能
📄 一句话概括

TFTP 没有认证、没有加密、跑在 UDP 上——配置里有密码哈希与完整拓扑。 几百 KB 的配置什么方式都很快,所以「备份慢」不是传输问题。

📝 本节和前面几节的关系

上一节讲排查,这一节讲「改之前先备份」用的传输方式。 配置备份是运维里最该自动化、也最容易被忘的一件事。

一、四种方式的取舍

方式 端口 加密 适用


TFTP UDP 69 无 实验室内网 FTP TCP 21 无 老设备 SCP/SFTP TCP 22 有 生产网 HTTPS TCP 443 有 带界面的设备

TFTP 是最该被淘汰的:没有认证、没有加密、用 UDP。 任何能访问到那个端口的人都能下载你的配置——而配置里有密码哈希、有拓扑、有地址规划。

二、「备份慢」其实不是传输慢

一台中型路由器,配置约 3000 行、每行 60 字符,也就 176 KB。 500 行是 29 KB,10000 行是 586 KB。

几百 KB 的文件,什么方式都很快。 所以「备份慢」的真正原因是「设备生成配置到导出」这一段——有些设备要 CPU 逐条渲染,大配置要几十秒。

这也解释了一个现象:同一台设备备份小配置很快、备份大配置很慢, 而换传输协议没用——因为瓶颈在生成,不在传输。

三、备份要自动化的三条理由

一、人工备份必然忘, 而且忘的时候往往是「改动之前」那一次——因为改动之前人想的是「赶紧改」,不是「先备份」。 二、要有版本:不只是「最新的」,还要「上周的」。改坏了要能回退到昨天的版本。 三、要能比对:改之前与改之后差在哪。「改了什么」比「当前是什么」更能定位故障。

第三条最容易被忽略但最有用:因为故障绝大多数是「某次改动」引入的, 而「列出上周到本周的配置差异」能直接指到嫌疑。

四、两条安全实践

一、备份文件要存到设备以外的地方, 而且不要与设备同一套认证——否则设备被入侵时,备份跟着一起被改。 二、备份目录要限权:配置里有密码哈希,拿到了哈希就能离线爆破。 所以备份文件的权限比设备本身还重要。

还有一条常被忘:备份要「能恢复」才算备份。 定期挑一台设备做恢复演练——否则真出事那天才发现备份文件是空的、或者格式对不上。

五、动手 Demo:备份一份配置要多久,三种传输方式比一比

这段列出四种传输方式的端口、加密与适用场合,再按「每行 60 字符」算三档配置行数对应的文件大小。

for lines in (500, 3000, 10000):
    kb = lines * 60 / 1024.0
    P(u"  %d 行:约 %.0f KB。" % (lines, kb))

实跑输出:

--------------------------------------------------------------------
备份一份配置要多久,三种传输方式比一比
--------------------------------------------------------------------
**配置备份是运维里最该自动化、也最容易被忘的一件事。**这一节算传输时间与可靠性。

  方式          端口        加密     认证                   适用
  --------------------------------------------------------------------------
  TFTP          UDP 69      无       无                     实验室内网
  FTP           TCP 21      无       用户名密码(明文)     老设备
  SCP/SFTP     TCP 22      有       有                     生产网
  HTTPS         TCP 443     有       有                     带界面的设备

**TFTP 是最该被淘汰的**:
**没有认证、没有加密、用 UDP。**任何能访问到那个端口的人都能下载你的配置。
**而配置里有密码哈希、有拓扑、有地址规划。**

**算一下配置文件有多大**:一台中型路由器,配置约 3000 行,每行 60 字符:

    500 行:约 29 KB。
   3000 行:约 176 KB。
  10000 行:约 586 KB。

**几百 KB 的文件,什么方式都很快**——所以「备份慢」不是传输问题,
**是「设备生成配置到导出」这一段慢**(有些设备要 CPU 逐条渲染)。

**备份要自动化的三条理由**:

1. **人工备份必然忘**,而且忘的时候往往是「改动之前」那一次。
2. **要有版本**:不只是「最新的」,还要「上周的」。**改坏了要能回退到昨天的版本。**
3. **要能比对**:改之前与改之后差在哪。**「改了什么」比「当前是什么」更能定位故障。**

**最后一条实践**:备份文件要**存到设备以外的地方**,
而且**不要与设备同一套认证**——**否则设备被入侵时,备份跟着一起被改。**

「176 KB」这个量级要记住:它说明配置备份根本不是「大文件传输」问题。 所以「用 TFTP 因为快」这个理由不成立——几百 KB 用 SSH 传也只多几百毫秒。

「备份慢在生成不在传输」这一条是诊断要点:有人为了加速备份去换协议、换服务器, 全是白费功夫。 先量一下「设备本地导出到文件」要多久。

最后「备份要能恢复才算备份」是全文最重要的一句:没有演练过的备份,只是一堆占空间的字节。 而且恢复演练还能顺带发现「配置文件里有没有硬编码的旧地址」。

30 秒实验

  1. 备份一次你手上设备的配置,看看文件多大。
  2. 试着对比两个不同时间的配置,看 diff 有多少行。
  3. 想一想:如果设备坏了,你怎么用备份恢复?试过吗?

常见误区

  1. 以为 TFTP 够用。无认证无加密,配置等于公开。
  2. 以为备份慢是传输问题。瓶颈在设备生成配置。
  3. 以为备份存着就行。没演练过的备份不可信。
自测三问(点开对答案) 1. TFTP 为什么不该在生产网使用? —— 无认证、无加密、基于 UDP,任何人都能下载配置。 2. 备份慢的真实原因通常是什么? —— 设备生成配置的过程慢,不是传输慢。 3. 为什么备份要保留历史版本并能比对? —— 改坏了能回退,且「改了什么」能直接定位故障原因。

下一节:除了备份,还有哪些排查工具。

相关笔记