IOS被称为Cisco路由器(交换机)的灵魂,升级IOS可以修复旧IOS中的Bug、安全漏洞,并且能够较大程度地提升设备的性能、扩展设备功能。但是,升级IOS网络工程师需要冒一定的风险,稍有不慎就会造成灾难性的后果。但也没必要因此因噎废食,只要注意相关的细节就能够将风险降到最低。笔者做网络维护和支持差不多十年了,有教训也有经验,下面和读者分享一下自己在这方面的经验。
1、确定升级IOS的必要性
是否需要升级IOS,这是网络工程师首先要考虑的问题。笔者认为升级IOS的最佳时机是:当Cisco的官方网站有了当前系列路由器(交换机)的新的IOS更新的时候,应该考虑升级IOS,这需要工程师时刻关注新的动态。另外,因为网络的扩展需要为路由器(交换机)添加新的模块或者组件点击时候,一般要将当前IOS升级到支持该模块的IOS版本。最后,我认为还有一个非常重要的升级理由是,当该系列的路由器(交换机)爆出Bug或者安全漏洞时,一定要升级IOS。在我接触的网络管理器中,很多人非常看重路由器的性能与功能,而对于其安全性重视不够。其实,这是非常错误的价值取向,当没有了安全性的保障,性能与功能还有什么意义?只不过是为攻击者提供了一个高性能的设备罢了。
2、确保IOS的可靠性
在确定了要升级IOS,那么必须要保证IOS的可靠性。当前的黑客技术几乎是无孔不入,IOS也在劫难逃。Cisco的IOS源代码泄露已是不争的事实,网络是充斥着大量被攻击者篡改并且植入后门的IOS,而且黑客已经开发出Cisco路由器的后门。另外,互联网上也有很多提供IOS下载的网站,这些IOS版本比较混乱,图方便下载在升级过程中会造成意想不到的后果。Ios的可靠性包括两样方面,一个是安全性即确保是纯净的IOS文件,另外一个要确保IOS版本和待升级的IOS是对应的。基于这样的考虑,一定要从Cisco的官方网站下载对应的IOS。我在这方面是有着深刻的教训的,当初用从其它地方下载的IOS进行升级,最终导致了升级失败路由器宕机。
3、选择合适的升级方法
Cisco路由器的IOS升级可以采用多种方法,在升级之前一定要考虑采用那种升级方式。在正常情况下,我们一般采用TFTP升级法,即利用TFTP软件将电脑部署成TFTP服务器,然后连接电脑和路由器,通过copy tftp flash即可根据提示完成IOS的升级。但是,在某些特殊情况下,就不能采用这种方法了。比如在曾经的一次升级失败后,可在路由器启动时按住Ctrl+break键,进入rom监视模式执行copy tftp flash命令对路由器的IOS进行升级。另外,如果不小心使用了erase flash命令擦除了flash,这时候的升级方式就比较麻烦一些。总之,在进行IOS升级前一定要根据实际情况选择最合适的升级方式,其原则是越简单、越安全越好。
4、搭建测试环境测试
毕竟真实环境下中的升级是具有风险的,为了确保万无一失,我建议大家做好搭建环境先进行测试。这个测试主要包括两部分,一是测试确保IOS文件的正确性,二是演习并熟悉相关的升级命令,最好把相关的命令用笔记下来确保正确。至于测试环境,应该是因人而异、因企业而异。对于某些大的企业一般有专门的网络实验室,在这样的实验室中进行升级测试当然是做好不过了。如果你没有这样的环境,可以用Cisco模拟器搭建模拟环境进行测试。我建议大家用Dynamips这款模拟器,与其他的模拟器不同,dynamips可以是模拟出cisco路由器的硬件环境,然后在这个环境中直接运行Cisco的IOS。换句话讲,dynamips 模拟出的是真实的路由器,就像你在PC上用街机模拟器玩街机游戏一样。通过测试,就能够把问题解决在测试阶段,保证了真实环境下升级万无一失。
5、升级前的必须要保证的工作
俗话说,有备无患,在万事俱备,只等敲入命令进行IOS升级时,一定要做好以下工作。第一点,务必要备份此前的IOS,输入命令show flash进行查看,然后copy flash:*.bin tftp将相应的bin保存到tftp服务器。升级前的备份可是我们升级失败后的救命稻草,为你省去很多麻烦。笔者就有这样惨痛的经历,在一次升级IOS时心存侥幸没有备份IOS就直接升级,结果升级失败后也无法恢复原来的IOS。第二点,在升级前一定要检查所要升级的IOS版本需要的RAM和Flash大小,并确保路由器能够保证其需要,否则必然导致升级失败。第三,稳定的电源,要保证在升级过程中不发生断电。另外,作为tftp服务器的电脑的稳定性也有保证。
6、灾难恢复时的细节
不幸地如果遭遇IOS升级失败,最快地进行灾难修复这是当务之急。至于恢复的方法要根据情况而定,比如可以尝试进入rom监控模式使用Xmodem命令进行恢复,或者使用confreg指定以网络IP广播方式启动等。但是,不管采用哪种方式恢复,一定要恢复的是此前备份的IOS,而不要尝试进行使用新的IOS进行升级恢复。因为,也许正是该IOS才造成了升级的失败,这样的尝试会使事情变得更糟。
7、升级完成后的可靠性测试
在IOS升级完成后,不要以为万事大吉了。此时一定要进行安全性、可靠性测试,只有经过一段时间的测试以及运行检验才可宣告升级真正成功。而后期的检验是被大多数管理员忽视了,在最初完成升级的一段时间内,应该密切注意设备的运行情况。如果出现异常,要进行分析是否是由这次升级引起的。
总结:上面的7点是笔者在进行Cisco路由器(交换机)管理,特别是IOS升级中的一点经验,希望这些技术细节对大家有所帮助。