一、思科路由器的内部组件
为了配置,思科互联网络和排除故障,我们必须首先了解思科路由器的主要组件,并理解这些组件
各自的作用。
表7-1 给出了对思科路由器主要组件的描述。
引导程序 存储在ROM中的微代码,主要作用是在路由器初始化时启动它。引导程序将启动路由器并加载10S
POST (开机自检) 存储在ROM中的微代码,用于检测路由器硬件的基本功能,并确定当时可用的接口
ROM监控程序 存储在ROM中的微代码,用于制造、测试和故障诊断
微型IOS 被思科称为RXBOOT或引导加载程序,是一个存贮在ROM中的小型10S. 用于启动一
个接口并将思科IOS加载到闪存中。微型IOS也可以用于执行一些其他的维护操作
RAM (随机存取存储器) 用于存储分组缓存、ARP缓存、路由表以及路由器运行时所需要的软件和数据结构。运行配置保存在RAM中,并且多数路由器都是在启动时将108从闪存中加载并释放到RAM运行的
ROM (只读存储器) 用于启动和维护路由器的正常运行。其主要功能是保存P08T、引导程序以及微型IOS
闪存 默认保存路由器的口sco IOS。闪存中的内容不会在路由器重启时被擦除。它是由英特尔开发的一种EEPROM (Electronically Erasable Programmable Read-Only Memory ,
电可擦除可编程的只读存储器)
NVRAM( 非易失性RAM) 用于存储路由器和交换机的配置内容。NVRAM中的内容也不会随路由器或交换机的重启丢失。NVRAM不能保存IOS ,配置寄存器是存储在NVRAM中的
配置寄存器( Configuration register)
用于控制路由器的启动方式。配置寄存器的值将在show version命令输出的最后-行内容中给出,其默认配置值通常为Ox2102 ,这一配置值的含义是,路由器需要从闪存中加载IOS ,从NVRAM中加载配置
二、路由器的启动顺序
当路由器启动时,它需要执行一系列的操作,即所谓的启动顺序( boot sequence ),其目的是测试
硬件并加载所需要的软件。启动顺序包括以下步骤。
(1) 路由器执行POST (开机自检)0 POST 将检查硬件,以验证设备的所有组件目前是可运行的。
例如, POST 会分别检查路由器的不同接口。POST 保存在ROM( 只读存储器)中,并从ROM 运行。
(2) 之后,引导程序将查找并加载思科IOS 软件。引导程序保存在ROM 中,用于执行程序。引导
程序负责查找每个IOS 程序的存储位置,并随后加载该文件。默认情况下,所有思科路由器都会首先
从问存中加载IOS 软件。
(3) IOS 软件将在NVRAM 中查找有效的配置文件。此文件称为启动配置( startup-config),只有
当管理员将运行配置文件复制到NVRAM 中时才会产生。(新的ISR 路由器中都预设了一个小型启动
配置文件。)
(4) 如果在NVRAM 中查找到启动配置文件,路由器会复制此文件到RAM 中,并将它称为运行配
置。路由器将使用这个文件运行路由器。路由器将进入正常运转状态。如果在NVRAM 中没有查找到
启动配置文件,路由器将在所有可进行CD ( carrier detect ,载波检测)的接口发送广播,用以查找TFTP主机可使用的配置文件,如果没有找到(这一查找通常情况下都不会成功,而大部分人甚至都不会察
觉到路由器曾进行过这样的尝试),路由器将进入设置模式进行配置。
三、管理配置寄存器
所有思科路由器都有一个写入NVRAM 中的16 位可软件编程的寄存器。默认情况下,配直寄存器被设置为从闪存加载思科10S ,并且在NVRAM 中查找并加载启动配置文件。下面将讨论配置寄存
器的设置以及如何使用这些设置恢复路由器的密码。
1.理解配置寄存器的位
对这16 位(2B) 配置寄存器数值的读取方式是从15 读到0 ,即按照从左到右的顺序。思科路由
器上默认的配置设置是0x2102 。这意味着第13 位、第8 位和第1 位是置1 的,如表7-2 所示。注意每
个4 位组(称为半字节)中的位所对应的二进制取值分别为8 、4 、2 、1 。
配置寄存器 2 1 0 2
位值 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
二进制 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0
软件配置位的含义
0-3 OxOOOO - OxOOOF 启动字段(参见表7-4 )
6 Ox0040 忽略NVRAM内容
7 Ox0080 启用OEM位
8 Ox101 禁用中断
10 Ox0400 E广播全零
5 、11-12 Ox0800 - Ox1 000 控制台线路速率
13 0x2000 如果网络启动失败,则启动默认的ROM软件
14 Ox4000 不使用网络号的IP广播
15 Ox8000 启用诊断信息并忽略NVRAM内容
配置寄存器中的0-3 位即所谓的启动字段,它控制着路由器的启动方式。表7-4描述了启动字段
不同位值的含义和作用。
启动字段(配置寄存器的00-03位〉
启动字段 含义 作用
00 ROM监控模式 如果要启动ROM监控模式,我们可以将配置寄存器的
值设置为2100。我们必须使用b命令手动启动路由
器。启动后,路由器将以rommon>为提示符
01 从ROM中引导 如果要使用保存在ROM中的微型IOS引导路由器,我
们需要将配置寄存器设置为2101 。启动后,路由器
将以router(boot)>为提示符
02-F 指定默认的启动文件 将配置寄存器设置为2102 -210F中的任一值,都是
要求路由器使用在NVRAM中指定的启动命令
检查当前配置寄存器中的值
使用命令show version (简写为sh version 或show ver),我们便可以查看配置寄存器中的
当前取值,如下所示:
Router>sh version
cisco 2811 (MPC860) processor (revision 0x200) with 60416K/5120K bytes of memory
Processor board ID JAD05190MTZ (4292891495)
M860 processor: part number 0, mask 49
2 FastEthernet/IEEE 802.3 interface(s)
2 Low-speed serial(sync/async) network interface(s)
239K bytes of NVRAM.
62720K bytes of processor board System flash (Read/Write)
Configuration register is 0x2102
这一命令给出信息的最后部分就是当前配置寄存器中的值。此例中这一值为0x2 102 ,即默认的设
置。将配置寄存器的值设置为0x2102 ,就是要求路由器在NVRAM 中查找启动配置。
注意, show version 命令同时还提供IOS 版本信息.
四、密码恢复
如果忘记了路由器的登录密码,并因此被路由器拒绝访问,这时我们可以改动配置寄存器的值来
恢复对路由器的正常访问。正如前面介绍过的,配置寄存器中的第六位用于告诉路由器启动时是否加
载保存在NVRAM 中的配置文件。
路由器配置寄存器的默认值是Ox2102 ,这表明其第六位是关闭的(取值为0)。默认设置要求路
由器查找并加载保存在NVRAM (启动配置文件)中的路由器配置内容。如果想要恢复丢失的密码,
则我们需要开启第6 位,明确告诉路由器不要加载保存在NVRAM 中的配置内容。将第六位置1 后,
配置寄存器的值是0x2 142 。
1、启动路由器,60秒内按下ctrl+break键
2、rommon>confreg 0x2142 //修改寄存器值,路由器的NVRAM配置文件在启动时被忽略,直接调用出厂配置
3、rommon>reset //重启路由器
4、router#copy startup-config running-config //这时候的配置是出厂配置,把保存在NVRAM里面的配置到底RAM里面进行密码修改
5、router(config)#no enable secrect //可以删除密码也可以更改,这里为删除
6、router(config-line)#no enable password //可以删除密码也可以更改,这里为删除
7、router(config-line)config-register 0x2102 //修改寄存器值,启动时调用路由器的NVRAM配置文件
8、router#write //注意保存
9、router#reload