局域网中IP地址冲突原因分析

我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯 。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来 。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“假如网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁 。

分析原因

出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性 。分析原因有如下几种情况可以造成IP地址冲突 。

1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从治理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、治理员或用户根据治理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址 。

解决方法

接到冲突报告后,我们首先确定冲突发生的VLAN 。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段 。这对成功地找到网卡MAC地址很要害,因为有些网络命令不能跨网段存取 。
首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了 。应用网络测试命令有ping命令和arp命令 。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果 。

C:WIDOWS〉ping 10.119.40.40
Request timed out
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略

我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由 。

C:WIDOWS〉arp -a
Interface: ...... on Inerface ......
Internet Address/Physical Address/Type
10.119.40.40/00-00-21-34-63-56/ dynamic 以下略

以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56 。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置 。

网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口 。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置 。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法 。

在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息 。

* 在网管员的机器上启动浏览器
* 键入交换机的IP地址
* 提示登陆信息后输入用户名和密码
* 进入“MAC Address Table”选项
显示表格如下:
index/mac address/learned on port/learning method/filter packets to this address
1 00:00:21:34:63:56 13 dynamic no
2 00:00:81:65:c3:a0 n/a static no
3 00:00:a2:f7:c3:e4 25 dynamic no
4 00:00:21:34:63:56 2dynamic no
以下略 。

此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2 。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置 。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情 。

推荐阅读