1 密码恢复原理
(1)Cisco路由器保存了几种不同的配置参数,并存放在不同的内存模块中。Cisco系列路由器的内存有:ROM,闪存(Flash memory),RAM,不可变RAM和动态内存(DRAM)等5种(其功能见表1)。一般情况下,路由器启动时,首先运行ROM中的程序,进行系统自检及引导,然后运行Flash中的ISO,并在NVRAM中寻找路由器配置,并装入DRAM中。
(2)口令恢复的关键在于对配置登记码(Configuration Register Value)(见表2)进行修改,从而让路由器从不同的内存中调用不同的参数表进行启动。有效口令存放在NVRAM中,因此修改口令的实质是先让登记码不起作用,从而可以进行直接启动,完成后再将登记码恢复(如忘记恢复,路由器重新启动后修改的配置可能会丢失)。
内存作用
ROM存放系统的引导程序,类似PC机的BIOS,是一种只读存储器,系统掉电程序不会丢失闪存存放Cisco iOS的镜像,类似PC机的硬盘,是一种可擦写、可编程的ROM,系统掉电数据不会丢失NVRAM存放配置文件(Startup config)RAM存放当前系统使用配置(Running config)DRAM主要包含路由表、ARP缓存、Fastswitch缓存、数据包缓存等,也包含正在执行的配置文件,系统掉电该内存数据会丢失表2Cisco系列路由器配置登陆码
Configuration Register Value含义
0X2102缺省设置
Bit13=0X2000Flash引导失败5次后,自动从ROM引导
Bit8=0X0100关闭Break键
Boot field=0X20X2101从Flash中引导正常运行模式
Bit13=0X2000Flash引导失败5次后,自动从ROM引导
Bit8=0X0100关闭Break键
Boot field=0X10X142进入boot ROM运行模式Router(boot)>
Bit8=0X0040进入boot monitor运行模式>或rommon>
Boot field=0X2从Flash中引导正常运行模式
2 准备工作
厂商在设计路由器产品的时候就预留了一个Console(控制台),它是对路由器进行配置时的一个重要接口,也是密码恢复的第一步工作:利用DB25转接口和交叉线,将终端或装有超级终端软件的PC接到路由器的Console口上。终端参数设置如下:速度:9 600 bps;数据位:8;奇偶校验位:无;停止位:1;流控:无。如图1所示。
3800系列路由器(以801为例)具体操作方法
(1)在启动的60 s内按下中断键Ctrl+Break,如果Break被屏蔽了可以使用循环开机的方法,使设备进入rom monitor状态,提示符号为“>”。
(2)在rom monitor中输入set命令:
记下当前的ios-conf值,这里是0x2102。
Boot# set
……
Set prompt=“boot”
Set ios-conf=0X2102
(3)输入set ios-conf 142,如下:boot# set ios-conf 142。
(4)输入boot引导系统,如果设备在重启过程中要求进行初始化配置,一路回答“No”,如下所示:
Boot# boot
……
8kbytes of non volatile configuration
memory
8Mbytes of flash on board (4M from flash card)
——system configuration dialog——
would you like to enter the initial configuration dialog?[yes/no]:n
press reture to get started!(press enter)
(5)输入回车,enable,再回车,进入enable状态,命令序列如下:
Router>en
Router#
(6)输入config mem,调入原配置文件,并进入配置模式(注意:不要conf t),命令序列如下:
Router# conf mem
801(config)#
(7)恢复原始配置寄存器值并激活所有端口:
801#configure terminal
801(config)#config register0X2102
801(config)#interface xx
801(config)#no shutdow
(8)查询并记录丢失的口令:
801#show configuration (show startup config)
(9)修改口令:
801#configure terminal
801(config)line console 0
801(config line)#login
801(config line)#password xxxxxxxxx
801(config line)#
801(config line)#write memory (copy running config startup config) 4 Cisco2500系列路由器(以2509为例)具体操作方法
(1)在启动的60 s内按下中断键Ctrl+Break,如果Break被屏蔽了可以使用循环开机的方法,使设备进入rom monitor状态。
(2)在rom monitor中输入o命令:
>o
configuration register=0X2102
at last boot
……
记下当前的Configuration register值,这里是0x2102,通常为0x2102或0x102。如果用命令不能获得有关提示,可以查看类似的路由器来获得配置寄存器的值或用0x2102试试。
(3)输入“>o/r 0x0142”,更新Configuration register值,使路由器启动时跳过配置文件直接启动,以便原来的密码不起作用,具体操作如下:
>o/r 0x0142
(4)重新启动路由器:
>I
rommon 2>reset
(5)在“Setup”模式,对所有问题回答“No”
(6)进入特权模式:
router>enable
(7)下载NVRAM
Router>configure memory
(8)恢复原始配置寄存器值并激活所有端口:
2509#configure terminal
2509(config)#config register 0X2102
2509(config)#interface xx
2509(config)#no shutdown
(9)查询并记录丢失的口令:
2509#show configuration (show startup config)
(10)修改口令:
2509#configure terminal
2509(config)line console 0
2509(config line)#login
2509(config line)#password xxxxxxx
2509(config line)#
2509(config line)#write memory (copyrunning configstartup config)
5 Cisco2600系列路由器(以2611为例)具体操作方法
(1)将路由器的口和计算机串口相连,启动计算机超级终端,开启路由器电源,在开机60s内按使路由器进入状态,提示符:rommon1>
(2)在Rommon中输入:conf reg 0x42,如下所示:
Rommon 1>conf reg 0x42
(3)输入reset,命令如下:
Rommon 2>reset
(4)当提示是否进入对话配置时回答“no”(如误输入“yes”,立刻按Ctrl+c退出,出现“press return to get started!”按回车,进入rom模式router>。
(5)键入enable命令进入exec状态,键入router#show config查看原路由器配置和未加密码口令,建议立刻做一文本备份文件,以免误操作将原路由器配置丢失。
(6)下载NVRAM,将NVRAM模式中的参数表装入内存:
Router# configuration memory
(7)更改完毕一定要写入NVRAM中,否则路由器原配置会丢失以及改写口令无效:
Router# write memory
(8)将第3步查到的登记码还原,一般为0x2102(即从闪存正常启动,并屏蔽中断),并激活所有端口(系统会将所有端口自动shutdown):
Router#config register 0x2102
Router?(config)#interface xx
Router(config if)#no shutdown
Router(config if)#ctrl-z
(9)重新启动路由器:Router# reload。
6 3600系列路由器(以3640为例)具体操作方法
3640的密码恢复和26系列基本相似,都是进入监控模式,运行conf reg命令,启动时忽略配置文件,进行直接启动。此方法同样适用于4500、7500、12000系列路由器。
7 Cisco系列路由器进入rom状态的几种方法
对于Cisco的各种路由器进入rom状态的方法不尽相同,但一般通过如下3种方法可以进入rom状态,在使用过程中可以分别试用。
(1)如果Break未被屏蔽,可以在开机60 s内按Ctrl+Break键中断启动过程,进入rom状态。
(2)如果Break键已经屏蔽,可以通过循环开机的方法进入rom状态,方法是:路由器开机后,将电源关闭,间隔5 s后重新开机,一般会进入rom状态。此方法适用于7500、12000等路由器。
(3)将超级终端通信波特率设置为1200,数据位8,奇偶位1,停止位无。开启路由器电源,启动后关机,5 s后重新开机,同时一直按住空格键12 s后放开,等路由器启动完成后,重新更改超级终端位默认值,通信波特率设置为9600,数据位8,奇偶位1,停止位1。重新连接后,从终端上可以看到已经进入rom状态。注意:在波特率为1200时,终端上没有内容显示。此方法适用于2500、2600、4500等系列路由器。 1.对于Catalyst 2900/3500XL系列来说: 拔下交换机的电源线,然后按住交换机的Mode按钮,再重新插上交换机的电源线.直到端口Port 1x的LED熄灭之后释放Mode按钮。 2.对于Catalyst 2940/2950L系列来说: 拔下交换机的电源线,然后按住交换机的Mode按钮,再重新插上交换机的电源线.直到STAT的LED熄灭之后释放Mode按钮。 3.对于Catalyst 2955系列来说: Catalyst 2955没有没有外部的Mode按钮,因此就不能使用之前的那种方法来进行密码恢复.在交换机启动时,对于Windows系列的PC,按下Ctrl+Break键;对于UNIX系列的工作站,按下Ctrl+C.如下: 以下是引用片段:
C2955 Boot Loader (C2955−HBOOT−M) Version 12.1(0.0.514), CISCO DEVELOPMENT TEST
VERSION
Compiled Fri 13−Dec−02 17:38 by madison
WS−C2955T−12 starting...
Base ethernet MAC Address: 00:0b:be:b6:ee:00
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 19 files, 2 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 4510720
flashfs[0]: Bytes available: 3230720
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
/---接下来交换机会在15秒内自动启动,等出现该信息之后,按下Ctrl+Break键或Ctrl+C键----/
The system has been interrupted prior to initializing the flash file system to finish
loading the operating system software:
flash_init
load_helper
bootswitch: 接下来输入flash_init命令: 以下是引用片段:
switch:flash_init
Initializing Flash...
flashfs[0]: 143 files, 4 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 3612672
flashfs[0]: Bytes used: 2729472
flashfs[0]: Bytes available: 883200
flashfs[0]: flashfs fsck took 86 seconds
....done Initializing Flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
switch: 接着输入load_helper命令: 以下是引用片段:
switch:load_helper
switch: 再输入dir flash:命令显示交换机的文件系统: 以下是引用片段:
switch:dir flash:
Directory of flash:/
2 −rwx 1803357 c3500xl−c3h2s−mz.120−5.WC7.bin
4 −rwx 1131 config.text
5 −rwx 109 info
6 −rwx 389 env_vars
7 drwx 640 html
18 −rwx 109 info.ver
403968 bytes available (3208704 bytes used)
switch: 把配置文件重命名: 以下是引用片段:
switch:rename flash:config.text flash:config.old
switch: 输入boot命令启动交换机: 以下是引用片段:
switch:boot
Loading "flash:c3500xl−c3h2s−mz.120−5.WC7.bin"...###############################
######################################################################
File "flash:c3500xl−c3h2s−mz.120−5.WC7.bin" uncompressed and installed, entry po
int: 0x3000
executing...
(略) 不进入setup模式: 以下是引用片段:
−−− System Configuration Dialog −−−
At any point you may enter a question mark '?' for help.
Use ctrl−c to abort configuration dialog at any prompt.
Default settings are in square brackets '[]'.
Continue with configuration dialog? [yes/no]: n 进入特权模式,恢复原始的配置文件: 以下是引用片段:
Switch#rename flash:config.old flash:config.text
Destination filename [config.text]
Switch# 把配置文件保存在内存里: 以下是引用片段:
Switch#copy flash:config.text system:running−config
Destination filename [running−config]?
1131 bytes copied in 0.760 secs
Switch# 进入全局配置模式,取消密码设置: Switch(config)#no enable secret 保存配置: 以下是引用片段:
Switch#write memory
Building configuration...
[OK]
Switch# 4.对于Catalyst 3550/3750系列来说: 1.通过带有支持Xmodem协议的超级终端程序的PC连接到交换机的console口,把波特率设置为9600。 2.拔掉交换机的电源。 3.按下交换机上的Mode按钮,与此同时,重新插上交换机的电源线.当交换机端口1X上的LED熄灭后可以松开Mode按钮1到2秒.之后将显示一些指示信息: 以下是引用片段:
The system has been interrupted prior to initializing the flash file system. The following
commands will initialize the flash file system, and finish loading the operating system
software:
flash_init
load_helper
boot
switch# 4.初始化flash文件系统: switch#flash_init 5.加载帮助文件: switch#load_helper 6.显示闪存里的内容: switch#dir flash: 7.重命名配置文件: switch#rename flash:config.text flash:config.text.old 8.启动系统,并且如果提示进入setup模式,输入N: 以下是引用片段:
switch#boot
Continue with the configuration dialog? [yes/no]: N 9.进入特权模式,把配置文件名恢复为原始文件名: Switch#rename flash:config.text.old flash:config.text 10.把配置文件写进内存: 以下是引用片段:
Switch#copy flash:config.text system:running-config
Source filename [config.text]?
Destination filename [running-config]? 11.进入全局配置模式更改密码: Switch(config)#enable secret {password} 12.退出,并保存到startup-config文件里: Switch(config)#copy running-config startup-config 其实有的时候硬件安全比软件安全还要重要些。 本文主要讲述Cisco 4506交换机密码恢复过程。 (1) 交换机开机,30秒内按Ctrl+Break键,出现提示符“rommon 1 >"(如果没有出现该提示符,交换机重新开机,重复(1)步骤)。 (2) 键入如下命令: rommon 1 > confreg 0x2142 (3) 初始化交换机: " rommon 2 >reset" (4) switch#show startup-config (5) 以下是引用片段:
switch#config mem
switch(config)#no enable secret
switch(config)#enable secret cisco
switch(config)#config-reg 0x2102" ;
"switch(config)#exit”;
switch#write mem (6) 重新启动交换机,即可:“switch#reload"。 近日,由于一台交换机的OS比较老了,所以想更新一下,问人要了一个OS后就更新了,更新好后才发现出了问题,给我的OS是有密码的,由于这个密码他们正在使用,也不好问他们要,所以就准备清除密码了。 近日,由于一台交换机的OS比较老了,所以想更新一下,问人要了一个OS后就更新了,更新好后才发现出了问题,给我的OS是有密码的,由于这个密码他们正在使用,也不好问他们要,所以就准备清除密码了,在www.cisco.com上找到了相关的文章后,成功清除。特把清除过程写下来。 先说一下配置环境吧,交换机是WS-C6509,用的是CatOS,在我看来,恢复Cisco密码的过程中恢复CatOS是最简单的,只要几步就可以完成了。 1. 先把电脑或终端连到交换机的控制台上,启动交换机。 2. 在交换机启动时,按下Enter键可以得到用户提示符,按Enter的时间如下: 打开交换机后,一般都会出现如下的提示: 以下是引用片段:
System Bootstrap, Version 5.3(1)
Copyright (c) 1994-1999 by Cisco Systems, Inc.
c6k_sup1 processor with 65536 Kbytes of main memory
Autoboot executing command: "boot bootflash:cat6000-sup9k.6-1-1c.bin"
Uncompressing file: #####################################################
##################################################################
System Power On Diagnostics
DRAM Size ....................64 MB
Testing DRAM..................Passed
Verifying Text segment .......Passed
NVRAM Size ...................512 KB
Saving NVRAM .................Done
Testing NVRAM ................Passed
Restoring NVRAM ..............Done
Level2 Cache .................Present
Testing Level2 Cache .........Passed
System Power On Diagnostics Complete
Boot image: bootflash:cat6000-sup9k.6.1.1(c).bin 当出现这一行的时候,交换机会正在加载OS,会静止两到三分钟,在这里你就可以作好准备,当一有新的内容出现的时候,就一直按Enter键,会看到出现如下的提示: 以下是引用片段:
Running System Diagnostics from this Supervisor (Module 1)
This may take up to 2 minutes....please wait
Cisco Systems Console
Enter password: 这时候你就成功啦,直接按Enter键进入,交换机直接进入 Console> 提示符下 3. 在等到用户提示符之后,输入enable进入特权模式。 Console> en <------回车 Enter password: <------也是直接按回车 Console> (enable) 4. 在特权模式下,就可以用set password 和 set enablepass两个命令来修改密码了。 以下是引用片段:
Console> (enable) set password
Enter old password: <------按回车
Enter new password: <------按回车
Retype new password: <------按回车
Password changed.
Console> (enable) set enablepass
Enter old password: <------按回车
Enter new password: <------按回车
Retype new password: <------按回车
Password changed. 这样,就大功告成了,重启以后,你就会发现,密码被你给清空了。 在这里,要提醒的一点是:上面的这一段时间是很有限的,大概只能三分钟左右的时间,所以动作可要快啊。
8 结束语
作为3层设备,路由器是一种技术含量很高的网络设备,涉及到各种协议,技术面较广。熟练运用各种路由器,及时处理各种突发故障,对维护网路的正常运转有着重要意义。本文仅就Cisco各系列路由器中的典型型号的密码恢复方法进行介绍,但对于解决Cisco各系列路由器的类似问题,其具体操作也类似。
|