章第DHCP服务器的安装与配置上一章介绍了DNS服务器的有关知识及安装、配置方法。本章接着向大家介绍另一个重要服务器——DHCP服务器的有关知识和安装、配置方法。虽然DHCP服务器不像DNS服务器那样必不可少,但它在大中型企业网络中同样非常重要。它担负的是自动为网络中的客户端计算机分配临时IP地址的责任。这样一方面可以节省有限的IP地址资源;另一方面也大大减轻了网络管理员的网络配置负担。与DNS服务器一样,大家都认为非常简单,只需随域控制器的安装而安装即可,最基本的DHCP服务器甚至不用任何额外配置。其实这也只是在小型网络中才这样部署,在一些较复杂的大中型网络中,DHCP服务器网络的部署同样会涉及到许多比较复杂的技术,如作用域、超级作用域、多播作用域、中继路由等。除了作用域以外,其他的在小型网络中基本上都无须配置,所以许多读者对这几个概念根本不了解,更别说配置了。还有DHCP与DNS服务器集成、DHCP的安全考虑等也是大家很少注意到的。本章首先着重向大家介绍在应用最广的WindowsServer2003系统中与DHCP服务器有关的知识,然后在此基础上主要以大中型网络为例,介绍各种DHCP服务器属性的具体配置方法和DHCP服务的应用原理和配置方法。同时还将介绍一些典型的DHCP服务故障排除方法。本章重点¾DHCP网络规划¾DHCP服务器的全新安装与配置¾作用域、超级作用域、多播作用域的概念及创建¾DHCP中继代理的配置及配置方法¾DHCP与DNS的集成原理和配置方法¾DHCP服务器选项及配置方法¾DHCP的安全考虑及配置方法¾常见DHCP服务故障排除方法8.1DHCP服务器基础动态主机配置协议(DHCP)是一种用于简化主机IP配置管理的IP标准。通过采用DHCP标准,可以使用DHCP服务器为网络上启用了DHCP的客户端管理动态IP地址分配和其他相关配置细节,而不用管理员对各客户端主机一一配置,减轻了许多管理任务。8.1.1DHCP简介TCP/IP网络上的每台计算机都必须有惟一的IP地址。IP地址(及与之相关的子网掩码)用来标识主机及其连接的子网,在将计算机移动到不同的子网时,必须更改IP地址。DHCP允许通过本地网络上的DHCP服务器IP地址数据库为客户端动态指派IP地址。对于基于TCP/IP的网络,DHCP降低了重新配置计算机的难度,减少了涉及的管理工作量。WindowsServer2003家族提供了一种符合RFC的DHCP服务,该服务可用于管理网络上的IP客户端配置及自动完成IP地址指派。DHCP使用客户/服务器(C/S)模型。网络管理员建立一个或多个维护TCP/IP配置信息并将其提供给客户端的DHCP服务器。DHCP服务器数据库包含以下信息。z网络上所有客户端的有效配置参数。z在指派到客户端的地址池中维护的有效IP地址,以及用于手动指派的保留地址。z服务器提供的租约持续时间。租约定义了指派的IP地址可以使用的时间长度。通过在网络上安装和配置DHCP服务器,启用DHCP的客户端可在每次启动并加入网络时动态地获得其IP地址和相关配置参数。DHCP服务器以地址租约的形式将该配置提供给发出请求的客户端。DHCP的工作原理图如图8-1所示。图8-1DHCP工作原理图DHCP服务为管理基于TCP/IP的网络提供了以下好处。(1)提供了安全而可靠的配置。DHCP避免了由于需要手动在每个计算机上键入值而引起的配置错误。DHCP还有助于防止由于在网络上配置新的计算机时重用以前指派的IP地址而引起的地址冲突。(2)减少了配置管理。使用DHCP服务器可以大大降低用于配置和重新配置网上计算机的时间。可以配置服务器以便在指派地址租约时提供其他配置值的全部范围。这些值是使用DHCP选项指派的。另外,DHCP租约续订过程还有助于确保客户端计算机配置需要经常更新的情况(如使用移动或便携式计算机频繁更改位置的用户),通过客户端计算机直接与DHCP服务器通信可以高效、自动地进行这些更改。356第8章DHCP服务器的安装与配置8.1.2使用DHCP服务的必要性之所以要使用DHCP服务来为客户端自动分配IP地址,其主要作用有两个方面:z简化网络配置采用DHCP自动分配IP地址后,管理员就无需为每一个客户手动配置IP地址,减轻了网络管理员的负担。这在网络规模稍大的网络中感受特别明显。z提高IP地址的利用率前面介绍到了,DHCP客户端在断开网络连接后,可以释放原来使用的IP地址,继续分配给其他用户使用。这对于网络IP地址资源紧缺的网络环境中特别有用。如一个公司使用了标准的C类局域网网段192.168.0.0,可能实际网络用户数要稍大于这样一个C类网段所能承受的用户数(254个),但其中可能有些部门员工通常会有较多用户不在公司上网,如果采用DHCP自动分配方式,就可以解决IP地址数不足的问题。以上当然是从局域网方面来考虑的,在互联网中,更是如此。Internet规划时,采用的是IPV4(IP第4版)的协议标准,即32bit的IP地址标准。Internet的迅猛发展使得IPV4当初的规划已经捉襟见肘。如果全世界所有能够上网的计算机同时连接Internet,IP地址资源早就不够使用了。尽管目前正在制订IPv6的新的IP协议标准(采用128bit来表示IP地址),但由于IPV4已经得到广泛的应用,因此IPv6的普及还需要时日。由于全世界所有能够连接Internet的计算机不可能同时在线,所以Internet上的ISP(InternetServicesProvider,Internet服务提供商)对普通的联网用户可以使用DHCP服务来分配动态的IP地址,以解决IP地址不足的问题。当然这不是唯一的方式,也不可能是彻底的方式,因为事实上还可能因为所分配的IP地址数太少,即使不是所有用户同时在线,仍可能会有用户分配不到IP地址而上不了网。解决IP地址不足的其他方式如重新划分子网方式,则是一种效率更高的方式,具体将在本系列的《网管员必读——超级网管经验谈》(第2版)一书中介绍。8.1.3IP地址自动分配技术我们知道,IP地址分配方式有两种:手动分配静态IP地址和本章介绍DHCP自动分配IP地址。而DHCP服务的提供是需要配置专门的DHCP服务器的。但事实上,我们在一些小型对等网中,经常发现,网络中并没有配置DHCP服务,也没有为客户端手动配置静态IP地址,而用ipconfig命令一查,仍可见到客户端有一个IP地址。这是为什么呢?这个IP地址又是从哪里来的呢?原来这就是微软Windows系统的一个IP地址自动分配技术在起作用了。Windows98或者WindowsXP这样的客户机,如果并没有设置IP地址,操作系统将自动给计算机分配一个B类的IP地址。默认分配的IP地址网段是“自动专用IP寻址(APIPA)”。APIPA将分配从169.254.0.1到169.254.255.254的IP地址和子网掩码255.255.0.0。APIPA不指派默认网关、域名系统(DNS)服务器或WindowsInternet名称服务(WINS)服务器。在客户机与网络连接时,在既没有分配静态IP地址,又无DHCP服务器的情况下,自动配置IP地址技术就会使客户机不停地向网络上发出“ping”信号以确定该IP地址是否正在使用。如果有别的计算机正在使用该地址,将重新选择一个新的地址,然后重新测试,直到配置一个可用的IP地址为止。DHCP客户机会在配置IP地址后,每隔5分钟检查一次DHCP服务器,看是否能够获得IP地址。所以网络中即使没有DHCP服务器,客户机也永远不会报告“没有设置IP地址”的错误。357这时可能就会有读者要问,既然Windows客户机自己就能够自动分配IP地址,而且还可以自行选择不冲突的IP地址,为什么还要DHCP服务器呢?这就得从这种自动IP地址分配技术本身来说起了。首先,这种IP地址自动分配技术所分配的IP地址范围是169.254.0.0开始的B类地址,而且是不可更改的,因此不一定满足需要。如在常见的192.168.0.0网段的局域网中,分配了这类地址的客户端就不可能与其他用户进行网络连接了,因为不在同一网段。另外,在这种IP地址自动分配技术,管理员无法对网络中的客户机IP地址进行监控,完全是Windows系统自发的行为。而DHCP服务则可以灵活地根据实际的网络环境配置不同的IP地址池。8.1.4DHCP与BOOTP协议的区别与联系bootstrap协议(BOOTP)是先于DHCP开发的主机配置协议,主要用于无盘工作站网络中。DHCP协议在BOOTP基础上进行了改进,并消除了BOOTP作为主机配置服务所具有的特殊限制。RFC951文档定义了BOOTP。1.BOOTP与DHCP相似性由于BOOTP和DHCP之间的关系,两个协议共享某些定义特征。公用元素包括:z每种格式结构都用于在服务器和端之间交换消息BOOTP和DHCP使用几乎相同的请求消息(由客户端发送)和回复消息(由服务器发送)。任何一种协议中的消息都使用576个字节的单个用户数据报协议(UDP)来封装每个协议消息。对于BOOTP和DHCP,消息头除以下一种情况外,其余的都相同:用于携带可选数据的昀终消息头字段。对于BOOTP,这个可选字段被称作“特定供应商区域”,并限制为64个八位字节。对于DHCP,该区域被称作“选项”字段,昀多可携带312个八位字节的DHCP选项信息。z使用众所周知的UDP端口进行客户端/服务器通信BOOTP和DHCP均使用相同的保留协议端口在服务器和客户端之间发送和接收消息。BOOTP和DHCP服务器均使用67号UDP端口来监听和接收客户端请求消息。BOOTP和DHCP客户端一般保留的68号UDP端口用于接受来自BOOTP服务器或DHCP服务器的消息回复。由于DHCP和BOOTP消息使用几乎相同的格式类型和数据包结构,并且一般使用众所周知的相同服务端口,因此BOOTP和DHCP中继代理程序通常将BOOTP和DHCP消息视为基本相同的消息类型,而不做区分。z作为配置服务的完整组成部分的IP地址分配虽然BOOTP和DHCP都在启动期间将IP地址分配给客户端,但是它们使用不同的分配方法。BOOTP通常为每个客户端提供单个IP地址的固定分配,在BOOTP服务器数据库中永久保留该地址。DHCP通常提供可用IP地址的动态、租用分配,在DHCP服务器数据库中暂时保留每个DHCP客户端地址。2.BOOTP/DHCP的差别BOOTP和DHCP的主机配置方式有明显的差别。表8-1对比了它们在功能上的差异。表8-1BOOTP和DHCP协议主机配置方式的区别BOOTPDHCPDHCP之前设计的。BOOTP之后设计的。358第8章DHCP服务器的安装与配置计划配置具有有限引导能力的无盘工作站。计划要配置经常重新分配,且具有本地硬盘驱动器和完全引导能力的联网计算机。动态BOOTP的IP地址租约默认为30天。DHCP的IP地址租约有默认为8天。支持被称为“供应商扩展”的有限数量的客户端配置参数。支持被称为“选项”的较大以及可扩展的客户端配置参数集。以下为双阶段bootstrap配置过程:z客户端联系BOOTP服务器以确定地址和选择引导文件名称。z客户端与日常文件传送协议(TFTP)服务器联系以进行其引导映像的文件传送。DHCP的单阶段引导配置过程:在这个过程中DHCP客户端与DHCP服务器协商来确定其IP地址并获得网络运行所需要的任何其他初始配置的详细信息。除了在系统重新启动时以外,BOOTP客户端不使用BOOTP服务器重新绑定或续订配置。DHCP客户端不需要重新启动系统来使用DHCP服务器重新绑定或续订配置。另外,客户端以设置的固定间隔进入重新绑定状态,以使用DHCP服务器来续订其租用地址分配。该过程在后台进行并且对用户是透明的。8.1.5DHCP术语为了正确理解DHCP服务工作的原理,以及后续的DHCP服务器配置,在此先简单了解与DHCP服务有关的术语,如表8-2所示。表8-2与DHCP服务有关的术语术语描述作用域作用域是网