事件:网络延时大,有丢包现象发生
2005年2月24日,我们在网管平台监控发现某市某区Flex5010时通时断,网络延时大,有丢包现象发生。
但是所运行的业务正常。2月25日,该设备时通时断的频率变大了,有时候还不能远程telnet登陆设备进行管理查看。
在保证中间物理线路畅通的前提下,一般面对设备时通时断,首先应该登陆设备查看设备的板卡是否正常,查看设备的各项性能参数是否正常,如内存利用率,cpu利用率,各个端口实时速率是否在正常范围内。
我们在联系当地网管中心确保线路无故障后,登陆设备查看Flex5010 cpu利用率,高达60%
sh cpu u
YC_YZSFH5010_01(config)# sh cpu usage
cpu usage: 60%
并实时监控交换机带宽,如下图。发现端口(流入流出)流量并不大,25口为上行端口,最大流量还没有500kbps。下联端口最大流量的端口11,流量还没有100kbps。
于是联系当地信息中心询问情况,反映上网速度很慢,几乎上不了。拔掉流量较大的几个端口port11、port9的双绞线,过段时间观测,正常。但是一旦插上port9、port11的双绞线,过一段时间观测,设备又有上述问题。当地信息中心工程师得出结论是,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软件的电脑上面,抓包如下图:
通过上图可以看出,ip地址为10.98.21.30的pc向外发送了大量目的端口为139帧长为66字节的数据包。很明显,这是冲击波病毒在作怪。冲击波(Worm.Blaster)病毒2003年8月12日全球爆发,该病毒由于是利用系统漏洞进行传播,没有打补丁的电脑用户都会感染该病毒,从而使电脑出现系统重启、无法正常上网等现象。冲击波(Worm.Blaster)病毒利用的是系统的RPC DCOM漏洞,监听端口69,模拟出一个TFTP服务器,并启动一个攻击传播线程,不断地随机生成攻击地址,尝试用有RPC漏洞的135、139端口进行传播,病毒攻击系统时会使RPC服务崩溃。
我们知道,超长帧(超过1518字节)有封闭网络的作用,主要是引起网络速度变慢或网络瘫痪,而短帧(小余64字节)达到一定流量则会对网络设备的工作协议造成一定程度的破坏,引起设备死机,一般在网络中是不容许大量出现的。小包同样存在这样的问题。由于开始Flex5010下挂少量用户交换机,这个时候网络中短帧虽然存在,但是交换机cpu还有能力处理,一旦超过交换机的负荷(增加下挂用户交换机),网络中存在大量冲击波病毒向外发包(发送目的地址并不存在的arp请求,交换机得到请求之后,不断去寻找目的地址,但是实际上不能转发该报文),当所有的下挂用户电脑中的冲击波同时并发时,交换机这个时候就处理不过来;又因为是小包,故网络带宽并不大。
措施:ACL访问控制,关闭病毒端口
针对上述分析,在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再也不会时通时断了。在下班时刻(此时几乎没有什么用户在上网)查看设备端口:
Harbour(config)#sh po 9 st
---------------------------------------------------------------------------
Port:9 's Statistics Information
Tx good frames : 0 Tx total frames : 0
Tx multicast frames: 0 Tx broadcast frames: 0
Rx good frames : 328 Rx total frames : 328
Rx multicast frames: 61 Rx broadcast frames: 185
CRC error frames : 0 Oversize frames : 0
Fragments : 0 Jabber : 0
Dropped frames : 0 Undersize frames : 0
Collision : 0 Late collision : 0
Last 5 minutes ucast input rate 0 packets/sec
Last 5 minutes ucast output rate 0 packets/sec
Last 5 minutes mcast input rate 0 packets/sec
Last 5 minutes mcast output rate 0 packets/sec
Last 5 minutes bcast input rate 0 packets/sec
Last 5 minutes bcast output rate 0 packets/sec
Last 5 minutes input rate 15 bits/sec
Last 5 minutes output rate 0 bits/sec
Harbour(config)#
此时网络中仍有冲击波病毒:交换机端口9收到了328个数据包,因交换机启用了acl,对比后认为是病毒并丢弃,结果交换机全部丢弃,传输了0个数据包。第二天通知当地给电脑打好补丁并及时查杀病毒,网络恢复正常运行。
后记:网络故障诊断以网络原理、网络配置和网络运行的知识为基础。从故障现象出发,以网络诊断工具为手段获取诊断信息,确定网络故障点,查找问题的根源,排除故障,恢复网络正常运行。
解决网络病毒引起的网络突发故障,需要综合利用各种网管工具。营造一个安全顺畅的网络环境,需要用户端电脑及时打好操作系统补丁,更新杀毒软件病毒库;需要我们网管在交换机、路由器设备上及时做好针对各种病毒、木马的acl,过滤一些有害的端口,保障网络的稳定运行。