cisco的交换和路由器因为断电、误删flash等操作都会面临恢复IOS的问题,同时由于功能支持能问题,避免不了的也会遇到IOS升级的问题。不过不论是那一种问题,都把进行IOS文件上传。近两天手头的一台cisco 3750就遇到flash丢失需要IOS 恢复的问题。下面就结合该交换机,总体总结下cisco交换机、路由器遇到该问题的一个思路。

一、IOS镜像获取

首先需要到cisco网站上注册账号,并登录,在技术支持--软件里搜索相应的型号:

cisco3750

选择自己的型号,如cisco 3750x-24-T-S,点开后会出现下面的选项:

ciscoios

选择IOS software后,就可以出现所有的版本信息,这里最新版本是15.2E.XXX的,而我目前系统使用的是c3750e-universalk9-mz.122-55.SE5 ,这里选择相应的版本download,不过下载时可能会报下面的错误:

ciscoiosdownload

报这个错误是由于没有权限下载,需要在自己的账号里进行ID值关联,或者找技术支持。而cisco的技术支持是收费服务的,包括下面提到的ID值,都是付技术支持费后才有的(作为cisco代理商除外),在下面的账号属性里进行关联后就可以下载。

ciscoid

二、镜像上传

镜像上传也有两种方法,一种是通过console口连接xmodem上传;另外一种是tftp上传 。

1、xmodem上传

在xp以后的windows系统中,由于都取消了超级终端,所以这里我选用SecureCRT进行console串口接接,见下图,在新建会话中注意把波特率改为9600,在XON/XOFF前打勾。

scrt

拔掉思科3750交换机电源,按住左面板上的MODE键,等旁边的STAT指示灯闪两下黄灯后,松开MODE键,此时通过console连上会出现switch:界面,在该界面执行如下操作:

1switch:flash_init
2switch: copy xmodem: flash:/c3750e-universalk9-mz.122-55.SE5/c3750e-universalk9-mz.122-55.SE5.bin

此时界面会不停的打印 C 字母,如果不进行任何操作,打印完10个C会报错I/O error 。我在这一步操作时错了N次后,才琢磨到正确的操作方法,所以特别提示下。在打印出C的时候,证明交换机已准备就绪接收数据,这时选择SCRT上的传输--发送xmodem --指定上传bin文件的路径,就开始上传了,由于使用的默认9600的波特率,所以上传时间会特别长,如果想时间短一些,可以将波特率调整到最大。

ciscobinupdate

上传完成后,输入boot引导即可。注意这里根据型号不同,bin文件存放的路径也不同,可以在该模式下键入set命令查看,也可以通过set命令更改bin文件的默认路径 (如果可以正常进系统的话可以通过dir命令查看)。

ciscoboot

总结:该方法适用于无法正常进入交换机或防火墙系统界面,进行系统灌装恢复的场景。防火墙进入该界面可能使用的是crtl+Break键进入。

2、tftp上传

该方法又分两种情况,一种是可以进入系统,需要进行IOS上传(多用于IOS升级的场景);另一种和上面提到的一样,IOS丢失,无法进入系统的情况。

先说第一种,可以进行系统:

下载安装并启动cisco tftp软件,将IOS文件方到tftp指定的根目录下,通过网线将PC和交换机的1网口连接 ,在交换相配置1网口的IP地址:

1SW4(config)#int GigabitEthernet1/0/1
2SW4(config-if)#no switchport
3SW4(config-if)#ip add 192.168.1.2 255.255.255.0
4SW4(config-if)#no sh

指定PC机的IP地址和交换机1网口的地址在同一网段,如:192.168.1.100 。通过set指令指定tftp服务器的地址和IOS文件名

1set TFTP_SERVER 192.168.1.100
2set TFTP_FILE c3750e-universalk9-mz.122-55.SE.bin

配置完成后,执行如下操作:

1SW4(config)copy tftp flash

第二种主法和第一种方法类似,不过是无法进入系统按MODE键进入设备监视模式下的操作,很多网上的互相粘贴的教程可能是这样写的:

1set IP_ADDRESS= ROUTER的IP地址(要和TFTP服务器在同一网段内)
2set IP_SUBNET_MASK= ROUTER的子网掩码
3set DEFAUT_GATEWAY= 默认网关地址 (可以没有,也可以是TFTP服务器)
4set TFTP_SERVER= TFTP 服务器IP地址
5set TFTP_FILE= IOS文件名(只给出文件名,不需要路径)
6tftpdnld 回车

操作完成后,可以使用set查看所有的环境变量情况:

modeset

最后所有操作完成后,不要忘了用unset或reset进行还原操作。

如果按上面的操作是会报错的(至少在switch 3750下我验证过不是这样),正确的操作是将中间的等号去掉,字段之间留空格 。还需要注意的是变量名一定要大写。不过在使用该方法时,发现所有的网口默认是down的,当时由于急于恢复,未想到尝试使用no shutdown的方式使接口up ,有兴趣的可以尝试下,个人觉得该方法肯定也是可行的。

三、SecureCRT 几种上传模式总结

在SecureCRT下的传输协议有ASCII、Xmodem、Ymodem、Zmodem4种。

(1)ASCII:这是最快的传输协议,但只能传送文本文件。 (2)Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。 (3)Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快。 (4)Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。 

其中Zmodem就是常用的利用rz 、sz命令进行上传下载。

四、CISCO交换机恢复出厂设置

之所以特别提到这里,是避免乱用指令,导致镜像丢失。

1Switch#erase startup-config
2Switch#delete flash:vlan.dat
3Switch#reload

这里特别指示下erase命令,其用法如下:

1Switch#erase ?
2  /all            Erase all files(in NVRAM)
3  flash1:         Filesystem to be erased
4  flash:          Filesystem to be erased
5  nvram:          Filesystem to be erased
6  startup-config  Erase contents of configuration memory

其中关于擦除文件系统的命令一定要慎用 。

参考页面:

http://www.cisco.com/c/en/us/support/docs/switches/catalyst-2950-series-switches/41845-192.html

http://viong.blog.51cto.com/844766/282327

http://blog.csdn.net/xwchen/article/details/5285446