作为网络管理员,在工作过程中总是会遇到各种各样的问题,特别是在遇到一些比较陌生的网络的时候,比如我们为本市的某单位提供了光纤联网服务,虽然交换机设备不属于我们提供,但是由于最近该单位的网络频繁出现丢包问题,该单位的网管人员就给我们提供他们单位交换机的登录密码,希望我们协助他一起查找网络故障,下面我们就结合这次查找故障的过程,说明一定位网络故障节点的方法和技巧。
一、将交换机的故障日志作为第一手材料
判断网络故障的前提是对网络的拓扑结构有一个清晰的认识,但是在对一个相对陌生的网络进行故障排查时,对于网络的熟悉是一个渐近的过程,如果快速的发现问题,判断出故障点,查看交换机上面的日志信息是一个行之有效的方法。该单位组网主要使用了华为3500和H3C3100交换机,均支持日志查看功能,为我们快速定位故障原因提供了便利。登录到华为3500交换机,看到了大量如下所示的信息:
%Nov 11 07:50:10 2010 rcq_3526 SYSM/5/IP MOVE:Rcv src IP packet from port 3 but it's nexthop arp 219.*.*.72 with 000f-e23f-3180 resided in port 26
通过对以上信息的分析,我们大致可以得出结论,有一台IP地址为219.*.*.72的网络设备,在华为3500交换机的3端口上进行ARP地址欺骗攻击,下面我们要做就是判断这个IP地址位于哪个VLAN,进而进一步定位于这个IP地址位于交换机的哪个端口上,通过dis cu命令进行查找,出现了如下有用信息:
vlan 101
description link to *****
interface Vlan-interface101
description link to *****
ip address 219.*.*.65 255.255.255.240
通过交换机上显示的描述信息我们可以判断出这个IP地址是属于VLAN101的,而且描述信息也可以大致判断出这个VLAN是连接的单位信息,但是作为网络管理员我们也了解很多交换机上面的描述信息都是初始配置时写进去,很多情况下对于网络连接作了改动但是描述信息并没有及时做修改,因此下面我们需要做的就是验证IP地址与网关是否属于同一网段。该单位的网管已经告诉我们了,即他习惯将网络中最小的那个地址作为网关地址,按照这个规律看219.*.*.72与219.*.*.65在子网掩码为255.255.255.240的情况下,应该是属于一个网段的,但是为了把这个问题说清楚,我们还是详细介绍一下判断的方法。
二、充分理解并灵活应用IP地址、子网掩码与网关的关系
以上面的例子做一个说明,子网掩码为255.255.255.240,说明这个网段中的IP地址只有第4位是不同的,那么我们先将子网掩码中的248转化为二进制数:11110000,然后再分别将65与72转换为二进制数,再分别与子网掩码进行一次与运算,如下所示:
十进制数二进制数
6501000001
7201001000
24011110000
65与子网掩码的与运算结果01000000
72与子网掩码的与运算结果01000000
与显示的结果可以看出,65与72与子网掩码进行与运算后得到的结果是一样的,则就说明219.*.*.65与219.*.*.72是属于同一网段。IP地址、子网掩码、网关的知识是我们学习计算机网络知识都是学习的基础知训,但是熟练并灵活的应用却是我们判断网络故障必不可少的。如果不能正确通过子网掩码判断网络中的IP地址,就会出现将不属于这个网段的IP地址设置到相应的端口,从而造成网络不通的问题,好在在这个例子中并没有出现这个现象。
三、巧妙利用IP地址冲突查找故障网络所在的结点
再通过dis cu查看配置信息,我们发现端口3设置为TRUNK模式,该端口允许包括VLAN101的多个VLAN通过。如下所示:
interface Ethernet0/3
port link-type trunk
port trunk permit vlan 101 109
端口3下面连接一台H3C3100交换机,其中有多个端口是属于VLAN101的,但同时是因为描述信息不完善,我们一时无法知道哪个端口下面的网络设备地址是219.*.*.72。到放置H3C交换机的设备现场去进行排查是一个方案,但省时省力,我们就采取另外一种方法,即在上级华为3500交换机上面我们将一个空余的端口设置为属于VLAN101,将自己的笔记本电脑的IP地址设置219.*.*.72,这时马上会在“事件查看器”中看到IP地址冲突的提示。
这时我们再登录到H3C3100交换机上,将属于VLAN101的三个端口全部执行shutdown操作,然后再依次执行undo shutdown的操作,每执行一次undo shutdown的操作,将自己笔记本上的网线插拔一次,如果又出现了IP地址冲突的提示,则说明该端口所连接的网络中存在219.*.*.72这个IP地址,实际上我们非常幸运,在尝试第一个端口时就找到有故障的网络节点,将该网络端口重新置为shutdown的状态,其它两个端口置为undo shutdown的状态,再登录华为3500交换机,发现没有新的告警信息产生了,询问该交换机下面所联的各个单位,也都答复没有丢包的现象了。
这次网络故障的排除虽然经过一些波折,但最后都顺利的解决了,特别是在寻找产生故障的网络节点时,运用了设置IP地址冲突的方式,通过产生网络故障的方法来解决网络故障,这也算是一个对网络知识的活学活用吧。