4. Catalyst交换机密码恢复操作

ROMMON 密码恢复的核心逻辑

Catalyst 交换机忘记 enable 密码时,无法通过正常 IOS 登录修改配置。此时需要利用设备启动早期的 ROMMON(ROM Monitor)环境,让交换机跳过 startup-config 启动,进入无密码的 IOS 后再把原配置加载回来,最后写入新密码。整个过程的关键是:不删除 startup-config,只临时绕过它。

Catalyst 密码恢复:ROMMON 绕过 startup-config 流程 正常启动 加载 startup-config 需要 enable 密码 进入 ROMMON 开机按住 Mode 键 或 Ctrl+Break 修改配置寄存器 confreg 0x2142 跳过 startup-config 重启 reset 进入无密码 IOS startup-config 未加载 running-config 为空 加载原 startup-config copy startup-config running-config 原配置全部恢复 设置新 enable 密码 enable secret <新密码> 恢复寄存器 0x2102 保存配置并验证 write memory → 重启 → 用新密码登录 → show running-config 确认原配置完整 ⚠ 关键约束: confreg 0x2142 只改变启动行为,不删除 startup-config;恢复后必须改回 0x2102,否则下次重启仍会跳过配置。 启动阶段 恢复阶段 验证阶段

操作前的准备与风险控制

密码恢复需要物理接触设备,因此必须提前确认以下条件:

  • Console 连接:使用 RJ-45 转 USB 或 DB-9 串口线连接交换机 Console 口,终端软件参数为 9600-8-N-1,无流控。
  • 终端软件支持发送 Break:PuTTY、SecureCRT、Tera Term 均可;Windows 下也可用 Ctrl+Break 组合键。
  • 确认 startup-config 存在:如果设备从未保存过配置,则无需恢复,直接设置密码即可。
  • 记录当前配置寄存器值:正常启动值通常为 0x2102,恢复后必须改回。
密码恢复会短暂中断业务。如果交换机承载生产流量,应在维护窗口执行,并提前通知相关方。

ROMMON 模式下的关键操作

不同 Catalyst 平台的 ROMMON 提示符略有差异(rommon 1 > 或 switch:),但核心命令一致:

# 进入 ROMMON 后,修改配置寄存器跳过 startup-config
rommon 1 > confreg 0x2142

# 重启交换机
rommon 2 > reset

# 交换机重启后进入无密码 IOS,此时 running-config 为空
# 将原 startup-config 加载到 running-config
Switch> enable
Switch# copy startup-config running-config

# 此时原配置已恢复,但 enable 密码仍是旧的(未知)
# 直接设置新密码
Switch# configure terminal
Switch(config)# enable secret NewP@ssw0rd2024
Switch(config)# config-register 0x2102
Switch(config)# end

# 保存配置
Switch# write memory

验证与常见问题

保存后执行 reload,观察启动过程是否正常加载配置。重启完成后用新密码登录,并检查关键配置是否完整:

Switch# show running-config | include enable
enable secret 5 $1$mERr$...

如果重启后仍进入无密码状态,说明配置寄存器未改回 0x2102,或 write memory 未成功执行。此时重新进入 ROMMON 检查 confreg 值即可。

部分 Catalyst 型号(如 2960/3560)在 ROMMON 下使用 confreg 0x2142 后,需执行 reset 而非 boot,否则可能仍加载原配置。