设备起来后能直接进系统,不要密码,半小时内把“要返厂三天”的事故扭过来了。
事情到底怎么回事,我把来龙去脉按时间顺序说清楚。客户把交换机管理口密码忘了,厂家一听提议返厂检修,得停机三天。客户急得像热锅上的蚂蚁,叫我过去看能不能救回来。我问了一句有Console线没,答案是有。那就走起。
我带着笔记本和一根Console线上门,到了机房把线接到交换机Console口,再接笔电的USB转串口或DB9口。开SecureCRT,串口参数设为9600波特率、8个数据位、无校验、1停止位(9600-8-N-1),这些厂家的默认都差不多。关机接好线,别插错,接触不好是常犯的毛病。接好一切就开机,屏幕上会有启动倒计时。在倒计时结束前不断按Ctrl+B(有的厂商可能是别的组合键,但常见设备用Ctrl+B),就能进BootROM。
进了BootROM,你会看到一堆选项:有默认启动、串口子菜单、启动项配置、数据恢复、密码恢复、清除控制台口密码认证之类的。不同型号菜单用词不完全一样,但要找跟“clear password”或“clear console password”相关的选项。有的型号把“清除控制台用户密码”放第七项,有的把“清除控制台口认证”放第九项。选中清密码的条目后,系统会提示确认,有时要你输入一个确认值,没提示就回车默认。这样做的结果就是:这次启动不会载入原先保存在Flash或NVRAM里的配置文件,也就不会触发那份配置里记录的管理员口令认证。设备像新机一样起来,直接能回车进系统。
进系统后第一件事是立刻建立管理员账号和密码,并把新配置保存回Flash。如果是H3C某些型号,单纯在BootROM里清完密码后,系统虽然能直接进,但旧的配置文件还在存储上,可能还会造成一些困扰,这时候需要手动删除存储里的旧配置文件,确保密码的确 被清除。要注意的是,这个过程会把原来的运行配置清掉,包括VLAN、接口IP、静态路由等所有设置,所以务必先确认是本地现场操作,并且在能进系统的时候尽快把关键配置恢复回来。远程的设备干不了这活儿,必须把人和设备放在同一个机柜前。
需要准备的东西不多:一根Console线(常见的RJ45转DB9或者USB转串口),一款串口终端软件(SecureCRT、PuTTY、Xshell都行),笔记本(电池或插电都可以),以及如果能提前拿到设备的配置备份那最好不过。接线时记住先断电再接,接好再上电,按Ctrl+B的时机很关键,错过就又得重启。USB转串口头有时候翻车,接触不良会卡你半天,常见得很。
原理是啥:设备启动流程先跑BootROM,然后BootROM去读Flash里的系统镜像(像VRP之类),系统镜像启动后再读配置文件并把配置加载到内存,密码就是存配置里的。我们的办法就是在BootROM层把“加载旧配置”这一步跳过,或者直接清掉控制台的密码校验,让系统像刚出厂那会儿一样启动。这玩意儿属于物理层面的修复,不靠VRP等系统跑起来的功能,所以只要BootROM没坏,这招极其管用。
现场当时的细节我记得很清楚。交换机挂在机架上,机柜门有点关不严,客户技术员一直在旁边紧张地看着我手里那根线。我接好线、打开SecureCRT,确认串口设置无误,合上机柜门按电源键。屏幕开始倒计时,我就不停按Ctrl+B,直到出现BootROM菜单。客户担心按错键把设备弄死,我耸耸肩说别急。菜单里我找到了“清除控制台口密码认证”的选项,选了确认,系统按默认方式启动。启动结束直接回车进入系统,没有任何登录提示。接着我在系统视图里建立了新的管理员账号,改完密码立即保存配置,然后和客户一起把缺失的VLAN、接口IP、路由这类关键信息逐一补上。那些配置得靠手工恢复,幸好客户有一份老的配置备份,可快速恢复大半。整个现场过程不到半小时,客户松了口气,说本来以为要停机三天,差一点就叫人把机柜拆箱寄回厂家。
操作中有几个坑值得提醒,别踩了:一,清密码会把配置清掉,这意味着如果没有备份,恢复工作会很麻烦;二,这方法必须现场能接物理串口,远端拿不到人手没用;三,Console线和USB转接头很容易出问题,出了毛病你以为是BootROM不行,实则是线的问题;四,除非BootROM损坏或被设置了BootROM密码(有的设备能给BootROM上锁),否则这招是稳的。还有一点,操作前尽可能把存量配置导出来一份(能进系统时用display saved-configuration或类似命令导出),别以为反正要清就不要备份,这种心态容易出大事。
清完密码后,别高兴得太早,安全方面要马上跟进。立刻把新管理员口令设置成强口令,启用AAA认证(如果设备支持),干掉Telnet、启用SSH,调短会话的idle-timeout时间,必要时限制Console访问的物理端口。把这些基本的防护措施做好,才能把临时救活变成长期可用。平常有时间就把整套流程在测试环境里演练一遍,真到出事就不会手忙脚乱。
再提醒两点:第一,操作前尽量备份现有配置(能登录时导出saved-configuration或者直接复制running-config);第二,这个是本地修复手段,远程维修公司喊你返厂不必定是唯一选择。只要能接到Console并进入BootROM,大多数忘记密码的问题都能被翻盘。顺带一提,我手头有一份收集了上千家厂商默认账号密码的Excel表,平时做维护挺有用的,想要的可以私信暗号“密码”来要一次性资料。
那天拆完机柜,客户把我请到旁边递了杯茶。我们一边核对接口配置一边把关键VLAN和路由补齐,确认业务链路恢复正常后才放人走。整件事里最关键的就是别慌,按步骤来。BootROM这个东西就像钥匙孔,能进就能把门从里边打开。整理人:老杨,11年网工经验,更多干货关注公众号“网络工程师俱乐部”。