1、路由器的硬件架构
主要有CPU 、内存、NVRAM、Flash、接口等组成,
Flash(闪存)中存放的是路由器的操作系统,大家所熟悉IOS(Interconnection Operation System) 就是CISCO的路由器操作系统,用压缩的格式存放在路由器Flash中。
NVRAM(非易失性存储器)使用IOS提供的相关命令对路由器进行配置,并以文件的形式存放在NVRAM中,这样方便在启动时加载到内存中。
ROM(Read Only Memory)只读存储器里包含了POST(Power On Self Test)加电自检代码、Boot Strap引导代码、Mini IOS (简化版的IOS相当于windows 系统的安全模式)、ROM Monitor(相当与windows的命令提示模式主要用于灾难恢复)
RAM(Random-Access Memory)随机存取存储器包含启动时加载的IOS、各种路由协议进程、活动配置文件、缓冲区等 2、注册寄存器值的含义
注册的寄存器是由16位的二进制数组成的放置在路由器的NVRAM中的一组数值,用于决定路由器如何启动。Cisco路由器的默认注册寄存器的值是0x2102(十六进制)表示路由器根据NVRAM中配置文件决定启动位置。
寄存器位数 十六进制 功能描述
00 - 03 0x0000 - 0x000F
这部分为寄存器值最右边的4位是引导字段。
1. 引导字段为0(0x0)时,路由器下次启动时将自动进入Rom监视模式,提示符为>或rommon>。可以使用命令b或reset重新启动路由器。
2. 引导字段为1(0x1)时,系统将自动从Rom启动。在这种模式下路由器提示符为Router(boot)>。
3. 引导字段为其他值(0x2-0xF)时,系统将根据NVRAM中的boot system命令来启动. 默认设置为0x2。
04 - 未使用 05
-
未使用
06 0x0040
值为0,当路由器启动后会从NVRAM里面的配置文件调到
RAM里运行; 值为1,路由器启动后会忽略NVRAM中的配置信息(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142的原因)。
07 0x0080 启动OEM位
08 0x0100 值为0,路由器在正常运行模式下CTRL + BREAK无效; 值
为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。
09 - Causes the system to use the secondary bootstrap. This is typically not used (set to 0). 10
0x0400
IP广播到所有域
11-12 0x0800 - 0x1000 Console口速率。 11位0&12位0速率为9600, 11位
1&12位0速率为4800, 11位1&12位1速率为2400, 11位0&12位1速率为1200。
13 0x2000 如果网络启动失败,默认从Rom中启动 14 0x4000 IP broadcasts do not have net numbers 15
0x8000
该设置能够启用诊断消息并忽略NVRAM的内容
3. 常用的寄存器值:
0x2100:Rom Monitor监视模式
0x2101:从Rom启动,用于更新系统文件
0x2102:从Flash启动,同时读取NVRAM中的startup-config (工厂默认值) 0x2142:从Flash启动,但不使用NVRAM中的startup-config (一般用于口令恢复)
0x2101:从Boot RAM中启动,应用于更新系统文件
0x2141:从Boot RAM中启动,但不使用NVRAM中的配置文件,其中C位的第三位为1时表示关闭Break键,反之表示打开Break键。
0x141:表示关闭Break键,不使用NVRAM中的配置文件,并且从系统默认的ROM中的系统中启动。0x0040:表示允许路由气读取NVRAM中的配置文件。 表 A 启动为注视 (配置寄存器位 00 到 03) 启动位的意义
0x0:启动后停留在bootstrap状态 0x1:从 ROM 中启动
0x2到0xF:指定默认的启动文件启动系统
4、修改注册寄存器的值 (以Cisco2600系列的路由器为例)
1)如何让路由器开机后进入ROMmon模式 Router1(config)# config-register 0x2100 //设置注册寄存器的值为0x2100 Router# show version //验证注册寄存器的值
Router# copy run start
//保存配置到NVRAM 配置文件中
Router# reload
//重启路由器
… Rommon>
//进入Rommon模式提示符
注意:
想让路由器开机进入Mini IOS,将注册寄存器的值该为0x2101,如果保存了以上的配置路由器在每次启动都将生效!
2)如何在ROMmon模式中在如何修改配置寄存器的值 Rommon>confreg 0x2102 //将寄存器的值改为0x2102(默认值) Rommon> reset
//重启路由器
提示:
如果寄存器的值为0x2102表示根据NVRAM中的设置决定启动位置 在路由器开机时按住键盘上Ctrl+Break键也可以进入路由器的 ROMmon 3)如何设置NVRAM中IOS的寻找和加载顺序
Router(config)# boot system flash [slot0:] [ios_filename] //表示从0号插槽的flash中加载IOS
Router(config)# boot system rom
//表示从ROM中加载IOS
Router(config)# boot system tftp [ios_filename] [tftp-ip] //表示从TFTP服务器中加载
IOS
Router# copy run start
//保存以上的配置到NVRAM中
4)如何设置开机不加载配置文件
Step1: 使用 console线把路由器的Console口和计算机的Com相连 Step2: 给路由器加电时并时按住键盘上的Ctrl+Break 键进入监控模式; Step3: 在监控模式下设置配置寄存器的值为0x2142,并重启路由器;
提示:
注册寄存器的第6位的取值决定路由器启动时是否加载配置
将配置寄存器的值设置为0x2142表示开机不加载配置文件但是配置文件仍然存放在NVRAM中。
这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。
第一个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次的网络启动尝试。
寄存器值实际是16个bit,4位一组(一个16进制的数),若从左到右编号为16,15,...,1,则13,14位表示consol口的波特率,第7位置1(即0x2142中的4)表示启动时不加载配置文件,第4到第1位叫bootfield。 这4位为:
0000:不加载IOS,直接即如ROM MONITOR 0001:加载ROM中的子版本
主要有CPU 、内存、NVRAM、Flash、接口等组成,
Flash(闪存)中存放的是路由器的操作系统,大家所熟悉IOS(Interconnection Operation System) 就是CISCO的路由器操作系统,用压缩的格式存放在路由器Flash中。
NVRAM(非易失性存储器)使用IOS提供的相关命令对路由器进行配置,并以文件的形式存放在NVRAM中,这样方便在启动时加载到内存中。
ROM(Read Only Memory)只读存储器里包含了POST(Power On Self Test)加电自检代码、Boot Strap引导代码、Mini IOS (简化版的IOS相当于windows 系统的安全模式)、ROM Monitor(相当与windows的命令提示模式主要用于灾难恢复)
RAM(Random-Access Memory)随机存取存储器包含启动时加载的IOS、各种路由协议进程、活动配置文件、缓冲区等 2、注册寄存器值的含义
注册的寄存器是由16位的二进制数组成的放置在路由器的NVRAM中的一组数值,用于决定路由器如何启动。Cisco路由器的默认注册寄存器的值是0x2102(十六进制)表示路由器根据NVRAM中配置文件决定启动位置。
寄存器位数 十六进制 功能描述
00 - 03 0x0000 - 0x000F
这部分为寄存器值最右边的4位是引导字段。
1. 引导字段为0(0x0)时,路由器下次启动时将自动进入Rom监视模式,提示符为>或rommon>。可以使用命令b或reset重新启动路由器。
2. 引导字段为1(0x1)时,系统将自动从Rom启动。在这种模式下路由器提示符为Router(boot)>。
3. 引导字段为其他值(0x2-0xF)时,系统将根据NVRAM中的boot system命令来启动. 默认设置为0x2。
04 - 未使用 05
-
未使用
06 0x0040
值为0,当路由器启动后会从NVRAM里面的配置文件调到
RAM里运行; 值为1,路由器启动后会忽略NVRAM中的配置信息(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142的原因)。
07 0x0080 启动OEM位
08 0x0100 值为0,路由器在正常运行模式下CTRL + BREAK无效; 值
为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。
09 - Causes the system to use the secondary bootstrap. This is typically not used (set to 0). 10
0x0400
IP广播到所有域
11-12 0x0800 - 0x1000 Console口速率。 11位0&12位0速率为9600, 11位
1&12位0速率为4800, 11位1&12位1速率为2400, 11位0&12位1速率为1200。
13 0x2000 如果网络启动失败,默认从Rom中启动 14 0x4000 IP broadcasts do not have net numbers 15
0x8000
该设置能够启用诊断消息并忽略NVRAM的内容
3. 常用的寄存器值:
0x2100:Rom Monitor监视模式
0x2101:从Rom启动,用于更新系统文件
0x2102:从Flash启动,同时读取NVRAM中的startup-config (工厂默认值) 0x2142:从Flash启动,但不使用NVRAM中的startup-config (一般用于口令恢复)
0x2101:从Boot RAM中启动,应用于更新系统文件
0x2141:从Boot RAM中启动,但不使用NVRAM中的配置文件,其中C位的第三位为1时表示关闭Break键,反之表示打开Break键。
0x141:表示关闭Break键,不使用NVRAM中的配置文件,并且从系统默认的ROM中的系统中启动。0x0040:表示允许路由气读取NVRAM中的配置文件。 表 A 启动为注视 (配置寄存器位 00 到 03) 启动位的意义
0x0:启动后停留在bootstrap状态 0x1:从 ROM 中启动
0x2到0xF:指定默认的启动文件启动系统
4、修改注册寄存器的值 (以Cisco2600系列的路由器为例)
1)如何让路由器开机后进入ROMmon模式 Router1(config)# config-register 0x2100 //设置注册寄存器的值为0x2100 Router# show version //验证注册寄存器的值
Router# copy run start
//保存配置到NVRAM 配置文件中
Router# reload
//重启路由器
… Rommon>
//进入Rommon模式提示符
注意:
想让路由器开机进入Mini IOS,将注册寄存器的值该为0x2101,如果保存了以上的配置路由器在每次启动都将生效!
2)如何在ROMmon模式中在如何修改配置寄存器的值 Rommon>confreg 0x2102 //将寄存器的值改为0x2102(默认值) Rommon> reset
//重启路由器
提示:
如果寄存器的值为0x2102表示根据NVRAM中的设置决定启动位置 在路由器开机时按住键盘上Ctrl+Break键也可以进入路由器的 ROMmon 3)如何设置NVRAM中IOS的寻找和加载顺序
Router(config)# boot system flash [slot0:] [ios_filename] //表示从0号插槽的flash中加载IOS
Router(config)# boot system rom
//表示从ROM中加载IOS
Router(config)# boot system tftp [ios_filename] [tftp-ip] //表示从TFTP服务器中加载
IOS
Router# copy run start
//保存以上的配置到NVRAM中
4)如何设置开机不加载配置文件
Step1: 使用 console线把路由器的Console口和计算机的Com相连 Step2: 给路由器加电时并时按住键盘上的Ctrl+Break 键进入监控模式; Step3: 在监控模式下设置配置寄存器的值为0x2142,并重启路由器;
提示:
注册寄存器的第6位的取值决定路由器启动时是否加载配置
将配置寄存器的值设置为0x2142表示开机不加载配置文件但是配置文件仍然存放在NVRAM中。
这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。
第一个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次的网络启动尝试。
寄存器值实际是16个bit,4位一组(一个16进制的数),若从左到右编号为16,15,...,1,则13,14位表示consol口的波特率,第7位置1(即0x2142中的4)表示启动时不加载配置文件,第4到第1位叫bootfield。 这4位为:
0000:不加载IOS,直接即如ROM MONITOR 0001:加载ROM中的子版本