对于网络管理员来说,熟悉与掌握路由排错的思路和技巧是非常必要的。小编将通过三例典型的路由故障排错案例进行分析。
案例1 不堪重负,路由器外网口关闭
1、网络环境
某单位使用的是Cisco路由器,租用电信30MB做本地接入和l0MB教育网双线路上网,两年来网络运行稳定,路由器也没有发生故障。随着网络用户数量增加,原来电信30MB已不能满足需要,于是决定租用电信100MB来解决带宽问题。电信采用光纤接入到单位机房后,使用百兆光电转换器经转换后通过双绞线接到路由器外网口上面,该路由器使用是千兆电口作为外网口,由于光电转换器只有100MB,该端口连接后速度显示100MB。
2、外网端口流量为零
经过几天的运行,管理员发现每天当路由器外网口流量超过50Mbps/s后,该端口就会出现“Receive Errors” ,流量超大,错误信息很多。突然有一天,出现外网不能上了,Telnet到路由器上面,发现电信对应的外网口没有流量,显示状态为UP,路由器上其他端口工作正常。第一反映是电信的那边出现问题了,是电话通知电信那边查检一下,对方很快回应说没有什么问题,并询问是否光电转换器死机了。
于是管理员将光电转换器重启后,故障依然。没有办法,只好将路由器重启一下,故障排除。谁知,过了不到一个小时,故障又重现。Telnet到路由器后将该外网口执行shutdown和undo shutdown后,故障排除。谁知,将所有有关病毒的安全策略应用到该端口,将tcp mss修改为2o48(厂商默认1460),故障依然出现。
3、故障分析
管理员发现在故障发生时,CPU显示23%,Memory为33%,不算太高,关键是其他接口都正常工作,看样子问题还是出现在这个端口上面。可这个端口已用了两年了,升级扩容以前没有出现端口不能正常通讯的情况,端口硬件应该是有什么问题。
通过网管软件对端口关闭前的流量检测,发现该端口关闭前有很大的流量通过(超过80Mbps/s) ,显示端口的错误信息也比较多。通过分析得知应该是网络流量太大,利用率过高所致。
流量超过80%后,造成端口不能正常。如果该端口能工作千兆模式下,100MB带宽仅利用该端口10%,这样端口可以轻松处理。
4、解决方案
在找到症结后,推荐的解决方案是购买千兆光电转换器代替原来的百兆设备,而且价格也比较便宜。但为了保证网络运行的稳定性,该单位决定直接购买一个千兆光口路由模块,直接利用光纤进行通讯,减少网络延时。电信则通过端口限速来控制保证提供百兆带宽。通过一段时间运行,发现该端口除了有少量错误信息外,再没有出现过端口无故关闭情况。
案例2 路由器为何发包失败
在路由器的配置过程中,经常会碰到这样的问题:网络通信正常,路由器可以成功路由数据包到目标网络,但是从路由器发的数据包却传送失败,故障表现为路由器ping目标网络失败,下面就是一个典型的案例。
(1)现象描述
某单位的网络配置完成后,管理员在测试网络连通性时发现:从PC机(6.159.245.195) 向目标网络(6.159.245.65/26)发送Ping时,路由器R1可以成功转发数据包,然而从R1向目标网络(6.159.245.65/26) 发送ping时,出现ping失败。
(2)排错过程
首先,跟踪ping所经过的路径。检查R1的路由表,目标地址6.159.245.65可以与路由表中0.0.0.0/0相匹配。检查R2、R3、R4的路由表,均可以发现与目标地址匹配的路由表项。
然后,跟踪ICMP回应应答数据包所经过的路径。为完成这一步骤,要明确回应数据包的源地址,PC发送ping时,回应应答数据包的目标地址就是6.159.245.195。而路由器R1发送ping时,回应应答数据包的目标地址就是71.170.0.146。
对照R4的路由表,发现与 6.159.245.195匹配的路由表项,而未发现与目标地址71.170.0.146相匹配的路由表项。
看来,ICMP的回应应答数据包在R4处理时被丢弃了,所以从R1向目标网络R4(6.159.245.65/26) 发送ping时,出现pmg失败。
解决办法是:在路由器R4上增加一条指向71.170.0.144/30的静态路由,下一跳的地址为71.170.0.214。完成后,在R1向R4发送ping时,发现一切正常了。
此类网络故障尽管不会影响网络的正常通信,排除的过程也很简单,但网络故障的分析与排除时,我们要考虑完整的通信过程。
案例3 艰难的Cisco路由器IOS升级之旅
某学校从2003年开始建设校园网,近年来上网人数不断增加,使原来的Cisco 2621已经远远不能满足网络的需求。而且最近要上0A办公系统,需要增加一台VPN设备,用于校外用户对校内0A系统的访问。
出于经济上的考虑,他们想通过升级闲置的Cisco 2621路由器来做VPN。不过,在升级IOS的过程中遇到一些问题。
1、超级终端登录出现乱码
从机房的仓库里拿出路由器,通电。通过Console口连上去,发现超级屏幕出现了一些乱码。会不会是Consol口坏了?分析认为Cisco设备如果出现Console口坏了,一般会在超级终端屏幕上不断输出很多的乱码。
但是这回出现的却是输入回车键后,才在屏幕上出现乱码,可能是每秒传输速率不对。
管理员将默认值9600更换为l15200。路由器启动成功。路由器启动完后,用show run确实发现Console的速率为l15200。
2、内存不够升级失败
要升级的这台Cisco2621路由器带有VPN的功能。原来的IOS版本为C2600-i-mz.122-8.T4.bin。从网上得知 Cisco 2621只有K8、K9系列的IOS才能支持VPN。于是管理员从网上下载新的IOS c2600-ik9o3s3-mz.123-22.bin,大小为15MB。升级过程如下:
(1)配置路由器Interfast 0/0的IP地址,先用“copy flash:tftp”把原来的IOS备份出来,并通过“copy tftpd flash” 命令上传。
(2)重新启动路由器,发现如下的提示错误,大意是没有足够的内存运行IOS:
Error:memory requirements exceed available memory Memory required:0x0284A0BC
在Cisco官方网上查询,发现c2600-ik9o3s3-mz.123-22.bin这个10s镜像要求路由器的内存为 64MB,Flash为16MB。从上面的启动信息可以看出,这台路由器的内存为32MB,当然启动不起来了。后来在网上购买了一条l28MB的内存换上去,加大内存后,启动路由器成功。
3、在ROM模式下通过TFTP上传IOS效验失败
由于路由器IOS升级失败,所以想恢复原来的IOS。Cisco IOS升级失败后,恢复IOS的方式有两种:FTP和Xmodem。TFTP的传输速度快一些,Xmodem的传输速度比较慢。在R0M模式下,用TFTP上传IOS,过程如下:
(1)在interfast 0/0配置IP地址,配置完后用set命令查看。默认情况下,在R0M模式下配置的IP地址是在interfast 0/0下的,所配置的IP地址应该要与TFTP服务器在同一个网段内。
(2)用tftpdnld方式下载,TFTP ServerMg开始时用Cisco的TFTP,但传输一半就超时。用3Cdaemon传输完后,发现如下的警告:
TFTP flash C0PY:Warning,ChecksSum comparison failed.
重启路由器,路由器无法启动,提示IOS效验错误。原想可能是IOS下载时出现错误,但是重新下载了c2600-ipbase-mz.123-6c.bin还是不行,看来不是IOS的问题。后来更换了网线TFTP软件还是不行。
解决办法:用Xmodem来传。为了使传输速度快点,我们应该修改Xmodem的传输速度为ll5200。IOS通过Xmodem传输完后,重启路由器,路由器已经可启动。
4、经验总结
(1)在用TFTP上传IOS时,如果提示效验错误,就应该考虑采用Xmodem方式上传。
(2)TFTP服务器的IP的地址要和路由器的以太网口在一个网段上。
(3)在用Xmodem上传IOS时,最好采用Windows自带的超级终端。
(4)TFTP (Trivial File Transfer Protoco1)文件传输协议最大就支持传输32MB的文件。如果IOS大于32MB时,可以考虑采用第三方的TFTP软件,如3Cdaemon。还有一种办法就是可以采用FTP传输命令。
总结:
路由器故障纷繁复杂,排错方法也不尽相同,但排错思路和技巧还是有共同之处。遭遇路由故障,冷静分析、大胆实践、善于总结,这样才会提高排错能力。
新闻热点
疑难解答