- 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服务器的管理控制台中右击服务器名然后选择授权;
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服务器名,选择新建作用域, |
- 当前单个DHCP作用域中的可用地址几乎耗尽,而且网络中将添加更多的计算机,需要添加额外的IP网络地址范围来扩展同一物理网段的地址空间;
- DHCP客户端必须迁移到新作用域,例如重新规划IP网络编号,从现有的活动作用域中使用的地址范围迁移到使用另一IP网络地址范围的新作用域;
- 希望使用两个DHCP服务器在同一物理网段上管理分离的逻辑IP网络。
创建超级作用域非常简单,步骤如下: 首选,在DHCP服务器中创建一个或多个DHCP作用域,然后右击DHCP服务器名,选择新建超级作用域,
分配选项 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记录。