4. Catalyst交换机密码恢复操作
ROMMON 密码恢复的核心逻辑
Catalyst 交换机忘记 enable 密码时,无法通过正常 IOS 登录修改配置。此时需要利用设备启动早期的 ROMMON(ROM Monitor)环境,让交换机跳过 startup-config 启动,进入无密码的 IOS 后再把原配置加载回来,最后写入新密码。整个过程的关键是:不删除 startup-config,只临时绕过它。
操作前的准备与风险控制
密码恢复需要物理接触设备,因此必须提前确认以下条件:
- 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,否则可能仍加载原配置。