Cisco路由交换设备之IOS故障排除

IOS是路由器交换机设备的核心,IOS全称internet operate system,中文是网络操作系统的意思。他就好比计算机的操作系统windows一样,虽然是软件但出现问题就无法进行任何软件的运行了。所以如果IOS出现问题的话路由交换设备将无法正常运行,配置命令都将荡然无存。我们只能通过重新安装IOS来解决。
  
  本文将以cisco 3550为例介绍IOS的恢复方法:
  
  第一步:用控制线连接交换机console口与计算机串口1,用带有xmodem功能的终端软件连接(微软操作系统自带的超级终端软件即可)。
  
  第二步:设置连接方式为串口1(如果连接的是其他串口就选择其他串口),速率9600,无校验,无流控,停止位1,当然直接点击“还原为默认值”也可以。
     第三步: 连接以后计算机回车出现交换机无ios的界面,一般的提示符是“switch:”
  
  第四步:这时拔掉交换机后的电源线。按住交换机面板左侧的mode键(一般交换机就这一个键),插入交换机后边的电源插头给交换机加电。等到看到交换机面板上没有接线的以太口指示灯都亮和交换机的几个系统指示灯都常亮。
  
  第五步:在超级终端输入:
  
  switch:flash_init
  
  会出现如下提示:
  
  Initializing Flash...
  
  flashfs[0]: 1 files, 1 directories
  
  flashfs[0]: 0 orphaned files, 0 orphaned directories
  
  flashfs[0]: Total bytes: 3612672
  
  flashfs[0]: Bytes used: 1536
  
  flashfs[0]: Bytes available: 3611136
  
  flashfs[0]: flashfs fsck took 3 seconds.
  
  ...done Initializing Flash.
  
  Boot Sector Filesystem
  
  Parameter Block Filesystem
  
  第六步:在switch:后面输入load_helper,输入后无任何提示。
  
  第七步:输入拷贝指令:
  
  switch:copy xmodem: flash:image_filename.bin
  
  例如保存在我的计算机中的flash文件为c3500-c3h2s-mz.120-5.wc5.bin则输入switch: copy  xmodem: flash:c3500-c3h2s-mz.120-5.wc5.bin,接着会出现Begin the Xmodem or Xmodem-1K transfer now...的提示。
  
  第八步:系统提示中将会不断的出现“C”这个字母,这就表示开始传文件了。
  
  第九步:点击超级终端菜单的“传送->发送文件”,在协议选项中选择Xmodem或者Xmodem-1K协议,然后选择ios的影像文件(*.bin),开始正式传送。
  
  第十步: 由于不能改传送的速率,所以传送得很慢,大概传送40分钟左右才能完成,所以传送时请耐心等待。
  
  第十一步:传送完毕后提示:
  
  File "xmodem:" successfully copied to "flash:c3500-c3h2s-mz.120-5.wc5.bin"
  
  switch:
  
  第十二步:在提示符下输入switch:boot,路由交换设备将自动重新启动,我们也可以启用新的ios系统。
  
  第十三步:重新加电后就完成了所有恢复工作。我们可以正常使用新IOS系统的设备了。
  
  Flash Memory是存储IOS的场所,如果在实际使用中Flash Memory出现了问题或者需要对设备进行升级,安装新的高版本的Flash Memory时就用到复制Flash Memory的操作了。
  
  小提示:在复制新的Flash Memory时我们应该执行erase flash命令将原来的出问题的或旧的FLASH删除。
  
  目前比较流行的解决Flash Memory故障,升级FLASH的方法都是使用TFTP法传输。本文以CISCO 2600系列为IT168的读者进行讲解。
  
  第一步:执行删除Flash Memory命令后设备将进入rommon状态。
  
  第二步:我们需要对rommon状态进行设置,让其符合我们的TFTP传输环境。具体命令如下:
  
  rommon 3 > set
  
  PS1=rommon ! >
  
  IP_ADDRESS=172.18.16.76(设置路由器的IP地址,注意在实际中我们只能使用端口一进行恢复flash操作)
  
  IP_SUBNET_MASK=255.255.255.0(设置路由器一端口的子网掩码)
  
  DEFAULT_GATEWAY=172.18.16.65 (设置路由器的默认网关地址)
  
  TFTP_SERVER=172.18.16.2 (设置用于传送FLASH文件的TFTP服务器的地址)
  
  TFTP_FILE=quake/rel22_Jan_16/c2600-i-mz(设置TFTP服务器上FLASH文件的文件名,方便下载)
  
  第三步:接着执行tftpdnld命令就可以开始下载了。
  
  小提示:TFTP服务器是必须建立的,所以我们应该找到一台PC机配置上文设置的TFTP服务器IP地址,然后从CISCO网站下载专业的TFTP服务器建立工具或者找第三方软件来建立。建立的方法非常简单选择要发布的目录即可。
  
  使用路由交换设备时间长了通过sh flash命令会发现大量CRASHINFO文件,这些文件占用了大量的FLASH空间。当这些文件过多造成FLASH存储空间满的话则影响我们以后升级FLASH。那么CRASHINFO是什么文件呢?我们如何清除他们呢?
  
  Crashinfo文件是路由器重启时留下的文件,是重新启动的记录文件,我们可以删除他们。具体使用Delete命令即可。
  
  有的时候我们执行sh flash会发现有两个分区,造成FLASH容量出现两个分区主要是由下面两种原因造成。一是有人执行了分区命令,将一块FLASH分成两个区;二是路由器上插有两个FLASH,这样每个FLASH都将以一个独立的分区显示。例如笔者在设备上使用show version显示了两个分区:
  
  Router#show version
  
  Processor board ID JAD06100CD1 (1588947843)
  
  M860 processor: part number 0, mask 49
  
  Bridging software.
  
  X.25 software, Version 3.0.0.
  
  2 Ethernet/IEEE 802.3 interface(s)
  
  32K bytes of non-volatile configuration memory.
  
  8084K bytes of processor board System flash (Read/Write)
  
  8084K bytes of processor board System flash (Read/Write)
  
  一般为了方便升级,更好的利用空间资源我们要合并FLASH分区。
  
  第一步:在路由器上显示一下FLASH的情况:
  
  Router#dir flash?
  
  Flash:1:
  
  Flash:2:
  
  第二步:把flash:2:删除
  
  Router#erase flash:2:
  
  第三步:合并两个flash
  
  Router(config)#partition flash 1 (把两个FLASH合并成一个FLASH1)
  
  Router#write memory
  
  修改完后会显示这样的信息:
  
  Router#show version
  
  Processor board ID JAD06100CD1 (1588947843)
  
  M860 processor: part number 0, mask 49
  
  Bridging software.
  
  X.25 software, Version 3.0.0.
  
  2 Ethernet/IEEE 802.3 interface(s)
  
  32K bytes of non-volatile configuration memory.
  
  16384K bytes of processor board System flash (Read/Write)
  
  Configuration register is 0x2102[/U]
  
  小提示:查看FLASH是否分区还可以使用show flash来查看,如果存在多个分区则会在显示信息中出现System flash directory, partition 1和System flash directory, partition 2的提示。
  
  总结:
  
  IOS和FLASH出现问题的机率不是很大,遇到故障时首先要保证不要着急,因为IOS和FLASH故障都算软件故障,我们都可以通过下载上传相应的软件程序来解决,不会像某个硬件出现问题那样需要花钱来更换设备。 文章录入:csh    责任编辑:csh

