扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作为网络管理员的我们,主要职责就是负责企业内部网络的稳定与正常运行,那么在实际工作中难免会遇到这样或那样的网络故障现象,如何解决这些网络故障呢?一方面需要我们有强有力的理论技术基础,另一方面需要我们有足够丰富的实战经验。前者可以通过阅读书籍或参加培训获得,而后者则只能通过实际工作来弥补,不过多看看别人的实战故障解除文章也是丰富个人经验的捷径。最近笔者所在公司就遇到了一个不大不小的网络故障,本人拿出来和各位读者分享,希望能够达到抛砖引玉的效果。
一、实例1—网络频繁断线故障:
笔者所在公司规模属于中等,大概有几百台计算机。平时网络没有问题,最近几天总是出现动不动就断线的现象。由于在搭建网络时为了提高公司员工计算机访问网通和电信两个不同ISP线路的速度,公司采用了两个网络出口的方式做负载均衡。所以起初笔者认为是双路由造成的,所以将其中一个路由删除了,让企业只从一个出口访问外网。不过网络恢复正常后几分钟又出现了同样的故障,所有员工机都无法正常上网,网络再次出现掉线现象。
第一步:由于所有员工计算机都无法正常上网,而等待一段时间后又能恢复正常。所以笔者先对全网进行了查杀病毒工作,没有发现热和病毒。
第二步:最近在网上比较流行ARP欺骗,也就是通过ARP欺骗数据包将自身伪装成网关地址,这样实现其他计算机无法找到正确的网关而无法上网的症状,笔者在员工计算机上运行arp -a命令来查看网关MAC地址和IP地址,结果发现返回的信息都是正确的。
图1
第三步:这说明计算机和网络都没有什么问题,笔者将怀疑的主要对象放到了路由交换设备上。掉线的时候用员工计算机ping路由器的管理地址,也就是网关地址发现PING值过大,高于10,而正常情况应该是小于1的;另外即使在能够上网的情况下,员工机ping外网地址也会出现丢包问题。
第四步:将连接员工机的二层交换机进行了更换,网线也重新制作了一根好的,故障依旧。至此笔者已经可以肯定的说,问题出在路由器上。本人将路由器上连接外网的那个网线拔下来,网络马上恢复了正常。但是只要接上连接外网的网线ping内网数值又大了起来,而且在路由器上ping外网网关依然会出现丢包现象。(如图2)
图2
第五步:既然已经将问题定位到路由器上,那么我们登录路由器管理界面进行查看。笔者记得曾经看过一篇文章,主要讲的就是当路由交换设备负载过大时会严重影响硬件性能,网络故障也随之产生。所以笔者在路由器上查看了CPU与内存的占用率,不看不知道,一看吓一跳,CPU在95%以上,而内存也几乎保持在90%占用率以上。随着把连接路由其的外网网线拔掉后,一切又恢复正常了。看来问题的关键就是这个CPU与内存占用率上。
第六步:之后笔者联系了电信部门,把问题现象和对方工程师详细说明后,让对方查询下线路。等待了大概两小时,对方打来电话告诉我现在没有问题了。本人在公司上网就再没有出现上面遇到的掉线问题了。询问电信工程师原因,对方只和我说是线路问题。
小提示:根据本人的经验,这次故障的原因可能有两种情况,第一应该是电信那线路出现问题,形成了网络回路,这样数据包在回路上频繁传送,直到TTL值寿命到达上限为止。另一种可能则是因为有人攻击了公司路由器,例如DOS或Ddos造成路由器负载过大而呈现假死状态。不过笔者更倾向于前一种,因为如果是后一种的话,电信是无法解决的,需要企业自己购买防火墙。
二、从命令讲解如何查看路由器负载:
由于笔者在解决故障的过程中没有抓图,所以没法让读者看到CPU与内存高负载的情况。接下来本人将为大家简单介绍下如何在路由交换设备上查询CPU和内存负载情况,这样当网络出现问题,特别是不稳定的网络故障时,我们可以通过这些命令来查看是否问题来自于路由交换设备。
(1)CISCO设备上查询CPU占用率:
不同的厂商查询命令是不同的,下面介绍如何在CISCO设备上查询CPU占用率。笔者以公司的CISCO6509为例进行介绍。
第一步:登录到路由交换设备的管理界面。
第二步:执行show processes cpu命令后回车,这时会显示出当前CPU的使用率,包括五秒钟,一分钟,五分钟的使用情况。(如图3)
图3
第三步:下方会详细显示出每个进程占用的CPU资源情况,前面PID是编号,后面的process列是真正的进程名,我们可以根据名称了解使用情况。(如图4)
图4
第四步:这里显示的都是路由交换设备加载的所有进程,可能有的进程并不会占用任何资源,他也会出现在show processes cpu显示信息中。例如笔者的设备从启动到现在有131个进程调用过。(如图5)
图5
所以说我们在CISCO设备上可以通过show processes cpu命令来查看其CPU负载情况。
(2)华为3COM设备上查询CPU占用率:
在华为3COM设备上查询CPU占用率的命令并不是show processes cpu,我们要输入的指令为dis processes cpu。笔者以华为2621设备为例进行介绍,由于2621并不属于高端设备所以在执行CPU占用率查询命令时也不会像前面介绍的CISCO 6509那样给出一条条的详细信息,只会给出一个当前CPU负载的百分比。(如图6)
图6
(3)华为3COM设备上查询内存占用率:
内存占用率也是另外一个影响路由交换设备性能的参数,我们在华为3COM设备上可以通过dis processes memory all命令完成内存占用率查询工作,系统将显示出所有进程占用的内存情况,如何你发现某一个进程的占用率过高就一定是该进程有异常。(如图7)
图7
另外我们还可以通过执行dis processes memory all detail来查看内存占用的详细信息。(如图8)
图8
(4)CISCO设备上查询内存占用率:
在CISCO设备上使用sh processes memory命令来查看该设备的当前内存占用情况。(如图9)
图9
同样CISCO设备会根据当前131个进程给出详细的内存占用情况,每个进程对内存的使用情况也将一览无余。(如图10)
图10
所以说不管是CISCO公司的产品还是华为3COM的产品,我们都在遇到奇怪的网络问题,特别是网络不稳定,一会连接正常一会出现中断的时候,就应该通过循序渐进的方法来查找问题所在,必要时对核心网络设备的负载进行检查,在第一时间找出问题所在,避免因其负载过高带来的故障。
三、总结:
经验是逐渐积累的,需要我们在工作过程中慢慢去体会,去学习。希望本文介绍的这个网络故障排除的例子能够帮助各位IT168的读者解决实际问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台