Cisco路由器的Flash和NVRAM是两个重要的存储设备,正确地理解和掌握其使用方法可以更好地完成对路由器的配置和管理工作。
1
对Flash的维护
Flash如同PC机上的BIOS(基本输入输出系统),其中存放的是Cisco路由器的IOS,对它的维护主要就是对IOS文件的备份和恢复。在路由器的enable状态下用“dir”命令,就可以查看到Flash上存储的IOS文件名及其大小。比如Cisco 1720的IOS的文件名是c1700-y-mz.120-4.T,长度为2666496字节。Flash是可编程的存储器,因此可以对Flash进行编程而升级IOS,也能用“erase flash”删除Flash中的IOS,所以这一命令的使用必须非常谨慎。我们可以通过备份一个IOS映像文件在计算机上,以在需要时修复IOS。
用作备份的计算机要作为TFTP服务器,即它需要运行TFTP Server的软件。对于UNIX工作站,只要修改/etc/inetd.conf文件,开放TFTP服务,然后执行“kill -1[inetd的进程号]”,重启inetd进程就可以了;对于Windows主机,只要将Cisco TFTP Server(可在http://soft.online.ha.cn下载)安装在计算机上并运行,在设置好TFTP根目录的路径后就可以使用了。
TFTP的全称为Trivial File Transfer Protocol。与FTP相比,它无纠错控制、口令认证等功能,但向服务器端传送文件前要求对方必须有此文件,然后追加到已有文件的末尾,服务器端无此文件则出错。通常情况下,我们在TFTP服务器上生成一个名字和IOS文件名一致,但长度为零字节的文件。UNIX系统下用touch命令生成空文件后,其存取权限要改为777;Windows主机中可新建一个空的文本文件,再改名为指定文件即可,例如对于Cisco1720可将文件名定为c1700-y-mz.120-4.T。
要对路由器操作,有两种方法:将终端接在其console口上和远程登录(telnet)。前者是通用的,后者只适用于路由器局域网口已正确设置的场合。IOS备份采用的TFTP必须通过网络运行,这就要求即便是使用第一种方式,也必须在局域网口设置正确的前提下才能备份。在TFTP服务器正常运行,并已生成指定空文件,以及路由器局域网口已正确设置后,在路由器上键入“copy <IOS文件名> network”命令,指定TFTP服务器的IP地址,就可以将IOS文件传送到TFTP服务器里,TFTP服务器和用来控制维护路由器的计算机可以不是同一台。
如果不慎用“erase flash”命令将路由器的IOS删除,可以用其备份来恢复。由于IOS被删除后路由器已不能正常工作,不可能通过telnet方式传送。只能用微机串口连在路由器的Console口上来连接。对于Windows的超级终端需要注意一个问题,即一般设定的连路由器Console口的串口速率为9600 bit/s,这也是默认的路由器Console口速率。由于IOS文件较大,速率9600 bit/s的传送时间太长,可以通过“confreg”(设置寄存器)命令提高Console口速率。根据提示将Console口速率设到最高的115200 bit/s,这时终端屏幕可能会出现乱码,这因为终端的串口速率没有改为115200 bit/s所致。所以只需相应地修改串口速率至115200 bit/s,关闭超级终端再重新打开,乱码就不见了。 路由器开机启动后进入ROM Monitor状态,在终端上出现“rommon>”命令提示符。在“rommon>”提示下,键入“xmodem <IOS文件名>”,当出现“准备好接收文件”时,选取超级终端上“传送”菜单,点击“发送文件...”菜单项,在“发送文件”窗口中选择文件传送协议为“Xmodem”,并选择要发送的文件,即IOS文件。点击“发送”按钮就可以将IOS文件发送到路由器上。路由器将收到的文件解压后写入Flash。这时在“rommon>”提示下键入“reset”命令让路由器重启,就可以调入IOS,进入“自动配置”状态。至此,路由器的IOS就成功地恢复了。
2
对NVRAM的维护
NVRAM如同PC机上的CMOS,其中存放的是路由器的配置参数。NVRAM的内容可以用“erase memory”或“write erase”将配置参数删除到出厂设置状态,所以相对于路由器丢失了IOS,删除NOVRAM的后果不是很严重,恢复起来也容易一些。在路由器正常启动后,它会将NVRAM的内容拷贝到内存一份,我们对路由器的设置实际上就是修改内存中的参数。所以内存和NVRAM中的内容是可以不一样的,直到使用“write memory”、“copy running-config startup-config”将内存设置保存到NVRAM中,或用“reload”、“copy startup-config running-config”、重启路由器等办法将NVRAM的内容重新调入内存,才能实现NVRAM与内存之间的同步。用“show configuration”命令可查看NVRAM中的设置,用“show running-config”、“write terminal”命令则可以查看当前运行的设置(在内存中)。
NVRAM也是可以备份的。备份方法有两种:屏幕拷贝或者写到TFTP服务器上。Windows的超级终端有缓存,可以保存先前显示的内容,我们在对路由器执行“show configuration”命令后,就可以向前翻卷窗口,将此命令显示的内容拷贝生成一个文本文件,就实现了NVRAM的备份。往TFTP服务器上写时也要求网络上有一台计算机充当TFTP服务器,并事先生成约定好的NVRAM文件名,在路由器上执行“write network”命令,指定TFTP服务器的IP地址,路由器当前的NVRAM配置就会作为一个文件存入TFTP服务器的根目录下。
若不慎删除了NVRAM的内容,使路由器进入出厂设置,恢复也有两种方式:屏幕拷贝或者从TFTP服务器读入。屏幕拷贝也就是用文本编辑器打开事先备份的NVRAM文件,将其内容全部选定后拷贝到剪贴板上,在路由器的config状态下,粘贴进去,路由器将执行所粘贴的每一行命令。从TFTP服务器读入则先要保证路由器的局域网口已开启(no shutdown),因为出厂设置时广域网口、局域网口都是默认关闭的。使用“load network”或“config network”命令就可以将TFTP服务器上的配置文件读入了。注意这两个办法都只是将原备份的配置读入到路由器的内存,并未真正修改NVRAM,因此需要用前述的命令将内存中的配置保存到NVRAM里。
灵活利用NVRAM的恢复还可以给日常的维护带来许多方便。比如,在需要对多台路由器作相似的配置时,可以先配好一个路由器,将其配置文件备份到TFTP服务器上,然后作为模板,稍加修改就变为其它路由器的配置文件。用恢复的办法就可以快速配置完成多个路由器。在系统升级扩容时,需要用性能更强的路由器代替原路由器,而原有的配置并不需要改变,用这种“克隆”的办法能起到事半功倍的效果。