(0)

相关推荐

  • iOS如何获取屏幕宽高、设备型号、系统版本信息

    介绍 在我学习Android开发的时候,觉得设备适配是件很头疼的事情,android的设备太多了,那时就很羡慕iOS开发的人不用操心适配的问题,而当我开始学习iOS开发后,iOS的屏幕也开始多种多样了起来...于是也得做适配了,sad... 之前也研究过,这里把我的方法记录下来,本文介绍三个常用的设备信息获取方式: 获取屏幕的宽高.用于在设置控件位置的时候计算相对屏幕的距离 获取设备的型号.5s和6+的屏幕大小相差很远,相应的控件位置.大小都需要做出调整,不然就会出现在6+上显得很空旷或者在5s

  • iOS获取设备唯一标识的8种方法

    8种iOS获取设备唯一标识的方法,希望对大家有用. UDID UDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可以改变设备的 UDID),移动网络可以利用 UDID 来识别移动设备. 许多开发者把 UDID 跟用户的真实姓名.密码.住址.其它数据关联起来,网络窥探者会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据,同时大部分应用确实在频繁传输 UDID 和私人信息. 为了避免集体诉讼,苹果最终决

  • 检测iOS设备是否越狱的方法

    在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施. 首先,你可以尝试使用NSFileManager判断设备是否安装了如下越狱常用工具: /Applications/Cydia.app /Library/MobileSubstrate/MobileSubstrate.dylib /bin/bash /usr/sbin/sshd /etc/apt 但是不要写成BOOL开关方法,给攻击者直接锁定目标hook绕过的机会 复制代码 代码如下: +(BOOL

  • iOS App开发中通过UIDevice类获取设备信息的方法

    UIDevice提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况.从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息.UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等.其中大部分属性都对开发工作具有积极的辅助作用.下面的代码简单的使用UIDevice获取手机属性. 简单示例:设备相关信息的获取    NSString *strName = [[UIDevice currentDevice] name];   

  • 使用Reachability类判断iOS设备的当前网络连接类型

    (1). 下载 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip (2). 拖reachability.h,reachability.m入工程 (库非ARC) ARC:-fno-objc-arc (3) .导入SystemConfiguration.framework (4).用法 复制代码 代码如下: -(NSString*)getNetType   {          NSStr

  • Cisco设备IOS的恢复方法

    IOS恢复的2种方法     如果不小心把Router或者Switch的IOS删除了,特别是Flash中的IOS和ROM中的Mini IOS都没有了的话,连启动都不行的话,有什么方法恢复它呢?答案是方法不只一种,而是两种.其实是我只知道两种:) 第一种方法:X-Modem 以前我曾经尝试过一种方法,就是当Flash被删除后,启动无法进入系统,可以用X-Modem来恢复它.当时我不小心删除了一台Cisco2950交换机的Flash IOS,导致系统无法启动,在查过不少资料后得到一个结论:唯一的方法

  • 如何在iphon IOS设备上使用二维码

    下面给大家介绍下二维码简介 二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理: 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息. 下面介绍下如

  • iOS获取当前设备WiFi信息的方法

    前言 最近项目有个需求,获取当前连接的wifi的信息,通过努力终于实现了,现在分享给大家,有需要的可以一起来看. 注意:本文是以Swift代码为例 1.添加模块引用 首先我们在需要获取 WiFi 信息的地方引用需要的模块: import SystemConfiguration.CaptiveNetwork 2.添加获取代码 接下来编写获取 WiFi 信息的代码,如下: //获取 WiFi 信息 func getWifiInfo() -> (ssid: String, mac: String) {

  • asp.net 通过UserAgent判断智能设备(Android,IOS)

    最近一直在升级公司的手机站点,出了个触屏版专用的,做好后,就尝试通过 Agent 来判断相应的智能手机设备,然后跳转到新的手机站点经过不懈的努力,终于搜集了比较全的 智能设备 的 Agent,然后又写了程序,直接上代码吧 ,希望能帮助到你 复制代码 代码如下: /// <summary> /// 根据 Agent 判断是否是智能手机 /// </summary> /// <returns></returns> public static bool Check

  • IOS设备上给body绑定click事件不生效的原因及解决办法

    事件背景: 最近在做一个移动端业务的时候碰到一个bug,在ios上对body绑定click事实现事件代理冒泡至某些元素上尽然不生效. 思考: 暂借助jquery展示下事件绑定代码,将所有标签含有data-tip属性的元素通过事件代理至body $('body').on('click','[data-tip]',function(e){ console.log($(this.).attr('data-tip')) }) 这样做在android和pc上都可以正常实现,但是在ios上面对部分标签尽然不

随机推荐