两起奇怪的网络故障溯源
来源:中国计算机报 更新时间:2012-04-13

  作者:王纪平 

 没错,企业网管确实是一项极富挑战性的工作。局域网中大大小小、奇奇怪怪的故障已远远超出了我们的想象。笔者最近就遇到了两起怪异的网络故障,下面还原其过程,希望对处理类似故障有所帮助。


怪异的频繁掉线


前不久,网管辞职,朋友接手了公司的网络管理。这是一家广告公司,网络规模不大,计算机数量大概有40台。公司有4个部门,各部门通过一台小型交换机连接到核心交换机。核心交换机的Uplink口连接TP-LINK宽带路由器,路由器通过ADSL连接到Internet,网络拓扑见图1。朋友上任不到一天就遇到了网络故障,具体表现为:企业外网基本上两小时自动掉一次线,然后过一分钟又自动连接上。这期间虽然耽误时间只有一分钟,但由于公司很多广告设计都是多人在线协作完成,公司的视频点播系统对网络的连通性要求很高,因此,这一分钟的掉线对公司的影响还是比较大的。


故障分析


朋友检查了节点间的线缆连接以及员工们的计算机系统,排除了硬件连接和病毒因素,但故障依旧。朋友找笔者帮忙。就笔者日常维护网络经验来看,断网主要由两方面引起:本地链路不稳及感染蠕虫所致。联系电信部门对ADSL链路进行检查,排除了链路故障,于是将重点放到蠕虫病毒上。


笔者把重点放在具有ARP欺骗特性的病毒上。之后,笔者和朋友详细检查了所有员工的计算机,没有发现任何问题。同时检测发现,当出现断线时,ARP缓存表里的网关MAC地址与正常上网时一致。这说明断网并不是因为ARP欺骗引起的。


排查否定了病毒和链路因素。那么还有什么可能造成如此蹊跷的网络故障呢?为了更好地定位故障,笔者决定使用分割法进行分析,也就是说将网络各个区域隔离开来检查。首先,笔者关闭了大多数员工计算机,只让一台笔记本上网,故障依旧。看来问题不是出现在计算机上。难道是交换机或者路由器出现了问题?


接下来把笔记本直接连接路由器上网,结果还是两小时自动断一次,之后又恢复连接。因此,基本可以断定故障在路由器或线路本身。接着,用笔记本直接连接ADSL猫,在系统中手工建立拨号连接后拨号上网,自动断线问题没有再出现。这说明线路是好的,ADSL猫也没有任何问题,肯定是宽带路由器在作祟。


故障解决


于是笔者登录路由器进入管理界面,一一比对各个参数设置信息,结果发现在“网络参数→WAN口设置”处的拨号设置被设置为“按需连接,在有访问时自动连接,自动断线等待时间15分钟”。这就是说当有人要访问外部Internet时宽带路由器才会拨号上网,而且当网络需求在15分钟之内没有时就会自动断线。笔者将其修改为“自动连接,在开机和断线后自动连接”后,经过一段时间的测试,企业内网再也没有出现怪异的断网现象。


笔者事后了解到,原来是前网管为泄愤修改了宽带路由器的拨号连接设置才造成了如此蹊跷的网络故障。笔者在本次排故过程中走了不少弯路,没有想到人才是网络安全最重要的因素。不过,文中通过的层层推理分析解决网络故障的方法希望对大家有所帮助。


自作自受的客户端


单位局域网规模相对较大,为了方便管理工作站,特意搭建了DHCP服务器,利用DHCP服务为每一台工作站自动分配IP地址。很长一段时间里,局域网中所有工作站都连网正常,速度也比较理想。最近的某天早晨,笔者一上班,总务室的小张打电话说他们办公室的6台电脑都不能连接上网了,系统任务栏处的“本地连接”图标总不断提示本地连接受到了限制。不一会,档案室小吴打来电话求助,故障和总务室的类似。没办法,亲自跑一趟。

 

故障分析

查看总务室小李的电脑故障确实如他所述,笔者首先考虑会不会是本地工作站从DHCP服务器那里没有获取到合法的IP地址,从而导致该工作站出现“本地连接”受到限制的提示呢?随机在打开命令行工具执行“ipconfig /all”命令,该工作站获取的IP地址竟然为“169.254.11.156”!很明显该IP地址并不是从DHCP服务器那里得来的,而是Windows系统自动分配的。这么说该工作站与DHCP服务器失去了联系。

会不会是DHCP服务器出现了问题呢?询问得知,局域网中的其他工作站都能上网,这说明DHCP服务器自身运行是正常的。有没有可能是本地工作站的网络连接线缆出现了短路或断裂现象,从而导致本地工作站与局域网失去了联系呢?于是特地找来了专门的网络测试仪,对本地工作站的线缆连通性进行了现场测试。从测试结果来看,该网络线缆完全正常。笔者又把自己的笔记本电脑连入网络,同时设置IP动态获取,结果笔记本电脑能够很快速地获得IP,上网一切正常。很显然,这条网络线缆以及其所连的交换机端口都没有问题。

既然网络线缆没有问题,交换机连接端口也没有问题,DHCP服务器也能正常工作,看来问题肯定出在本地工作站系统身上。对客户端进行杀毒和文件修复操作,经测试故障依旧。 在确认本地工作站自身运行正常的前提下,笔者不得不再次将怀疑目光转向DHCP服务器。考虑到DHCP服务器能够为局域网中的其他工作站正常分配地址,惟独不能给个别工作站分配地址,会不会是这些工作站先前从DHCP服务器获得的IP地址过了租约期呢?

于是,笔者以超级管理员权限登录到DHCP服务器,打开DHCP控制台窗口,进入该服务器“目标作用域”属性对话框,从中找到“地址租约”选项,并将那些租约到期的工作站全部解除锁定,最后又重新启动了一下DHCP服务器。接着笔者再次在小李的电脑上依次执行“ipconfig /release”,“ipconfig /renew”释放并重新获得IP地址,接着执行“ipconfig /all”发现IP地址还是不正确,工作站仍然不能访问网络。

这让笔者纳闷了,于是重新执行上面的命令,系统提示RPC(Remote Procedure Call)服务无法调用之类的错误,难道客户端的RPC服务被禁用?大家知道DHCP Client服务依存于RPC,如果其被禁用则DHCP Client服务不能启动,就无法从DHCP服务器获得IP。于是打开客户端主机的“服务管理器”,发现“Remote Procedure Call(RPC)”服务果然被禁用,处于停止状态(如图2所示),原因终于找到了。

故障解决

马上重启RPC服务,然后启动DHCP Client服务,接着执行上面获取IP的操作,IP成功获得,联网测试成功。其他的主机也如法炮制,这起电脑故障才算最终解决。但笔者不禁要问:为什么这两个办公室的电脑会出现类似的故障呢?询问小李后得知,原来他在前一天从网上下载了一款系统优化工具,用其对自己的系统进行了优化,优化过系统后系统快了不少。于是他把该软件提供给了办公室的同事,当然也推荐给了隔壁的档案室,所以当第二天大家打开电脑时不约而同地出现了如上的症状。

图1 某广告公司网络拓扑结构图

本文列举的两起比较怪异的网络故障,追踪到最后都被确认是人为造成的,不管是恶意的还是无意,都毫无例外地影响了网络的正常运行。因此,网络管理除了技术之外,制度管理必须要跟上,只有双管齐下,才能在最大程度上避免因网络故障对企业造成不必要的损失。另外,管理员们在解决网络故障时要避免惯性思维,突破心理定势,少走弯路。