DHCP服务器全攻略
WINDOWS SERVER 2003从入门到精通之配置DHCP服务器
DHCP(Dynamic Hoat Configure Protocol)动态主机配置协议简称,首先我们先了解DHCP服务器的作用所在.
当企业计算机数量较多时,例如BENET公司中有300台计算机,如果要使用静态IP地址,那么网络管理员的工作量可见而知,那么如何解决此类问题呢?那么就需要一台能够自动给客户机分配IP地址的服务器,这台服务器就是DHCP服务器啦,有人会认为DHCP只会为客户机分配IP地址和子网掩码,那你大错特错了,DHCP的作用是对客户机动态分配
1.TCP/IP信息
2.IP地址
3.子网掩码
4.默认网关
5.首选DNS服务器
…
目的是:
1.减小管理员的工作量
2.减小输入错误的可能
3.避免IP冲突
4.当网络更改IP地址段时,不需要重新配置每台计算机的IP
5.计算机移动不必重新配置IP
6.提高了IP地址的利用率
当了解了DHCP的作用后,我们再了解一下DHCP服务器和客户机的工作原理:
客户机想DHCP申请IP的步骤分为4个环节:
1.客户机想DHCP请求IP地址(DHCPCISCOVER)
2.服务器响应(DHCPOFFER)
3.客户机选择IP地址(DHCPREQUEST)
4.服务器确定租约(DHCPPACK)
但要记住这4个步骤不管是客户机还是服务器它们之间的通信都是以广播的形式来进行的
接下来我们再来了解IP租约更新:
客户机从DHCP申请的IP地址是有租约限制的,默认是8天到期,到期后要续租的,那么这两者之间如何进行IP的续租工作呢?
1.当DHCP客户机租期达50%时,重新更新租约,客户机发送DHCPRequest包
2.如果当DHCP客户机租期达50%时,没有联系上DHCP时,那么要等到当租约达到87.5%时,进入重新申请状态,客户机发送DHCPDiscover包
3.如果当租约达到87.5%时,还没有联系上DHCP,那么就会到期满后重新进行DHCP的申请过程.
4.客户端也可以使用ipconfig /release命令,客户机的TCP/IP通信联络停止,IP地址:0.0.0.0
子网掩码:0.0.0.0.服务器可以将释放的IP分配给其他客户机.
然后使用ipconfig /renew命令向DHCP服务器发送DHCPRequest包,如果DHCP服务器没有响应,客户机将继续使用当前的配置.
那么我们现在就开始配置DHCP服务器:
1.DHCP服务器的要求:
a)静态IP地址,子网掩码和其他的TCP/IP参数(192.168.7.1)
b)安装DHCP服务
c)使用活动目录服务授权DHCP服务器
d)建立作用域并激活
DHCP服务器提供给客户机的TCP/IP信息
a)必须:IP地址和子网掩码
b)可选:默认网关、DNS服务器
2.安装DHCP服务
3.授权DHCP服务器:
授权(AD中才有)是一种安全的预防措施,避免未经授权的DHCP服务器在网络中运行
4.配置作用域:
a)作用域是一段IP地址的范围
b)作用域必须在租给客户机IP地址之前创建
c)每个DHCP服务器中至少应有一个作用域 ,为一个网段分配IP地址
d)为多个网段分配IP地址,就需要创建多个作用域
创建作用域:
输入作用域名称:
配置DHCP分配的IP的网段:
输入DHCP排除分配的IP地址(可选):
租约时间:
是否要配置该作用域,选择"否",以后再去配置:
之后要激活作用域:
激活前作用域处于不活动状态,在作用域没有配置完整之前,可以防止客户机申请到不完整地TCP/IP信息.激活后,作用域前面的红色向下的箭头消失
5.配置服务器选项:
作用域选项:提供客户机一些可选项,例如:默认网关的IP地址,DNS服务器的IP地址,但只对本作用域的客户机有效.
例如:给本网段配置了默认网关地址192.168.1.1
配置客户端保留:
客户端保留可以确保客户机总是获得同一IP地址,新建保留-保留选项-仅对本台客户机生效(需要IP和MAC的绑定)
配置服务器选项:
如果多个作用域选项的配置一样,则只需配置一次服务器选项,对所有作用域的客户机有效
例如:所有网段客户机的DNS服务器为192.168.1.2
DHCP的类级别应用:
1.希望在所有的作用域中的操作系统是WINXP的客户端和WIN98的客户端从DHCP得到的配置不一样,如何去实现?
a)在所有WINXP客户端去创建类别
b)然后在DHCP服务器对该类进行相应的配置
配置类级别:
如何实现类级别?
1.在所有WINXP客户端去创建类别
2.然后在DHCP服务器对该类进行相应的配置
在客户端创建类级别名称为"WINXP":
创建好了使用IPCONFIG/ALL命令查看:
配置好以上两步后,我们打开DHCP服务器做以下配置:
创建"定义用户类别":
选择添加:
创建类级别:
右键服务器选项,选择"配置选项":
使用"用户类别",可以看到刚创建的Windows xp类:
注意:在服务器选项、作用域选项和保留选项中都可以应用用户类别。
当用户类别和这些普通选项产生不一致时,以用户类别生效,换句话说就是,类级别优先级高。
好了,在最后我们来配置客户端,极其简单:
选择"自动获得IP地址"即可:
使用IPCONFIG/ALL命令来查看:
维护DHCP服务器:
在做完所有配置,为了防止DHCP服务器由于硬盘发生错误而导致数据库丢失的情况发生,需要备份DHCP数据库,备份可分为联机备份和脱机备份。
DHCP服务器的数据库默认情况下就会自动去做备份,当目前使用的数据库有一些问题,它会自动恢复数据库,但此操作仅限于服务器系统是正常运行的状态,也就是联机备份,联机备份文件存放到c:\windows\system32\dhcp\backup目录下,默认24小时系统自动进行一次联机备份,也可以使用手动进行备份。
备份和还原DHCP数据库
案例:将一台DHCP服务器(源服务器)的数据库移动到另一台DHCP服务器(目标服务器)上.
步骤:
1.在源服务器上备份DHCP数据库
2.停止DHCP服务器(这将防止该服务器在备份了数据库后向客户端指派新的地址租约)
3.禁用DHCP服务(防止DHCP服务器在数据库转移之后启动)
4.将备份文件夹从源服务器拷贝到目标服务器
5.在目标服务器上还原DHCP数据库
删除DHCP组件
注意:
如果有时连整个DHCP服务器都损坏了,此还原就不可用了,那么如何解决?
要使用手动对DHCP数据库进行脱机备份,使用NTBACKUP工具对c:\windows\system32\dhcp\backup文件夹对备份即可。
安装DHCP服务后会出现两个关于DHCP的组
DHCP Users group:具有查看DHCP权限
DHCP Administrators group:具有管理DHCP权限
具有授权DHCP服务器的权力给有Enterprise Admins(企业管理员组)成员才能实现
-------------------------------------------------------------------------------------------------------------------------------
DHCP(动态主机配置协议)是从BOOTP协议发展而来的用于自动分配客户端计算机IP地址的一种标准协议,在RFC 2131中进行定义。Windows服务器操作系统中,均包含DHCP服务器组件。
默认情况下,基于Windows系统的客户端计算机均配置为DHCP客户端(自动获取IP地址),你可以手动为其配置静态IP地址。如果客户端配置为DHCP客户端并且网络中存在DHCP服务器时,客户端计算机在启动时或者连接到网络时向DHCP服务器获取IP地址及其他相关信息,例如DNS服务器、网关、WINS服务器等等,DHCP服务器使用租约的形式将IP地址分配给客户端计算机使用。使用DHCP服务器,可以极大的降低在大中型网络中配置客户端计算机网络设置的管理成本,并且可以避免手动分配静态IP地址时产生的IP地址冲突问题。由于DHCP服务器需要固定的IP地址和DHCP客户端计算机进行通讯,所以DHCP服务器必须配置为使用静态IP地址。
DHCP工作方式
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,并且大部分DHCP协议通讯使用广播进行。如果在DHCP客户端和DHCP服务器不属于相同的网络,那么必须具备以下两个条件之一,才能让DHCP客户端和路由器正常进行通讯:
无论上述哪种方式,DHCP中继代理或兼容RFC 1542的路由器在转发DHCP客户端的租约请求时,都会修改转发的DHCP请求数据包中的Gateway字段,将其设置为自己接收到DHCP客户端租约请求的网络接口的IP地址,而DHCP服务器则使用此Gateway字段来决定分配IP地址租约的DHCP作用域。
DHCP客户端和DHCP服务器的这四次通讯分别代表不同的阶段,分别为:
1、DHCP DISCOVER
当DHCP客户端计算机处于以下三种情况之一时,触发DHCPDISCOVER广播消息:
此时,DHCP客户端发起DHCPDISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址255.255.255.255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址和计算机名,以便DHCP服务器进行区分。
如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCPDISCOVER广播消息。除了第一个DHCPDISCOVER广播消息外,DHCP客户端还会发出三个DHCPDISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,169.254.0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为255.255.0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端计算机进行通讯。你可以通过注册表中的DWORD键值IPAutoconfigurationEnabled来禁止客户端计算机使用APIPA地址进行自动配置,此键值位于
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
当其值设置为0时,则不使用APIPA地址进行自动配置。
在Windows XP和Windows Server 2003中,针对客户端计算机的TCP/IP选项中有一个备用配置选项,只有当客户端计算机配置为DHCP客户端(自动获取IP地址)时才有此备用配置。你可以通过备用配置来为DHCP客户端在无法联系DHCP服务器时为DHCP客户端指定静态IP地址,如下图所示:
如果没有配置APIPA地址和备用IP地址,则DHCP客户端会每隔5分钟再发送DHCPDISCOVER广播消息,直到从DHCP服务器获取IP地址为止。
2、DHCP OFFER
所有接收到DHCP客户端发送的DHCPDISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCPOFFER广播消息来应答发起DHCPDISCOVER广播的DHCP客户端,此消息包含以下内容:
因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCPOFFER消息,则DHCP客户端接受它接收到的第一个DHCPOFFER消息中的IP地址。
3、DHCP REQUEST
当DHCP客户端接受DHCP服务器的租约时,它将发起DHCPREQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。
在此DHCPREQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。
此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。
4、DHCP ACK
提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCPREQUEST广播消息后,会发送DHCPACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。
如果DHCP客户端的操作系统为Windows 2000及其后版本,当DHCP客户端接收到DHCPACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCPDECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。
租约续约
DHCP服务器将IP地址提供给DHCP客户端时,会包含租约的有效期,默认租约期限为8天(691200秒)。除了租约期限外,还具有两个时间值T1和T2,其中T1定义为租约期限的一半,默认情况下是四天(345600秒),而T2定义为租约期限的的7/8,默认情况下为7天(604800秒)。当到达T1定义的时间期限时,DHCP客户端会向提供租约的原始DHCP服务器发起DHCP REQUEST请求对租约进行更新,如果DHCP服务器接受此请求则回复DHCP ACK消息,包含更新后的租约期限;如果DHCP服务器不接受DCHP客户端的租约更新请求(例如此IP已经从作用域中去除),则向DHCP客户端位于回复DHCP NACK消息,此时DHCP客户端立即发起DHCP DISCOVER进程以寻求IP地址。如果DHCP客户端没有从DHCP服务器得到任何回复,则继续使用此IP地址直到到达T2定义的时间限制。此时,DHCP客户端再次向提供租约的原始DHCP服务器发起DHCP REQUEST请求对租约进行更新,如果仍然没有得到DHCP服务器的回复则发起DHCP DISCOVER进程以寻求IP地址。在Windows 2000中微软官方说明到达T2时间限制时如果DHCP客户端仍然无法从DHCP服务器获得有效回复,则立即发起DHCP DISCOVER进程以寻求IP地址,但是根据我在Windows Server 2003 SP1中的测试,如果到达T2时间限制时DHCP客户端仍然无法从DHCP服务器获得有效回复,Windows Server 2003 SP1仍然会使用此IP地址直到租约结束,可能微软对Windows Server 2003中的DHCP客户端行为进行了调整。
授权
在Windows 2000的活动目录中,引入了对DHCP服务器授权的概念:为了防止非法的DHCP服务器为客户端计算机提供不正确的IP地址配置,只有在活动目录中进行过授权的DHCP服务器才能提供服务。当属于活动目录的服务器上的DHCP服务器启动时,会在活动目录中查询已授权的DHCP服务器的IP地址,如果获得的列表中没有包含自己的IP地址,则此DHCP服务器停止工作,直到你对其进行授权为止。
授权的操作非常简单,你可以通过以下两种方式来对DHCP服务器进行授权,不过你需要具有Enterprise Admins权限:
1、在对应的DHCP服务器的管理控制台中右击服务器名然后选择授权;
2、在任何一台DHCP服务器的管理控制台中,右击DHCP,然后选择管理授权的服务器,
在弹出的管理授权的服务器对话框,点击授权,在弹出的授权DHCP服务器对话框中输入DHCP服务器的IP地址,然后点击确定;然后在确认授权对话框上点击确定即可。
需要注意的是,如果子网中同时具有属于域和不属于域的DHCP服务器,只有在属于域的DHCP服务器被授权启动后再启动不属于域的DHCP服务器时,不属于域的DHCP服务器才会停止服务;否则不属于域的DHCP服务器同样会正常工作。另外,授权机制只对Windows 2000和Windows Server 2003中提供的DHCP服务器有效,其他DHCP服务器不会受到授权的限制。
DHCP作用域
DHCP作用域是本地逻辑子网中可以使用的IP地址的集合,例如192.168.0.1~192.168.0.254。DHCP服务器只能使用作用域中定义的IP地址来分配给DHCP客户端,因此,你必须创建作用域才能让DHCP服务器分配IP地址给DHCP客户端。另外,DHCP服务器会根据接收到DHCP客户端租约请求的网络接口来决定哪个DHCP作用域为DHCP客户端分配IP地址租约,决定的方式如下:DHCP服务器将接收到租约请求的网络接口的主IP地址和DHCP作用域的子网掩码相与,如果得到的网络ID和DHCP作用域的网络ID一致则使用此DHCP作用域来为DHCP客户端分配IP地址租约,如果没有匹配的DHCP作用域则不对DHCP客户端的租约请求进行应答。这确保了DHCP服务器只是分配匹配自己接收到DHCP客户端租约请求的网络接口网络ID的IP地址租约给DHCP客户,从而DHCP客户可以直接和DHCP服务器进行通讯。例如DHCP服务器从自己的网络接口192.168.1.1/24接收到DHCP客户端的租约请求,如果DHCP服务器具有一个子网掩码为255.255.255.0、网络ID为192.168.1.0的DHCP作用域,则使用此作用域中的IP地址为DHCP客户端提供租约;如果没有匹配上述条件的DHCP作用域,则此DHCP服务器不应答DHCP客户端的租约请求。
唯一的例外是针对DHCP中继代理或兼容RFC 1542的路由器所转发的租约请求,当它们转发DHCP请求到DHCP服务器时,会修改转发的DHCP请求数据包中的Gateway字段为自己接收到DHCP客户端租约请求的网络接口的IP地址,而DHCP服务器则使用Gateway字段中的IP地址代替自己网络接口的IP地址和DHCP作用域的子网掩码相与,从而决定分配IP地址租约的DHCP作用域。
DHCP作用域定义的IP地址范围是连续的,并且每个子网只能有一个作用域。如果你想要使用单个子网内的不连续的IP地址范围,则必须先定义作用域,然后设置所需的排除范围。DHCP作用域中为DHCP客户端分配的IP地址必须没有被其他主机所占用,否则你必须对DHCP作用域设置排除选项,将已被其他主机使用的IP地址排除在此DHCP作用域之外。
在同个子网中使用多个DHCP服务器为DHCP客户端服务将具有更好的容错能力。在具有多个DHCP服务器的情况下,如果一个DHCP服务器不可用,那么其他DHCP服务器可以取代它为DHCP客户端提供IP地址租约。为了实现更好的实现容错和负载平衡,在规划DHCP作用域包含的IP地址时,通常采用“80/20”规则。“80/20”规则的含义是将作用域地址划分给两台DHCP服务器,其中服务器1包含所能提供的IP地址范围的80%,服务器2包含剩下的20%。当两台DHCP服务器互为彼此的逻辑子网采用80/20规则进行部署时,无论哪台DHCP服务器停止服务,由于另外一台DHCP服务器上还具有20%的逻辑子网IP地址,所以不会对相应逻辑子网中的DHCP客户端获取IP地址造成太大影响。
每一个作用域具有以下属性:
-
可以租用给DHCP客户端的IP地址范围;可在其中设置排除选项,设置为排除的IP地址将不分配给DHCP客户端使用;
-
子网掩码,用于确定给定IP地址的子网;此选项创建作用域后无法修改;
-
创建作用域时指定的名称;
-
租约期限值,分配给DHCP客户端;
-
DHCP作用域选项,如DNS服务器、路由器IP地址和WINS服务器地址等等;
-
保留(可选),用于确保某个确定MAC地址的DHCP客户端总是能从此DHCP服务器获得相同的IP地址。
安装DHCP服务器非常简单,在添加/删除Windows组件对话框中勾选网络服务中的动态主机配置协议(DHCP)即可。要创建一个DHCP作用域,执行以下步骤:
安装好DHCP服务器后,点击管理工具下的DHCP,在弹出的DHCP管理控制台中,右击DHCP服务器名,选择新建作用域,
在欢迎使用新建作用域向导页,点击下一步;
在作用域名页,输入作用域的名称和描述,然后点击下一步;
在新建作用域向导页,输入此作用域包含的IP地址范围和子网掩码,你输入的起止IP地址必须为有效的IP地址,然后点击下一步;此作用域的IP地址范围不等于可以分配给DHCP客户端的IP地址范围,可以分配给DHCP客户端的地址范围等于作用域IP地址范围减去排除的IP地址范围。在创建作用域后,还可以修改起止IP地址范围,但是不能再修改子网掩码长度。
在添加排除页,输入你想要从作用域IP地址范围中排除的IP地址范围,这些被排除的IP地址范围将不会分配给DHCP客户,输入后点击下一步;
在租约期限页,输入你想要设定的作用域租约期限。更短的租约期限有利于IP地址租约的回收,以便为其他客户服务,但是会导致网络中产生更多的DHCP流量。如果你的网络客户流动性较小,你可以设置相对较长的租约期限;如果网络客户流动性较强,则可以设置较短的租约期限。在此我接受默认的设置8天,点击下一步;
在配置DHCP选项页,选择是否需要现在配置DHCP作用域的几个基本选项(网关地址、DNS服务器、WINS服务器等)。如果不配置作用域,则向导不会自动激活此DHCP作用域,你必须在创建作用域后手动配置作用域选项和激活此作用域。在此我接受默认的选择是,点击下一步;
在路由器(默认网关)页,输入网关地址后点击添加,然后点击下一步;
在域名称和DNS服务器页,输入父域名称和DNS服务器的IP地址后,点击下一步;
在WINS服务器页,输入WINS服务器地址后点击添加,然后点击下一步;
在激活作用域页,如果你想现在就启用此作用域则选择是,我想现在激活此作用域,否则可以以后手动激活此作用域。在此我接受默认的激活此作用域,点击下一步;
在正在完成新建作用域向导页,点击完成,此时,新的作用域就创建好了,并且已经激活,可以为DHCP客户端提供服务了。
超级作用域
我们提到过DHCP服务器决定分配IP地址租约的DHCP作用域的选择条件,DHCP服务器不会使用不匹配网络接口主IP逻辑子网的DHCP作用域来为DHCP客户端的分配IP地址租约。而单个DHCP作用域只能包含一个固定的子网,如果网络中具有多个子网并且我想在DHCP服务器的某个网络接口上分配属于这些不同子网的IP地址租约,该怎么办呢?
答案就是超级作用域。超级作用域是由多个DHCP作用域组成的作用域,单个DHCP作用域只能包含一个固定的子网,而超级作用域可以包含多个DHCP作用域,从而包含多个子网。超级作用域主要用于解决以下问题:
-
当前单个DHCP作用域中的可用地址几乎耗尽,而且网络中将添加更多的计算机,需要添加额外的IP网络地址范围来扩展同一物理网段的地址空间;
-
DHCP客户端必须迁移到新作用域,例如重新规划IP网络编号,从现有的活动作用域中使用的地址范围迁移到使用另一IP网络地址范围的新作用域;
-
希望使用两个DHCP服务器在同一物理网段上管理分离的逻辑IP网络。
首选,在DHCP服务器中创建一个或多个DHCP作用域,然后右击DHCP服务器名,选择新建超级作用域,
在欢迎使用新建超级作用域向导页,点击下一步;
在超级作用域名页,输入超级作用域的名称,然后点击下一步;
在选择作用域页,选择添加到超级作用域的作用域,在可用作用域中列出了不属于其他超级作用域的DHCP作用域,你可以按照Ctrl键进行多选或者使用Shift键进行连续选择,然后点击下一步;
在正在完成新建超级作用域向导页,点击完成,此时,超级作用域就创建好了。
当创建好超级作用域后,你可以将其他不属于超级作用域的DHCP作用域添加到超级作用域中,如下图所示:
或者将作用域从超级作用域中删除,此删除操作仅将DHCP作用域从超级作用域中独立出来,而不是真正的删除。而删除超级作用域是将此超级作用域删除,它所包含的所有DHCP作用域都将独立出来。
DHCP服务器按照和使用标准DHCP作用域相同的方式来使用超级作用域为DHCP客户端分配IP地址租约,但是,当DHCP服务器接收到DHCP客户端发送的租约请求时,只要超级作用域中的一个DHCP作用域匹配接收到租约请求的网络接口的网络ID,那么DHCP服务器将使用这个超级作用域中的所有可用IP地址为DHCP客户端分配IP地址租约。DHCP服务器会优先使用超级作用域中匹配接收到租约请求的网络接口的网络ID的DHCP作用域来为DHCP客户端分配IP地址租约,如果此DHCP作用域中没有可用的IP地址,则使用超级作用域中其他具有可用IP地址的DHCP作用域,而不管此作用域的网络ID是否匹配接收到租约请求的网络接口的网络ID。
保留
通过使用保留,你可以为某个特定MAC地址的DHCP客户端保留一个特定的IP地址,此时保留的IP地址将不会用于为其他DHCP客户端进行分配。每次当此特定的DHCP客户端向此DHCP服务器获取IP地址时,此DHCP服务器总是会将保留的IP地址分配给它。
保留是一种DHCP服务器的行为,如果包含保留IP地址范围的作用域分布在多个DHCP服务器上,则必须在每个DHCP服务器上为此DHCP客户端创建保留。你可以为作用域地址范围中的任何IP地址创建保留,即使该IP地址属于排除范围,这种设计的目的在于保证执行“80/20”规则时保留仍能生效。
创建保留后,被保留的IP地址无法修改,但是可以修改特定客户端的其他信息,例如MAC地址和名称;你只能为一个特定的DHCP客户端创建一个保留的IP地址。如果要更改当前客户端的保留IP地址,则必须删除客户端现有的保留地址,然后添加新的保留地址。
保留只是为DHCP客户端计算机服务,在可能的情况下,应尽可能的考虑使用静态IP地址而不是使用保留。
要在某个DHCP作用域中创建保留,执行以下步骤:
在DHCP管理控制台中,展开对应的DHCP作用域,右击保留,选择新建保留,
在新建保留对话框,输入保留的名称、要进行保留的IP地址和特定DHCP客户端的MAC地址,然后点击添加即可。注意:保留的IP地址创建后无法修改。
你可以在地址租约中看到保留IP地址的活动情况,如下图所示:
分配选项
DHCP选项定义了除了IP地址和子网掩码外,DHCP服务器分配DHCP客户端的其他TCP/IP选项。网关地址、DNS服务器、WINS服务器等等只是常见的几种DHCP选项,在Windows的DHCP服务器中自带了70多种DHCP选项,除此之外,你还可以自定义分配给DHCP客户的DHCP选项。在DHCP服务器中,你可以在以下五个不同的级别管理DHCP选项:
-
预定义选项,配置方法为在DHCP服务器管理控制台中右击DHCP服务器名,然后选择设置预定义的选项。在这一级,你只能定义DHCP服务器中的DHCP选项,从而让它们可以作为可用选项显示在任何一个通过DHCP控制台提供的选项配置对话框(如“服务器选项”、“作用域选项”或“保留选项”)中。你可以根据需要将选项添加到标准选项预定义列表或从该列表中删除选项,但是预定义选项只是让DHCP选项可以进行配置,而是否配置则必须根据选项配置来决定。
-
类别选项,在使用任何选项配置对话框(“服务器选项”、“作用域选项”或“保留选项”)时,均可单击高级标签来配置和启用标识为指定用户或供应商类别的成员客户端的指派选项,只有那些标识自己属于此类别的DHCP客户端才能分配到你为此类别明确配置的选项,否则为其使用常规标签中的定义。类别选项比常规选项具有更高的优先权,可以覆盖相同级别选项(“服务器选项”、“作用域选项”或“保留选项”)中常规选项中指派和设置的值。
-
服务器选项,配置方法为在DHCP服务器管理控制台中展开DHCP服务器,右击服务器选项,选择配置选项。服务器选项中的配置将应用到DHCP服务器中的所有作用域和客户端,不过服务器选项可以被作用域选项或保留选项所覆盖。
-
作用域选项,配置方法为在DHCP服务器管理控制台中展开对应的DHCP作用域,右击作用域选项,选择配置选项。作用域选项中的配置应用到对应DHCP作用域中的所有DHCP客户端,不过作用域选项可以被保留选项所覆盖。
-
保留选项,配置方法为在DHCP服务器管理控制台中展开对应DHCP作用域中的保留,右击对应的保留项,选择配置选项。保留选项仅为作用域中使用保留地址配置的单个DHCP客户端而设置。
如果不同级别的DHCP选项出现冲突时,DHCP客户端应用DHCP选项的完整优先级顺序如下:
-
DHCP客户端的手动配置具有最高的优先级,覆盖从DHCP服务器获得的值;
-
保留选项,如果具有类别选项,则类别选项覆盖常规选项;
-
作用域选项,如果具有类别选项,则类别选项覆盖常规选项;
-
服务器选项,如果具有类别选项,则类别选项覆盖常规选项。
由于不同级别DHCP选项配置适用的范围和对象不同,在考虑部署DHCP选项时,请根据不同级别DHCP选项配置的特性来进行选择。
动态更新
当DHCP客户端从DHCP服务器获得IP地址租约时,DHCP服务器可以根据DHCP客户端的请求使用它所在区域中的授权DNS服务器对DHCP客户端信息进行动态更新。你可以在DHCP服务器属性和DHCP作用域属性中的DNS标签对DHCP服务器的动态更新行为进行配置,如果两者存在不同,DHCP作用域中的设置覆盖DHCP服务器中的设置。在创建DHCP作用域时,DHCP作用域的动态更新设置将继承DHCP服务器中的设置。
默认情况下DHCP服务器设置为只有在DHCP客户端请求时才为DHCP客户端动态更新DNS A记录和PTR记录,并且在租约到期时删除为DHCP客户端注册的A记录和PTR记录。如果你选择总是动态更新DNS A 和 PTR 记录,则不论DHCP客户端请求与否,DHCP服务器总是会为DHCP客户端动态更新DNS A记录和PTR记录。
在默认情况下,根据DHCP客户端操作系统的不同,DHCP服务器执行动态更新的行为也不同:
-
运行Windows 2000、Windows XP或Windows Server 2003操作系统的DHCP客户端在默认情况下会注册它自己的DNS A记录时,而只是请求DHCP服务器注册DNS PTR记录;
-
Windows 2000之前版本的DHCP客户端不支持DNS动态更新,因此默认情况下不会提出动态更新请求,DHCP服务器也不会进行动态更新操作。如果你勾选为不请求更新的DHCP客户端(例如,运行 Windows NT 4.0 的客户端)动态更新 DNS A 和 PTR 记录,则DHCP服务器会为低版本DHCP客户端代为更新DNS A记录和PTR记录。
在DNS服务器全攻略之一 :规划和部署一文中我们谈到了DHCP服务器计算机账户需要加入
DnsUpdateProxy安全组才能避免在进行安全更新时对资源记录留下所有者信息,从而允许其他用户修改此资源记录。默认情况下DHCP服务器使用计算机账户来进行安全更新,在Windows Server 2003的DHCP服务器中,提供了一个设置DHCP动态更新注册凭据的选项,通过此选项,你可以配置DHCP服务器使用专用的用户账户执行DNS动态更新。一个专用用户帐户可以被多个DHCP服务器使用,此账户应属于管理被更新的区域的主DNS服务器所存在的森林中。另外需要注意的是,备份DHCP数据库时,不会对专用用户账户凭据进行备份,因此你还原DHCP数据库后,必须为专用账户重新进行配置。
执行以下步骤配置动态更新的专用账户:
1、在DHCP服务器管理控制台中,右击DHCP服务器名,选择属性,然后点击高级标签,点击凭据按钮;
2、在弹出的DNS 动态更新凭据对话框,输入用户名、域名和对应的密码,然后点击确定;最后在DHCP服务器属性对话框上点击确定即可。
冲突检测
我们在前面的DHCP工作方式的DHCP ACK部分中曾经提到,Windows 2000及其后版本的DHCP客户端接收到DHCP服务器发送的DHCP ACK广播消息后,会向网络发出三个针对DHCP服务器提供的IP地址的ARP解析请求以执行冲突检测,以确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突,但是Windows 2000之前的操作系统不支持DHCP会话中的冲突检测。
此时,可能你需要配置DHCP服务器执行冲突检测,以确认分配给DHCP客户端的IP地址没有已被其他主机使用。配置方式为在DHCP服务器管理控制台中,右击DHCP服务器名,选择属性,然后点击高级标签,在冲突检测次数栏输入你需要DHCP服务器进行冲突检测的次数,默认为0,即为不进行冲突检测。
DHCP服务器的冲突检测是在发出DHCP OFFER广播数据包之前,因此过多的检测次数会增加DHCP服务器应答DHCP客户端租约请求的时延。强烈建议你设置不超过三次的冲突检测次数。
下图是一个DHCP服务器和DHCP客户端同时启用冲突检测时的数据包捕获,其中上面2个ARP解析请求是DHCP服务器执行冲突检测,而下面3个ARP解析请求是DHCP客户端执行冲突检测。
创建超级作用域非常简单,步骤如下: