[故障现象]
动态主机分配协议(DHCP)是一个简化主机IP地址分配管理的TCP/IP标准协议。用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作(如DNS、WINS、Gateway的设置)。
因此,使用DHCP服务器可以在一定程度上减少网络管理员的工作量,并且能够方便管理员对网络进行管理。不过,由于DHCP服务属于Windows 2000 Server的自带组件,用户可以很方便地将该服务添加并启动。所以,经常会有一些对网络不熟悉的用户擅自将自己的计算机设置成DHCP服务器,从而影响其他网络客户机IP地址的正常获得。下面就以一个实例,介绍网络中其他DHCP服务器干扰IP地址分配问题的解决过程。
笔者所在公司使用一台Windows 2000 DHCP服务器为公司局域网内部的用户分配IP地址,由于公司内部计算机比较多,因此采用网络位为172.16.0.0的B类私有地址作为内部网络的IP地址,并且根据需要,在公司支持三层交换的主交换机上,将整个内部网络分割成15个子网,其中DHCP服务器所在的子网为172.16.2.0(公司所以内部服务器都在这个子网中)。
为了能够使其他的子网正常获得IP地址,还在主交换机中将DHCP协议转发功能打开,经过上述设置,网络中的客户机的IP地址获得一直正常。可是,一天早晨上班以后,陆续接到一些公司网络用户的投诉电话,反映无法接入Internet,并且有的用户还反映,在“网上邻居”中只能看到个别的计算机,其他大量计算机无法进行访问。
诊断过程
得到这一消息后,笔者分析既然不是一台计算机出现问题,那么就不太可能是因为客户机的设置问题造成的故障。另外,由于发生问题的计算机都集中在一个子网内。因此,该故障极有可能是因为网络设备或IP地址故障引起的,得出这一结论后,笔者就打开HP Open View网络管理软件查看。
通过检查,发现该子网所地应的部门交换机和主交换机的连接端口都处于激活状态,并且可以正常ping到。为了保险起见,重新启动该部门的交换机。完成启动后,询问出现问题的用户,告知问题依旧。由于交换机多个端口同时出现故障的情况基本上是不可能发生的,因此,可以初步排除该问题是因为网络设备故障造成的。
于是,笔者赶到出现问题计算机的现场查看,并在故障计算机上的DOS窗口中,输入IPconfig命令,查看该计算机的IP地址信息,发现所有问题计算机的IP地址均为192.168.2.0网络位的C类私有地址,由于Windows系统未找到DHCP服务器时,系统将分配给一个192.254.*.*的IP地址给当前计算机,而不是目前的192.168.*.*的IP地址。
因此,出现这种故障,应该是网络中存在其他DHCP服务器造成的,为了进一步验证笔者的判断,笔者为该计算机手工指定一个IP地址,发现该计算机完全可以连接到局域网中,并访问正常,从而证实了笔者的判断。
由于客户机通过这台未知的DHCP服务器获得了错误的IP地址,而该IP地址不被Internet上的代理服务认可,因此,客户机自然无法接入Internet.另外,由于有相当数量的计算机获得了同一网段的IP地址,因此它们之间可以通过“网上邻居”访问。
既然是局域网中存在其他的DHCP服务器,那么要解决当前网络故障,就只有将这台DHCP找出,并禁用其DHCP服务。于是笔者将问题计算机的IP地址设置为自动获得,再通过IPconfig/ALL命令,查看IP地址的详细信息,发现分配当前计算机IP地址的DHCP服务器的IP地址为192.168.2.1.从而可以断定就是这一计算机在捣乱。
为了进一步查找该计算机的相关信息,笔者使用查询计算机名和相关信息的软件——“追捕”,查询该计算机,发现该计算机的计算机名为BillGates(比尔盖茨?看来该计算机名是随便起的),并且工作组和域名也看不出什么有价值的信息。
既然通过该计算机的NetBIOS信息无法找到具体的计算机,于是,笔者转向查找该计算机的MAC地址。首先,笔者使用ping命令ping 192.168.2.1这台计算机。
然后,再在DOS窗口中,输入arp —a命令,便可查到192.168.2.1所对应的MAC地地址。接下来,使用超级终端程序,通过Console口登录到该子网所对应的部门交换机,在该交换机的IOS的特权模式下,输入Show fdbentry all mac<MAC Add.>(尖括号中为DHCP Server的MAC地址)查找该MAC地址所对应的交换机端口号。
这时交换机将把所对应的端口号列出来,通过该端口号,就可以找到具体的计算机了。
找到该计算机后,笔者将其上的DHCP服务停止,并通知每台故障客户机,重新获得一遍IP地址。当计算机获得IP地址后,发现所有的IP地址均获得正确,并可以正常访问公司的局域网络,至此故障解决。
排除心得
使用IP地址解析MAC地址,然后再从交换机的MAC地址列表中定位该MAC地址对应交换机端口的端口号,从而找出特定IP地址客户机的具体位置,是局域网络管理中查找“恶意”主机(影响或破坏网络中其他计算机正常运行的计算机)的基本方法之一,通过这种方法可以很方便地查找或定位某一台计算机的具体位置,从而能够及时将该计算机上的问题清除。
另外,后来翻看DHCP的技术文章得知,Windows 2000的DHCP可以设置授权功能,通过DHCP授权,可以使客户机在登录时采用网络有限广播的形式来查找DHCP服务器,这样就能有效地阻止未授权DHCP服务器加入到已存在Windows2000 DHCP服务器的网络中。笔者在设置授权后,就再也没有发生过网络中其他DHCP服务器干扰IP地址分配的现象。