电脑无法连入局域网是很常见的故障。你遇到过吗?看看这位仁兄遇到的经历吧,相信对你能有所帮助!
有一次,小王所在单位的大多数电脑突然无法与局域网连接了,怎么回事?小王连忙查看电脑的相关属性,发现能正常工作的电脑,无论是使用指定IP还是使用通过DHCP自动获取IP地址,都获得了正确的IP地址;而那些不能正常工作的电脑,是使用DHCP服务自动获得的IP地址,它们的IP地址是169.254开头的地址,这显然不对。正常工作的电脑应使用192开头的C类地址,而这些出问题的电脑用的却是B类地址。由于169与192打头的电脑不处在同一网段,又没有其他跨网段的手段,当然也就无法互通了。找到出问题的电脑,记下它的电脑名(例如DP)、目前获得的IP地址(例如192.168.0.42)备用。另找一台能正常上网的电脑,从这台电脑Ping刚刚我们记下的那个IP地址:ping 192.168.0.42,不通,再试着Ping那台电脑的电脑名:ping DP。
当然不会通,但是却发现了一个意外的情况——电脑名能够被解析成IP地址,但这个地址192.168.0.57显然不是我们刚刚记下的那个IP地址。这又是怎么回事?重启这些问题电脑——“别试了,如果重启管用还要网管干什么?”网管老李说。我晕……重启后果然故障依旧。
小王:“以前也出现过这种情况,但不像今天一下子坏了一大批。过了两天它自己就好了。”
老李:“一定是DHCP的某个环节出问题了!我们一起来分析一下!”
DHCP的工作机制
之前一文中,我们曾经介绍过DHCP的有关知识。DHCP(动态主机配置协议)是一种动态的机制,它允许客户机在启动引导时向DHCP服务器请求一个地址,并且由DHCP服务器集中管理记录了电脑名和IP地址对应关系的一个库。
DHCP服务器中有一个地址池,里面有多个可供分配的IP地址。每个IP地址被分配给某个客户机之后,DHCP服务器会记录下该客户机的电脑名与IP地址间的一个对应关系,并且指定一个时间间隔,它被称为租用周期。
租用周期通常是由网管设定的一个时间间隔,决定IP地址可以持续使用的时间。客户机在启动的过程中会发一个广播消息,相当于大喊了一声:谁是DHCP服务器呀?
DHCP服务器听到(收到这个广播消息)之后,就会给出应答:我能提供DHCP服务。由于此时客户机还没获得地址,DHCP也是以广播形式给出这个应答。如果网络里有多个DHCP服务器,客户机就会收到不止一个应答,客户机会从这些应答当中选一个。于是直接向DHCP服务器发一个请求:“嘿!你好,给我分配一个IP地址吧。”
DHCP服务器会在应答中给出客户机所需的配置信息,并确认IP地址的租赁期。客户机会把这次与DHCP会话所得的信息保存下来,以后在重启的过程中只需验证一下:“嘿!DHCP,我是DP,你还记得我吗?”DHCP答道:“当然,你还用上次的资料吧!”于是客户机DP就可以直接使用上一次保存在本地的信息了。
故障分析
为什么系统重启之后,客户机仍无法上网呢?这些客户机又为什么过几天自己就会好呢?
这与客户端信息的更新机制有关。客户机会把它从DHCP服务器得的IP地址和其他相关信息保存在本地硬盘里。这些信息里包括该IP地址的租赁周期。当过了租赁周期,客户机就必须更新该租用。很显然,由于重启后客户机仍认为拥有“最新”的数据,也就没去与DHCP好好沟通一下,导致了数据的不一致。
为什么某些电脑获得了形如169.254..之类的IP地址呢?
这说明这些电脑根本未能获得DHCP服务。如DHCP服务器太忙导致无法及时给客户机应答,使客户机认为网络里不存在DHCP服务器。这时,微软的操作系统会自动查找一个形如169.254.*.*的IP地址分配给客户机。
经检查,的确是DHCP服务器出问题所致。于是在DHCP地址池中删除那些不能上网的电脑的信息,释放这些地址资源,再重启DHCP服务器。重启完成之后通知各客户机用户,重启系统,故障排除!
当然,另一种解决办法就是给客户端分配固定的IP地址,在电脑数量较少的情况下,这个办法显得更好一些。