首页/网络/网络设备配置速查/两份配置比对:服务器侧 diff 与设备侧工具
堆叠、高可用与备份升级52 条

两份配置比对:服务器侧 diff 与设备侧工具

变更前后各导一份配置,用服务器上的 diff 逐行比对是最可靠的审计方式;思科还能在设备内直接比对归档版本。

网络设备配置速查网络更新于 2026-10-13

配置比对解决什么问题

配置比对是把变更前后两份设备配置放在一起逐行对照,用来回答三件事:这次变更到底改了什么、有没有夹带未申报的改动、当前故障是不是某次变更引入的。设备上的 show 命令只能看到当前配置,真正的差异必须靠两份快照来算。思科 IOS 自带 archive 历史归档,可以在设备内直接比对;华为 VRP 与 H3C Comware 没有等价功能,标准做法是先导出配置、再到服务器上用 diff 类工具处理。审计场景下比对输出还有留档价值:变更单附上差异文件,事后可以不依赖设备直接回看。

基本信息

适用平台三厂通用(导出后比对);思科 IOS 支持设备内比对
常用工具GNU diff、WinMerge、Beyond Compare 等行级比对工具
前提条件两份配置同型号同版本、同一导出方式,中间无其他变更
结果用途变更审计留档、故障回溯、批量一致性核对

典型使用场景

  • 变更前留底:把现网配置导出为 before,变更完成后再导一份 after,逐行核对改动与变更单是否一致
  • 故障回溯:设备刚出问题又怀疑与上次操作相关,比对变更前后配置确认是否存在未申报改动
  • 合规审计:等保与内审要求提供配置变更记录,差异输出是最直接的证据材料
  • 批量核对:同批设备本应配置一致,两两 diff 能快速揪出漏配或配错的那一台
  • 版本升级前后:升级前存基线,升级后确认配置没有被系统自动改写或丢失

服务器侧比对(Linux)

服务器侧比对(Linux)
diff -u before.cfg after.cfg > change.diff      # 统一格式输出,便于存档
# 过滤时间戳与登录会话噪音,避免淹没真实差异:
diff -u before.cfg after.cfg | grep -v 'Last configuration change'
# 只看本次新增的配置行:
diff -u before.cfg after.cfg | grep '^+' | grep -v '^+++'
# 只看本次被删掉的配置行:
diff -u before.cfg after.cfg | grep '^-' | grep -v '^---'

思科设备内比对

思科设备内比对
SW-CORE-01# show archive config differences nvram:startup-config system:running-config
SW-CORE-01# show archive config differences flash:archive-2 flash:archive-3
SW-CORE-01# show archive config rollback 2   ! 部分平台支持按归档点回滚

华为与 H3C 导出

华为与 H3C 导出
# 华为 VRP:把启动配置推到 TFTP 服务器,变更后再导一份
<SW-CORE-01> tftp 192.168.1.100 put vrpcfg.zip before.zip
# H3C Comware:直接把启动配置备份到服务器
<H3C> backup startup-configuration to 192.168.1.100 before.cfg

差异行怎么读

差异标记含义处理建议
- 开头变更前有、变更后没有,属被删除的配置逐条确认是否为本人操作、是否影响业务
+ 开头变更后新增的配置与变更单逐条对照,夹带的改动要单独说明
时间戳/主机名行导出时刻、会话信息变化产生的噪音比对前统一过滤,否则会淹没真实差异
description 等描述行不影响转发但反映意图变化同步更新到配置文档与网管备注
interface/邻居整段变化可能涉及板卡插拔或配置重建结合日志确认变更窗口,不要只看配置
比对前提是两份配置来源一致:都是 display current-configuration 的输出,或者都是启动配置文件。混用当前配置与启动配置,会把没保存的临时改动也算成差异。
华为 VRP 与 H3C 都没有思科那种设备内历史比对,做审计只能靠外部归档:每次导出按日期加设备名命名(如 20261013_sw-core-01.cfg)留在文件服务器或版本库里,需要时随时回溯。

易错点

  • 隔了很久才比对:期间多次变更混在一起,差异清单过长反而失去定位价值,应做到一次变更一次比对
  • 直接比对二进制文件:华为启动配置是 vrpcfg.zip,必须先解压取出内部配置文件,否则 diff 只会提示二进制文件不同
  • 漏了保存动作:改了运行配置没有执行保存,比对启动配置时看不到改动,会误判为变更未生效
  • 只比配置不比版本:配置一致但软件版本不同,行为仍可能不同,变更记录应同时保留 display version 输出

数据来源与参考

  • Cisco IOS show archive config differences
  • GNU diff 使用说明
  • 华为/H3C 配置导出方式

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