将DHCP服务器部署进行到底(1)


网络中有些重要的服务组件很容易被遗忘,因为它们始终如一地完成着自己的工作,并且从来不那么引人注目。只有当它们出现问题时,这些“老黄牛”的真正价值才体现出来,人们也才开始加以关注。动态主机配置协议Dynamic Host Configuration Protocol,DHCP)与Windows Internet 名称服务Windows Internet Name Service,WINS)就是它们中的代表。它们常常被扔在角落里,委屈地工作在老旧服务器上。虽然它们看起来不如活动目录技术那样风光,但其功能在网络环境中确实很重要的,应该为它们的规划和配置做大量的筹划工作。

案例一:DHCP怪异现象

动态主机配置协议Dynamic Host Configuration Protocol,DHCP)是一种保障网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。在 IP 网络中,由于每个连接设备都需要分配唯一的 IP 地址,所以DHCP 部署使网络管理员能从中心结点监控和分配 IP 地址,DHCP可以确保当某台计算机移到网络中的其它位置时,也能自动收到新的 IP 地址。但是,虽然DHCP看起来很“美”,实现起来也很简单,可是在配置应用的时候还是会出现各种问题。有一次我进行DHCP服务器迁移工作,发现DHCP服务器已经关闭了,但一些采用自动获取IP地址的客户端仍然能够在启动后获得IP地址。

要搞清原因就只能根据客户端获取IP的过程逐步分析了。DHCP服务器向DHCP客户端提供IP地址的时间一般都有一个期限,一旦这个时间结束了,DHCP服务器便会收回出租的IP地址。如果DHCP客户端要延长其IP租约,则必须重新或者延长其IP租约的时间期限。DHCP客户端启动时和IP租约期限过一半时,DHCP客户端都会自动向DHCP服务器发送更新其IP租约的信息。至于IP的租约期限却是非常讲究的,并非如我们租房子那样简单。DHCP客户端除了在开机的时候发出DHCPREQUEST请求之外,在租约期限一半的时候也会发出DHCPREQUEST。如果此时得不到DHCP服务器的确认的话,工作站还可以继续使用该IP。然后在剩下的租约期限再到一半的时候即租约的75%),如果还得不到确认的话,那么工作站就不能拥有这个IP了。要是你想退租,可以随时送出DHCPRELEASE命令解约,就算你的租约在前一秒钟才获得的。

为什么网络中的DHCP服务器已经关闭了,而客户端还能延续之前的IP地址呢?我们看一下DHCP客户端重新启动后发生的事情。它将尝试更新上次关机时拥有的IP租用,如果更新未能成功,客户端将尝试联系现有IP租用中已经包含的缺省网关Default gateway),比如上次获得Default gateway是192.168.1.254,如果此时客户端能够成功地联系到这个设备,客户端则认为自己仍然位于与它获得现有IP租用时相同的子网上没有被移走),继续使用现有IP地址。 如果未能与缺省网关联系成功,客户端则认为自己已经被移到不同的子网上,将会开始新一轮的IP租用过程。因为我关闭了DHCP服务器,并没有关闭网关设备,客户端能够联系到网关,所以它沿用了之前获取的IP参数,也就出现了上文提到的奇怪现象。

案例二:IP冲突检测

有一家小公司刚成立的阶段,副总经理把自己家里的宽带路由器拿来充公。最初只有5个客户端需要连接Internet时,这台路由器以其良好的性能得到了大家的一致称赞。随着员工的增加,为了方便其他用户的使用,公司启用了宽带路由器提供的DHCP服务,担当DHCP服务器功能。

冲突原因分析

然而,麻烦也随之到来,客户端常常出现IP地址冲突现象。由于客户端使用自动获取IP地址的配置方案,启动较慢。几个略懂技术的员工手工配置了路由器中DHCP已经分配的IP,常常使得IP地址与其他用户冲突,导致公司经常上演“抓鬼”闹剧。

根据IP地址分类特征分析,这家企业选择基于专用网络 ID 192.168.0.0分配IP地址的方案,这种方案提供在每个网段上最多254台计算机的容量,足够满足公司所有客户端的需求了。在原有DHCP分配IP地址范围合理的情况下,为什么会出现IP地址冲突的问题呢?这是因为一般家用路由器说明书中都会提到将路由器本身的IP192.168.0.1)排除掉,在没有人手工配置自己的IP地址前,如果都使用路由器提供的192.168.0.x网段,自动获得IP地址,冲突现象基本不会发生。

但公司中一些学过计算机专业的新员工非常个性化,他们知道设置固定的网络参数IP地址和DNS服务器)比自动获取方式电脑启动得更快一些。在上面那个例子中,如果有10个用户采用固定网络参数,假设他们占用了192.168.0.2~192.168.0.11这10个IP地址。如果固定IP设置为192.168.0.5的那个用户主机一段时间没有开机,有另外一个用户使用DHCP获取网络参数方式开机了。DHCP服务器看到目前192.168.0.5是空闲地址,就会把这个IP地址分配给这个用户。此时,如果原来的用户再上线,由于这个IP地址已经被占用了,这就会造成IP地址冲突。而一些固定IP地址的主机,如财务人员的主机,都可能会出现IP地址冲突的提示。


表1 VLAN与IP地址分配


相关内容