深度分析:配置寄存器 思科路由器的好管家( 二 )


从这里也可以看出,随身带一份寄存配置器代码表的重要性 。
三、何时需要更改寄存器的配置值?
配置寄存器虽然可以控制路由器的运行思路,但是在通常情况下,我们都不建议通过直接更改配置寄存器的方式来维护路由器 。这就相当于在管理软件使用的使用,能够在应用程序界面对数据进行维护的,就在应用程序进行维护,而不是直接到数据库中进行更改 。因为在应用程序中对于数据的修改往往会加入一些审查的条件,来保障数据的一致性 。所以笔者认为,除非有特殊的需要,不然的话,请不要直接更改配置寄存器的值 。
正常情况下,若有下面的需求的话,则可以尝试更改配置寄存器的值 。
如网络管理员需要强制系统进入ROM监控模式,此时可以把配置寄存器的值改为2100 。如当网络管理员需要选择启动来源和默认的启动文件名,可以把配置寄存器的值设置位2102 等等 。以上都是十六进制表示的值 。另外,网络管理员若想控制广播地址、启用或者禁用中断功能(恢复路由器口令时需要)、设置控制台终端波特率、从Rom中加载操作软件、或者启用从TFTP简单文件传输协议启动服务器需要通过修改配置寄存器的值来实现 。
换句话说,若在修改配置寄存器的值以外,还有其他方法可以实现某个需求的,则最好不要采用修改配置寄存器的方法 。除非你对自己的专业水平有很强的自信 。
另外需要强调的一点就是,在修改寄存配置器的值时一定要了解寄存配置器的当前值 。因为在必要的情况下,如网络管理员发现修改寄存器配置值之后,问题更多了,就需要对其进行恢复 。而且,寄存配置器的修改往往是临时性的 。或者说只是出于故障排除的需要 。等到故障排除之后,网络管理员往往需要恢复以前的设置 。所以,了解配置寄存器当前的配置是非常有必要的 。
四、修改配置寄存器的值
在思科路由器中,我们可以利用config-register命令来对配置寄存器的值来进行更改 。基本上所有的思科路由器中都支持这个命令 。不过在执行这个命令的时候,需要注意如下几点 。
一是在路由器的IOS软件中,是利用十六进制的值来表示配置寄存器中的值 。也就是说,我们若想把配置寄存器的值修改为0x2101的话,就需要利用命令config-register 0x2101莱完成 。也就是说,要在数字前面加入十六进制的标示符号 。否则的话,系统就不会接受 。
二是修改配置寄存器的值以后,不能够马上起作用 。而是需要路由器重载之后,这个配置才会起效 。如配置寄存器原来的值为0x2101,我们把它改为0x2100后,在利用Show Version命令查看当前寄存器配置值的时候,仍然显示的是0x2101,而不是修改后的0x2100 。这主要是因为配置寄存器要起效的话,必须重载以后才行 。没有重载之前,修改后的配置无效 。而Show Version显示的是当前的配置,故不能够显示变化后的内容 。也就是说,要在路由器重载之后,才能够利用Show Version命令显示修改后的值 。
五、利用修改配置寄存器实现对路由器口令的恢复
当网络管理员因为忘记路由器的口令而被挡在路由器外面的时候,我们就可以通过修改配置寄存器的值来恢复路由器的口令 。默认情况下,配置寄存器存储的值为0X2102,他的含义就是查找并加载存储在NVRAM中的路由器配置 。如果要恢复路由器口令的话,就需要把配置寄存器的值修改为0X2142,即把第六位的二进制值更改为1 。更改后路由器重新启动时,就会告诉路由器忽视NVRAM中的配置文件 。这就是路由器口令恢复的基本原理 。当然不同IOS软件版本具体的操作方式可能有所不同,但是,这个配置寄存器的修改方式是一样的 。

推荐阅读