本章介绍了DHCP(DynamicHostConfigurationProtocol)服务器的安装和配置,利用DHCP服务通过动态DNS更新以减少DNS名字空间的管理以及客户端配置和作用域选项的问题。
DHCP通过根据请求在网上分发IP地址和其他的客户端配置信息以减少客户端机器的管理工作。通过DHCP将IP地址临时租借使用也提高了IP地址的利用率。DDNS更新允许DHCP服务器在DNS域区文件中添加实体,从而减少了DNS的管理工作。通过DHCP更新的DNS的方法在大规模的网络环境下工作得很好,一方面它减少了DNS管理员的人工干涉的数量,但更重要的是它减少了对客户端的访问并提供了移动性。对那些低级客户端尤其如此,因为这些客户端不像windows 2000 的客户端,它们常不能直接使用DDNS。
本章内容包括:
什么是DHCP:简要介绍了DHCP的历史及其能力。
安装DHCP服务器:介绍了在windows 2000 中建立DHCP的步骤。
配置DHCP服务器:描述如何定义作用域和设置选项值,选项包括允许租借,以及使用的限制。
配置客户端使用DHCP:简要地强调了一些客户端的事项,参见第14章以获得完整的客户端配置信息。
DHCP和BOOTP:介绍BOOTP和DHCP服务器是如何支持BOOTP客户端的。
到目前为止,建立DNS作为主机名到IP地址映射的数据库是相当直接的。网络中的主机被分配IP地址,然后与之相关的资源记录被输入正确的DNS域。这项工作对不能使用DDNS的低级客户端需要人工完成,而对可使用DDNS的windows 2000 客户端可在启动时自动完成。但能否有一种方法自动地处理IP地址?同时能否有一种方法可以自动地注册DNS资源记录?这就是DHCP在windows 2000 中能做的。当DHCP与DDNS联合使用时,将可以实现几乎是完全自动的客户端网络配置。
15.1什么是DHCP
动态主机配置规程DHCP是用来自动给客户机分配TCP/IP设置的。在机器启动时,使用DHCP的客户机向DHCP服务器请求一个IP地址和其他信息(诸如缺省的网关地址,或WINS服务器的地址)。IP地址从DHCP服务器的称为作用域的数据库中获得。服务器提供的IP地址是有一定的期限的,称为租用期。
使用了DHCP后,用户就不需要从管理员那里申请一个IP地址,也不用人工地配置有关的信息。自己进行TCP/IP设置一般会出现的问题包括重复使用IP地址、错误地键入信息使得网络无法连接,以及当主机移动到另一个子网时还要重新设置等。DHCP是为解决这些问题而设计的,并提供了客户端TCP/IP配置的自动化和集中管理。因为当不再需要IP地址时将把它返回作用域池中,所以能节约IP地址的数目。要比较全面地了解DHCP,应该知道什么情况下它适合和DNS一起使用,以及它和另一个分配IP地址的协议BOOTP的关系。
DHCP是在RFC2131和2132中定义的,这两个RFC文档是建立在更早的RFC1533,1534,1541和1542的基础上的,windows 2000 DHCP服务支持RFC2131和2132中指定的标准。应该指出在写作本书的时候,DHCP与DDNS的互操作仍处于IETF草案阶段(参见附录B)。草案阶段是成为RFC标准所需程序的一般先导步聚。windows 2000 DHCP服务器也支持非标准的用户类选项,该选项由客户端提供给DHCP服务器供其决定提供哪种特殊的处理。
IP租借要在客户端和DHCP服务器间进行四次交换才能完成。当客户端收到租借的IP地址及相关的选项信息以后,就受到租借期的约束。在租借期过期以前,客户端联系DHCP服务器请求续借。如果一个客户端对某个IP的租借被拒绝,它必须停止对该IP的所有使用然后获得另一个。可以在DHCP服务器上配置IP保留以使一个客户端总是收到同一个IP,该能力在特定情况下有其优点,但也减少了由DHCP的使用所带来的管理工作的简化。
15.2DHCP可以向客户端提供的服务
DHCP不只是用于向客户端提供IP地址。当一个客户端收到一个IP地址时,它很可能也收到了一些称作选项的配置参数。而且,不是所有的IP地址都是平等的。除了一般的A,B或C类IP地址,windows 2000 DHCP也可以通过后面将讲到的相同的作用域定义向客户端提供多播IP地址(D类)。
在windows 2000 中,DDNS是完全集成的并完全基于标准,DHCP服务可被配置为使用与RFC兼容的DNS更新消息。更早的时候微软使用WINS和DNS的集成的解决方案提供了DDNS的一些功能,但它是一个专有的实现,只在没有DDNS可用的时候提供代替。旧版本的BIND提供一系列供管理员控制域区操纵的API,但是新版本的BIND提供对DNS动态更新消息的基于标准的实现,可以同windows 2000 DHCP集成。
windows DHCP服务器可被配置成注册有关客户端的A记录和PTR记录的组合,或者两者都不。一般的设置是让客户端注册A记录,DHCP将注册PTR记录。通过这种方法,客户端获得了完整的TCP/IP网络支持,并且可在DNS名字空间被解析。在DNS名字空间被解析的能力以前只能通过非标准的WINS和DNS集成才能实现。DHCP服务器可以察觉出请求不是来自于windows 2000 客户端并使用该信息决定在DNS中注册什么。对于低级的和完全不同的客户端,DHCP服务器可被配置成同时注册A和PTR记录。
要提供完整的客户端配置,DHCP作用域被配置为在租借期提供选项。完全的标准选项参见RFC2132。表15-1列出了一些在windows 环境中广泛使用的选项以及一些其他的(比如47号选项),虽不常用但只能在windows 环境中使用的选项。
15.3DHCP是如何配置客户端的
DHCP通过4个阶段配置一台DHCP客户机。如果客户机是多重地址的,则应对每块适配器执行这个设置过程,并使每块适配器有一个唯一的IP地址。该过程如图15-1所示,该过程有时按所使用的消息名称为DORA过程。
15.3.1发现
第一阶段,客户机初始化一定版本的TCP/IP,广播请求一个IP地址。这个阶段称为IP租用请求阶段或发现阶段。因为使用了广播,在客户端和DHCP服务器之间的路由器必须被配置为向前传递BOOTP/DHCP报文,或者有一个DHCP中继代理存在于客户端所在的网段。作为替代,在有DHCP客户端的网段必须有一个DHCP服务器。该广播消息包括发出请求的客户端的硬件MAC地址,甚至还有一个记录原始IP地址的字段。当使用中继代理传送广播报文时,该源IP从0.0.0.0变成收到广播报文的BOOTP或DHCP中继代理的接口的IP地址。
15.3.2提供
第二阶段,所有收到请求的DHCP服务器(一台或多台)广播应答。广播应答的内容包括请求者的硬件地址,提供的一个IP地址、子网掩码、租用期的长度,以及提供地址的服务器的IP地址。这个阶段称为IP租用的提供阶段。为了减少提供的数目同时保证冗余,该中间路由器应被配置为只把发现广播报文向前发送到至多两个IP地址。也可能没有DHCP服务器提供租借。windows 2000 客户端可以被配置为过度失败,即在进行了足够多不成功的租借尝试后进入自动配置IP。
15.3.3请求
第三阶段,客户机接受收到的第一个IP地址,并广播它已收到地址。这就使得提供地址的服务器知道此过程可以结束了,而其他服务器可以收回所提供的地址。这个阶段称为IP地址选择阶段。后一部分即通知可能存在的其他DHCP服务器就是客户端广播该回答的原因。这个阶段称为请求阶段,或者IP租用选择阶段。
15.3.4应答
第四阶段,提供地址并被接受的DHCP服务器向客户机广播一次应答信息。这个应答信息包括有效的IP地址,以及服务器提供的其他配置信息。这个阶段称为IP租用应答阶段。
因为DHCP客户端可以发出特定的请求,比如特定的IP地址,所以DHCP服务器可能会拒绝消息(DCHPAck)响应。当发生这种情况时,由客户端决定怎么办。通常客户端将重新开始请求地址的过程,但可能会随机选择一个IP地址而不是一个特定的IP地址,windows 2000 中的客户端就是如此。
15.3.5更新租用
在DHCP客户机租用IP地址后,每过二分之一租用期,客户机就向服务器申请更新租用。缺省的租用期是8天,在这种情况下,经过四天,客户机就向服务器发送申请更新的信息。如果客户机的IP地址仍然有效,服务器就响应一个应答及更新信息。这个信息类似于初始配置过程的第三和第四阶段的信息。但是该信息是直接到达而非广播。当尝试更新一租借时,称该客户端处于更新状态。如果客户端不能刷新一次租借,则在租借期只剩八分之一时客户端将开始尝试从任何响应的DHCP服务器获得对当前IP的更新。此时称客户端处于重新绑定阶段。如果租借期超时了,又没有成功的更新,客户端将停止使用该IP并重新启动一个四阶段的过程以获得一个新IP租借。
因为一些原因,租借期可以从windows 2000 中缺省的八天作改变,原因可能是高度易变的客户端或极少改变的客户端,或是机器数与IP地址数的比例。据说缺省值定为八天是因为它符合以周为单位的缺席。当调整租借期时,也要考虑对DDNS注册的影响,尤其是SOA记录的缺省TTL值和DNS服务器的清理调协,如果DNS域同活动目录集成的话还要考虑对活动目录波动的影响。
(未完待续)