- DHCP客户端网络上部署有DHCP中继代理,并且配置为转发DHCP消息到DHCP服务器;
- 两个网络间的路由器兼容RFC 1542(支持BOOTP/DHCP转发)。
- 当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动计算机、启用网络适配器或者连接到网络时);
- DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;
- DHCP客户端释放已有租约并请求新的租约。
- 客户端MAC地址;
- DHCP服务器提供的客户端IP地址;
- DHCP服务器的IP地址;
- DHCP服务器提供的客户端子网掩码;
- 其他作用域选项,例如DNS服务器、网关、WINS服务器等;
- 租约期限等。
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地址租约,然后重新发起DHCPDISCOVER进程。此时,在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服务器发起DHCPREQUEST请求对租约进行更新,如果DHCP服务器接受此请求则回复DHCP ACK消息,包含更新后的租约期限;如果DHCP服务器不接受DCHP客户端的租约更新请求(例如此IP已经从作用域中去除),则向DHCP客户端位于回复DHCPNACK消息,此时DHCP客户端立即发起DHCP DISCOVER进程以寻求IP地址。如果DHCP客户端没有从DHCP服务器得到任何回复,则继续使用此IP地址直到到达T2定义的时间限制。此时,DHCP客户端再次向提供租约的原始DHCP服务器发起DHCPREQUEST请求对租约进行更新,如果仍然没有得到DHCP服务器的回复则发起DHCP DISCOVER进程以寻求IP地址。在Windows 2000中微软官方说明到达T2时间限制时如果DHCP客户端仍然无法从DHCP服务器获得有效回复,则立即发起DHCPDISCOVER进程以寻求IP地址,但是根据我在Windows Server 2003 SP1中的测试,如果到达T2时间限制时DHCP客户端仍然无法从DHCP服务器获得有效回复,WindowsServer 2003 SP1仍然会使用此IP地址直到租约结束,可能微软对Windows Server 2003中的DHCP客户端行为进行了调整。 授权 在Windows 2000的活动目录中,引入了对DHCP服务器授权的概念:为了防止非法的DHCP服务器为客户端计算机提供不正确的IP地址配置,只有在活动目录中进行过授权的DHCP服务器才能提供服务。当属于活动目录的服务器上的DHCP服务器启动时,会在活动目录中查询已授权的DHCP服务器的IP地址,如果获得的列表中没有包含自己的IP地址,则此DHCP服务器停止工作,直到你对其进行授权为止。 授权的操作非常简单,你可以通过以下两种方式来对DHCP服务器进行授权,不过你需要具有EnterpriseAdmins权限: 1、在对应的DHCP服务器的管理控制台中右击服务器名然后选择授权; 2、在任何一台DHCP服务器的管理控制台中,右击DHCP,然后选择管理授权的服务器, 在弹出的管理授权的服务器对话框,点击授权,在弹出的授权DHCP服务器对话框中输入DHCP服务器的IP地址,然后点击确定;然后在确认授权对话框上点击确定即可。 需要注意的是,如果子网中同时具有属于域和不属于域的DHCP服务器,只有在属于域的DHCP服务器被授权启动后再启动不属于域的DHCP服务器时,不属于域的DHCP服务器才会停止服务;否则不属于域的DHCP服务器同样会正常工作。另外,授权机制只对Windows2000和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服务器全攻略 (2006-01-16 09:46) |
安装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客户端必须迁移到新作用域,例如重新规划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服务器获得的值;
- 保留选项,如果具有类别选项,则类别选项覆盖常规选项;
- 作用域选项,如果具有类别选项,则类别选项覆盖常规选项;
- 服务器选项,如果具有类别选项,则类别选项覆盖常规选项。
- 运行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记录。