3.94 快速定位网络故障
网络故障的现象是多种多样的,但究其原因,大抵分为以下几个层面的故障:物理层中物理设备相互连接失败或者硬件及线路本身的问题;数据链路层网络设备的接口配置问题;网络层网络协议配置或操作错误;传输层的设备性能或通信拥塞问题;上三层或网络应用程序错误。而如今,网络病毒日益猖獗,这种故障占据了网络故障的80%以上。
下面,笔者借助自己所遇到的一则实例:网络故障时的定位及解决过程。
网络时通时断
笔者所维护的网络是某省政府电子政务网专网,它覆盖全省、市、县(区)三级党政机关。网络环境为:港湾Flex2024E作为接入交换机下接用户,上联当地汇聚交换机Flex5010,Flex5010通过光纤上联到市级政务信息网平台。拓扑图如图1所示。
最近,我们在网管平台监控发现宜春市袁州区Flex5010时通时断,网络延时大,有丢包现象发生。但是所运行的业务正常,随后,该设备时通时断的频率加大,有时候还不能远程Telnet登录设备进行管理查看。
|
| (点击查看大图)图1 网络拓扑图 |
查看设备参数基本正常
在保证中间物理线路畅通的前提下,一般面对设备时通时断,首先应该登录设备查看设备的板卡是否正常,查看设备的各项性能参数是否正常,如内存利用率、CPU利用率、各个端口实时速率是否在正常范围内。
我们在联系当地网管中心确保线路无故障后,登录设备查看Flex5010 CPU利用率,高达60%。
sh cpu u YC_YZSFH5010_01(config)# sh cpu usage cpu usage: 60% |
检查流量异常端口
查看实时监控交换机带宽,如图2所示,发现端口(流入流出)流量并不大,25口为上行端口,最大流量还没有500Kbps。下联端口最大流量的端口11,流量还没有100Kbps。
|
| (点击查看大图)图2 监控交换机带宽 |
于是联系当地信息中心询问情况,反映上网速度很慢,几乎上不了。拔掉流量较大的几个端口Port 11、Port 9的双绞线,过段时间观测,正常。但是一旦插上Port 9、Port 11的双绞线,过一段时间观测,设备又有上述问题。当地信息中心工程师得出结论是,Flex5010只能下接8个交换机,如果在任意端口下加挂一台交换机的话,就会出现问题:设备Down,不能远程登录,用户不能上网。
出现上述情况只有两种可行性:一是Flex5010交换机设备本身有问题,二是交换机下挂交换机用户带有病毒。后联系港湾工程师,反映设备出现问题的概率很小,建议抓包看看是否有病毒。
在Flex5010上,做端口镜像,用Sniffer Pro进行抓包分析:
启用镜像组1,将交换机端口23作为监控端口,下接装有Sniffer Pro软件的PC。
Harbour(config)#config mirroriing 1 to 23
|
24口为上行口,添加被镜像端口24。
Harbour(config)#config mirroring 1 add port 24 egress (出端口的数据流)
Harbour(config)#config mirroring 1 add port 24 inress(入端口的数据流)
在端口23接一台装有Sniffer Pro软件的电脑上面抓包如图3所示。
|
| (点击查看大图)图3 抓包结果 |
终端病毒作怪
通过图3可以看出,IP地址为10.98.21.30的PC向外发送了大量目的端口为139帧长为66字节的数据包。很明显,这是冲击波病毒在作怪。冲击波病毒是利用系统漏洞进行传播,没有打补丁的电脑用户都会感染该病毒,电脑出现系统重启、无法正常上网等现象。冲击波病毒利用的是系统的RPC DCOM漏洞,监听端口69,模拟出一个TFTP服务器,并启动一个攻击传播线程,不断地随机生成攻击地址,尝试用有RPC漏洞的135、139端口进行传播,病毒攻击系统时会使RPC服务崩溃。
我们知道,超长帧(超过1518字节)有封闭网络的作用,主要是引起网络速度变慢或网络瘫痪,而短帧(小余64字节)达到一定流量,就会对网络设备的工作协议造成一定程度的破坏,引起设备死机,一般在网络中是不容许大量出现的。小包同样存在这样的问题。由于开始Flex5010下挂少量用户交换机,这个时候网络中短帧虽然存在,但是交换机CPU还有能力处理,一旦超过交换机的负荷(增加下挂用户交换机),网络中存在大量冲击波病毒向外发包(发送目的地址并不存在的arp请求,交换机得到请求之后,不断去寻找目的地址,但是实际上不能转发该报文),当所有的下挂用户电脑中冲击波病毒同时并发时,交换机这个时候就处理不过来;又因为是小包,故网络带宽并不大。
阻止病毒传播
针对上述分析,在Flex5010上做常见病毒acl访问控制,关闭病毒端口。
启用acl
Harbour(config)#service acl enable
|
针对常见病毒端口,制定相应的规则,阻止其传播。
Harbour(config)#create acl acl1 tcp DIP any ip-port 113 SIP any ip-port any deny ports any Harbour(config)#create acl acl2 udp DIP any ip-port 135 SIP any ip-port any deny ports any Harbour(config)#create acl acl3 tcp DIP any ip-port 135 SIP any ip-port any deny ports any Harbour(config)#create acl acl4 udp DIP any ip-port 137 SIP any ip-port any deny ports any Harbour(config)#create acl acl5 udp DIP any ip-port 138 SIP any ip-port any deny ports any Harbour(config)#create acl acl6 tcp DIP any ip-port 139 SIP any ip-port any deny ports any Harbour(config)#create acl acl7 udp DIP any ip-port 139 SIP any ip-port any deny ports any Harbour(config)#create acl acl8 udp DIP any ip-port 445 SIP any ip-port any deny ports any Harbour(config)#create acl acl9 tcp DIP any ip-port 445 SIP any ip-port any deny ports any Harbour(config)#create acl acl10 tcp DIP any ip-port 593 SIP any ip-port any deny ports any Harbour(config)#create acl acl11 udp DIP any ip-port 593 SIP any ip-port any deny ports any Harbour(config)#create acl acl12 tcp DIP any ip-port 1022 SIP any ip-port any deny ports any Harbour(config)#create acl acl13 tcp DIP any ip-port 1023 SIP any ip-port any deny ports any Harbour(config)#create acl acl14 tcp DIP any ip-port 1025 SIP any ip-port any deny ports any Harbour(config)#create acl acl15 tcp DIP any ip-port 1029 SIP any ip-port any deny ports any Harbour(config)#create acl acl16 tcp DIP any ip-port 1034 SIP any ip-port 80 deny ports any Harbour(config)#create acl acl17 tcp DIP any ip-port 1068 SIP any ip-port any deny ports any Harbour(config)#create acl acl18 udp DIP any ip-port 1434 SIP any ip-port any deny ports any Harbour(config)#create acl acl19 tcp DIP any ip-port 1871 SIP any ip-port any deny ports any Harbour(config)#create acl acl20 tcp DIP any ip-port 2745 SIP any ip-port any deny ports any Harbour(config)#create acl acl21 tcp DIP any ip-port 3067 SIP any ip-port any deny ports any Harbour(config)#create acl acl22 tcp DIP any ip-port 3127 SIP any ip-port any deny ports any Harbour(config)#create acl acl23 tcp DIP any ip-port 3208 SIP any ip-port any deny ports any Harbour(config)#create acl acl24 tcp DIP any ip-port 4331 SIP any ip-port any deny ports any Harbour(config)#create acl acl25 tcp DIP any ip-port 4334 SIP any ip-port any deny ports any Harbour(config)#create acl acl26 tcp DIP any ip-port 4444 SIP any ip-port any deny ports any Harbour(config)#create acl acl27 tcp DIP any ip-port any SIP any ip-port 4444 deny ports any Harbour(config)#create acl acl28 tcp DIP any ip-port 4510 SIP any ip-port any deny ports any Harbour(config)#create acl acl29 tcp DIP any ip-port 4557 SIP any ip-port any deny ports any Harbour(config)#create acl acl30 tcp DIP any ip-port 5554 SIP any ip-port any deny ports any Harbour(config)#create acl acl31 tcp DIP any ip-port 5800 SIP any ip-port any deny ports any Harbour(config)#create acl acl32 tcp DIP any ip-port 5900 SIP any ip-port any deny ports any Harbour(config)#create acl acl33 tcp DIP any ip-port 6129 SIP any ip-port any deny ports any Harbour(config)#create acl acl34 tcp DIP any ip-port 6667 SIP any ip-port any deny ports any Harbour(config)#create acl acl35 tcp DIP any ip-port 9995 SIP any ip-port any deny ports any Harbour(config)#create acl acl36 tcp DIP any ip-port 9996 SIP any ip-port any deny ports any Harbour(config)#create acl acl37 tcp DIP any ip-port 10080 SIP any ip-port any deny ports any Harbour(config)#create acl acl38 tcp DIP any ip-port 20168 SIP any ip-port any deny ports any
|
做上述操作之后,网络正常,Flex5010再也不会时通时断了。在下班时(此时几乎没有什么用户在上网)查看设备端口,此时网络中仍有冲击波病毒:交换机端口9收到了328个数据包,因交换机启用了acl,对比后认为是病毒并丢弃,结果交换机全部丢弃,传输了0个数据包。第二天通知当地网管给电脑打好补丁并及时查杀病毒,网络恢复正常运行。
后记
网络故障诊断以网络原理、网络配置和网络运行的知识为基础。从故障现象出发,以网络诊断工具为手段获取诊断信息,确定网络故障点,查找问题的根源,排除故障,恢复网络正常运行。
解决网络病毒引起的网络突发故障,需要综合利用各种网管工具,营造一个安全顺畅的网络环境,需要用户端电脑及时打好操作系统补丁,更新杀毒软件病毒库;需要我们网管在交换机、路由器设备上及时做好针对各种病毒、木马的acl,过滤一些有害的端口,保障网络的稳定运行。
对于以太网应用程序,默认的MTU值一般都是1 500字节,在网络设备中MTU是64~65 535字节。如果IP数据包超过最大的 MTU,将对它进行分段,这将增加额外开销,在低速串行接口上,这可能会是一个严重的问题。
【责任编辑:
夏书 TEL:(010)68476606】