1. 前言
配置寄存器是一个16位的虚拟寄存器,用于指定路由器启动的次序、中断参数和设置控制台波特率等。该寄存器的值通常是以十六进制来表示的。
利用配置命令config register可以改变配置寄存器的值。
2. 启动次序
配置寄存器的最后4位,指定的是,路由器在启动的时候必须使用的启动文件所在的位置:
R>l 0x0000指定路由器进入ROM监控模式
l 0x0001指定从ROM中启动
l 0x0002-0x000F的值则参照在NVRAM配置文件中命令boot system指定的顺序
如果配置文件中没有boot system命令,路由器会试图用系统Flash存储器中的第一个文件来启动,如果失败,路由器就会试图用TFTP从网络上加载一个缺省文件名的文件(由boot域的值确定,如cisco2-4500),如果还失败,系统就从启动Flash中加载启动。
缺省的文件名是采用单词cisco、启动位的值以及路由器类型或处理器的名称构成。例如某台4500上启动字段设为3,那么缺省的启动文件名就是cisco3-4500。
以MC3819(CPU型号,大多采用MOTOROLA)路由器启动顺序为例,下面就是启动的四个阶段:
1. 系统自举
2. 启动加载(读取配置信息和启动Flash文件系统的最小功能)
3. 启动系统IOS镜像文件
4. 接口初始化/系统重启
3. 配置寄存器
3.1. 各位的含义
表格1 配置寄存器各位的含义
1 配置寄存器各位的含义
寄存器位数 |
十六进制 |
功能描述 |
0-3(启动次序) |
0x0000-0x000F |
启动字段: 0000-停留在引导提示符下(>或rommon >下) 0001-从ROM中引导, |
4 |
- |
未使用 |
5 |
- |
未使用 |
6 |
0x0040 |
配置系统忽略NVRAM中的配置信息 |
7 |
0x0080 |
启动OEM位 |
8 |
0x0100 |
设置之后,暂停键在系统运行时无法使用;如果没有设置,系统会进入引导监控模式下(rommon>) |
9 |
- |
|
10 |
0x0400 |
全0的就是广播地址 |
11-12 |
0x0800到0x1800 |
控制台线路速度,默认的就是00即9600bps |
13 |
0x2000 |
如果启动失败,系统以缺省ROM软件启动 |
14 |
0x4000 |
- |
15 |
0x8000 |
该设置能够启用诊断消息,并忽略NVRAM的内容 |
例如:
通过show version命令可以看到路由器配置寄存器的值,缺省情况下为0x2102。这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。
第一个2,还原成二进制为0010,这一部分为boot field,对路由器IOS的启动起着至关重要的作用,当boot field 的值为2-15中的任何一个时,路由器属于正常启动,当此值为0时,路由器启动后会进入ROMMON模式,此值为1时,路由器进入到RXBOOT模式(2500路由器的FLASH在配置寄存器的值为2102时属性为只读,如果要升级IOS必须把寄存器的值修改为2101)
0,还原成二进制为0000,这四位中,起关键作用的是第三位(即整个寄存器里面的BIT 7),值为0,当路由器启动后会从NVRAM里面的配置文件调到RAM里运行,值为1,路由器启动后会忽略NVRAM的配置(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142的原因 )
1,还原成二进值为0001,我们来关注BIT8,值为0时,路由器在正常运行模式下CTRL + BREAK无效;值为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。
第二个2,还原成二进制为0100,其中BIT13,当值为0时,路由器如果进行网络启动会尝试无穷多次。当值为1时,路由器最多进行5次的网络启动尝试。
寄存器位数 十六进制 功能描述
0-3(启动次序) 0x0000-0x000F 启动字段:0000-停留在引导提示符下(>或rommon >下)0001-从ROM中引导,
4 - 未使用
5 - 未使用
6 0x0040 配置系统忽略NVRAM中的配置信息
7 0x0080 启动OEM位
8 0x0100 设置之后,暂停键在系统运行时无法使用;如果没有设置,系统会进入引导监控模式下(rommon>)
9 -
10 0x0400 全0的就是广播地址
11-12 0x0800到0x1800 控制台线路速度,默认的就是00即9600bps
13 0x2000 如果启动失败,系统以缺省ROM软件启动
14 0x4000 -
15 0x8000 该设置能够启用诊断消息,并忽略NVRAM的内容
典型参数
l 0x2102: 运行过程中中断键被屏蔽,路由器会查看NVRAM中配置的内容以确定启动次序,如果启动失败会采用缺省的ROM软件进行启动。
l 0x2142:恢复密码时候使用。忽略NVRAM配置信息而进入初始配置对话模式中去
3.2. 密码恢复
路由器的密码恢复是将路由器重启、中断再进入ROM监控模式,将设备设置为忽略配置文件,然后再重启,退出初始配置对话模式,配置存储器,然后读出或重新设置密码即可。
根据路由器的处理器不同,需要分两种情况进行处理。
l 适用于精简指令集计算机(RISC):
1. 关掉路由器电源,然后重新打开电源
2. 按下break键或别的键盘组合将路由器置入ROM监控模式。Break键对不同计算机或终端软件是不同的,按键的次序可能是CTRL-D,CTRL-Break等。
3. 在rommon> 提示符下,键入conf reg 0x2142以设置路由器下一次从Flash加载启动的时候不要加载NVRAM中的启动配置信息
4. 键入reset命令,路由器将重启但忽略NVRAM中的配置信息
5. 路由器运行设置对话模式。输入no或按下CTRL-C以跳过初始设置对话模式
6. 在router>提示符下输入enable以进入特权执行模式
7. 使用config memory或者copy startup running命令将启动配置信息拷贝到运行配置中去。不要输入configterminal,否则将覆盖NVRAM中的配置信息
8. show running查看配置信息的内容,
9. 输入config terminal进入配置模式,根据需要改变线路密码或enable密码
10. 这时所有的接口都处于关闭状态,因此在每一个需要使用的接口上noshutdown
11. 输入config reg 0x2102命令设置路由器下次按照正常的方式启动
12. 按下CTRL-Z或End退出配置模式
13. write memory或copy run start命令保存所有所作的更改
14. 重启路由器并验证密码
非RISC:
1. 关掉路由器电源,然后重新打开电源
2. 按下break键或其他键进入ROM 监控模式
3. 在>提示符下,输入o命令以记录配置寄存器的当前值(通常是0x2102或0x0102)
4. 键入o/r 0x2142设置路由器下次启动不要加载NVRAM中的配置信息
5. 键入i重启路由器
6. 以下步骤和RISC处理器相关步骤一样
4. 路由器工作模式
l ROM监控模式:路由器已启动但是没有加载任何IOS,提示符为:>或rommon>
l 启动模式:启动Flash里含有最小化IOS启动程序,提示符为:router(boot)>
l 用户执行模式:成功加载启动了一份完整的IOS代码,可以显示系统信息、执行基本的测试等。不能查看配置文件和使用debug命令
l 特权执行模式:完全访问的第二级模式。可以现实系统设置和状态信息,可以进入配置模式,可以运行debug命令
l 配置模式:在enable模式中输入config terminal命令进入配置模式。可以对接口、路由器以及线路配置进行设置
l 初始配置对话模式;启动时候,如果路由器没有进行配置(可能是因为路由器是新的或配置文件被write erase命令删除了)的话,进入系统配置对话模式。可以依次进行主机名、执行密码以及enable密码的设置;还可对网络管理接口的IP和子网掩码配置。然后保存到NVRAM中去。