路由器的配置全部消失?启动流程与配置寄存器

上一节中经过一番配置,我终于通过新路由器连上了网。在打开几个网页确认一切正常之后,我决定把路由器放到一个不碍事的角落里,顺便整理一下电源线和网线。整理完之后再次启动路由器,发现无法正常连接到网络,ppp指示灯也不亮。
问题来了:不能上网我就没法搜索问题的原因和解决方案,而不先解决这个问题我就不能上网

人间不值得

最终是手机拯救了我。

打开终端,使用

show running-config

命令查看配置发现之前的配置全都消失了。上节最后我已经将配置写入了startup-config,理论上来说既然都叫这个名字了,应该是会在启动的时候自动加载的。其中必有蹊跷。
查阅资料,原来是在路由器里有一个叫做配置寄存器(config register)的东西,一共16位,通过设置其中的各个bit可以控制路由器启动的过程。

配置寄存器

通过

show version

命令查看路由器的信息,其中就包含当前配置寄存器的值。

Configuration register is 0x2142

其中第6位的定义是

如果为1,则无视NVRAM中的startup-config,不加载配置文件。

放到上面的16进制数值中,就是那个4。
所以需要用以下命令进行修改:

enable
config terminal
config-register 0x2102
exit

此时再使用show version命令查看寄存器,会看到

Configuration register is 0x2142 (will be 0x2102 at next reload)

此时直接断电,或者输入reload命令重新启动,就可以自动加载startup-config中的配置了。

管理配置文件

如果说有多种配置需要备份、管理,或者希望在pc的文本编辑器里更加直观的编辑配置文件,可以通过tftp(对,就是之前安装IOS用的那个)将配置上传到pc或者将pc上的某个配置文件下载到路由器。

假设运行tftp服务的PC地址为192.168.1.1
将当前配置上传到tftp:

copy running-config tftp:
Address or name of remote host []? 192.168.1.1
Destination filename []? backup_running_config

上传完成后就会在tftp工作目录内生成一个叫做backup_running_config的文件。

将配置下载到路由器也是相似的步骤:

copy tftp: running-config
Address or name of remote host []? 192.168.1.1
Source filename []? backup_running_config
Destination filename [running-config]? startup-config

中括号里是系统给出的默认参数,这里也可以直接回车将配置下载到running-config中,但是如果对配置文件做了某些变更,可能会因为与当前工作中的配置发生冲突下载失败。所以推荐先下载到startup-config中,然后使用reload命令重新加载。

杂谈:关于Trivial

到此为止我们已经使用了两次tftp。tftp中的T是trivial的缩写。
trivial这个词经常看计算机相关的英文文档的朋友应该不陌生,但是关于怎么翻译似乎还真不是那么简单。Google给出的翻译是“不重要的”,“琐碎的”,但是好像还不是那么符合语境。既然不好翻译,那我们就正好借着这个机会来意会一下。
trivial-ftp和ftp的区别主要有一下几点:

TFTP使用UDP传输,而FTP使用TCP传输;
TFTP每次只能传输一个文件;
不需要任何安全认证;

嗯,感觉有点那个意思了,就是更简单的ftp嘛。
感觉翻译成“直白的文件传输协议”还是比较贴切的。

[下一期]()介绍一下ipv6穿透和防火墙的简单配置。

Ads