虽然说DHCP服务器没有DNS服务那么复杂,在配置和使用过程中所出现的故障也没有DNS服务那么多,但是在一些网络结构较为复杂(如有多个域控制器、多个DNS服务器和多个DHCP服务)的网络中,一不小心,还是会出现一些问题。本节就针对DHCP服务器和DHCP客户端使用过程中出现的一些典型故障,介绍相应的排除方法。
一 DHCP服务器故障排除
在DHCP服务器上最容易出现的问题就是DHCP服务无法启动,或者所配置的作用域无法为客户端提供自动 IP地址分配服务。下面分别予以介绍。
1.DHCP服务器已停止
出现这种故障现象的原因可能有多种,下面分别予以介绍。
(1)此DHCP服务器未授权在网络上运行
我们知道,DHCP服务器必须授权在一台服务器上运行,可以是本地服务器,也可以是远程服务器。如果没有授权,则DHCP服务器就无法正常工作。DHCP服务器计算机的授权过程取决于该服务器在网络中的安装角色。在Windows Server 2003家族中,每台服务器计算机都可以安装成3种角色(服务器类型)。
域控制器:该计算机为域成员用户和计算机保留和维护Active Directory数据库并提供安全的账户管理。
成员服务器:该计算机不作为域控制器运行,但是它加入了域,在该域中,它具有Active Directory数据库中的成员身份账户。
独立服务器:该计算机不作为域控制器或域中的成员服务器运行。相反,服务器计算机通过可由其他计算机共享的特定工作组名称在网络上公开自己的身份,但该工作组仅用于浏览目的,而不提供对共享域资源的安全登录访问。

如果要直接授权给本地服务器,则直接在DHCP控制台的本地服务器上单击鼠标右键,在弹出菜单中选择【授权】命令即可。
如果想授权给域中其他成员服务器,则需在DHCP控制台的"DHCP"选项上单击鼠标右键,在弹出菜单中选择【管理授权的服务器】命令,打开如图83所示的对话框。

在这里可以添加新的服务器,然后单击【授权】按钮进行授权,也可以对已授权服务器进行授权解除,方法是在列表中选择相应的服务器,然后单击【解除授权】按钮即可。
如果要把授权服务器的任务委派给其他非企业网络管理员,则需要使用"控制委派向导"进行任务委派。具体方法如下。
(1)以域系统管理员账户登录,执行【开始】→【管理工具】→【Active Directory站点和服务】菜单命令,打开如图84所示的"Active Directory站点和服务"控制台。

(2)选择"Active Directory站点和服务"节点,执行【查看】→【显示服务节点】菜单命令。然后在控制台树中选择"Services"节点下的"NetServices"选项。单击鼠标右键,在弹出菜单中选择【委派控制】命令,打开如图85所示的对话框。
(3)单击【下一步】按钮,进入如图86所示的界面。

(4)单击【添加】按钮,打开如图87所示的对话框。在这里可以添加您要对之委派DHCP授权权限的用户,本例为winda。要在一项操作中添加多个用户,请依次键入用户名,并用分号隔开。输入好后单击【确定】按钮返回到如图86所示的界面。

(5)单击图86所示界面中的【下一步】按钮,进入如图88所示的界面。在此选择"创建自定义任务去委派"单选项。
(6)单击【下一步】按钮,进入如图89所示的界面。在此选择"这个文件夹,这个文件夹中的对象,以及创建在这个文件夹中的新对象"单选项。

(7)单击【下一步】按钮,进入如图90所示的界面。在列表中选择"完全控制"复选项。此时系统会自动选择所有选项。这将启用在本过程中委派的用户或组账户的访问控制权限,从而使该用户或组可以在NetServices文件夹中添加、修改或删除DHCP类别类型的新对象。
(8)单击【下一步】按钮,打开如图91所示的向导完成界面。在此界面中显示了以上各步的配置摘要。如果发现某项配置不妥,可通过单击【上一步】按钮返回到相应步骤重新配置。确认无误后单击【完成】按钮完成控制委派向导。

(2)详细配置信息可能不正确或不在服务器上
如果您刚完成了设置或管理DHCP服务器的工作,可能需要审阅提供的清单以查看是否在安装过程中遗漏了关键步骤。
(3)DHCP服务器已停止运行
如果是这方面的原因,可检查系统事件日志和DHCP服务器审核日志文件。当DHCP服务器的服务停止运行或不能启动时,在这些日志中通常可找到有关服务故障或关机的来源等有用信息。
2.DHCP服务器不能为客户端提供服务
出现这种故障的原因也有多个,下面分别予以介绍。
(1)此服务器为多宿主计算机,而且不在一个或多个网络连接上提供服务
解决方案是根据您是否选择了为任何,或所有安装在服务器计算机上的连接静态或动态配置TCP/IP,来检查Windows Server 2003 DHCP对网络连接的默认绑定。同时,审阅多宿主DHCP服务器配置的范例,以查看是否您已经丢失任何关键的详细信息。
(2)要使用的DHCP服务器上的作用域或超级作用域,或者没有配置,或者没有激活
解决方案是,添加作用域,并确保这些作用域已经与指派给客户端使用的任何DHCP作用域选项一起正确配置。
(3)服务器与它的一些客户端在不同的子网上,并且不为远程子网上的客户端提供服务
如果您在路由网络不同子网中使用相同的DHCP服务器,则需要配置DHCP中继代理。
(4)使用的作用域已满,而且不能再将地址租用给请求的客户端
如果DHCP服务器没有可用的IP地址来提供给客户端,则会向客户端返回DHCP否定确认消息(DHCPNAK)。出现此情况时,请考虑下列可能的解决方案。
增大当前作用域的"结束IP地址"来扩大地址范围。
创建新的附加作用域和超级作用域,然后将当前的作用域和新建的作用域添加到超级作用域中。
新建作用域或扩大范围。在非常好的情况下,您可以为当前的IP网络重新编号。根据需要停用旧的作用域,然后配置并激活新的作用域。
缩短租约期限。这可能有助于加速失效作用域地址的回收。
与DHCP相关的其他过程和技术也可能有助于加速或减缓从要停用的现有作用域转换到为取代它在服务器上的作用而创建的新作用域。包括从要停用的作用域中删除客户端租约,而不包括来自该作用域的地址,然后在已激活新的作用域后停用它。这能够确保DHCP客户端从新的作用域获得租约。
(5)由DHCP服务器提供的IP地址范围与由网络上另一个DHCP服务器提供的地址范围冲突
如果DHCP服务器日志仍指出将DHCP否定确认消息(DHCPNAK)返回给请求的客户端,或者您在客户端上手动尝试续订租约未获成功,则您可以确认发生这种情况的可能原因。解决方案是,修改用于每个DHCP服务器上作用域的作用域地址池以确保作用域IP地址不重叠。您可根据需要将排除条件添加到作用域,删除客户端租约,并且临时启用服务器端的冲突检测以帮助解决问题。
3.同一子网上的两台DHCP服务器中有一台不能为客户端服务
出现这种故障的原因一般是该DHCP服务器未在Active Directory中获得授权。解决方案是,如果该DHCP服务器是域成员,必须在Active Directory中授权该服务器。授权的方法参见本小节前面第1个问题中介绍的方法。
有时偶然会在同一子网上存在独立服务器和域成员服务器。当独立服务器检测到域成员服务器时,它会试图验证自己是否已在Active Directory中获得授权。即使在与独立DHCP服务器相同的子网上驻留有域控制器,该DHCP服务器仍无法通过此域控制器验证自己的状态,因为该DHCP服务器不是域的成员。当独立服务器无法访问域控制器来验证自己是否已被授权时,它将停止客户端服务,并在DHCP控制台中显示红色图标以说明自己是未授权的。如果希望该独立服务器能为子网上的客户端提供服务,请删除该子网上已授权的DHCP服务器。
4.DHCP服务器显示有某些数据损坏或丢失
出现这种故障现象的原因一般是DHCP服务器数据库已损坏,或丢失了服务器数据,导致报告JET数据库错误。解决方案是,使用DHCP服务器数据恢复选项来还原数据库,并修正任何报告的错误。也可使用DHCP控制台中的协调功能来验证和协调服务器能找到的任何数据库不一致性情况。
协调作用域可以修复不一致的问题,如存储在作用域租用信息中的客户端IP地址不正确或丢失信息。DHCP服务器服务以两种形式存储作用域的IP地址租用信息,如下所列。
详细的IP地址租用信息,存储在DHCP数据库中。
摘要性的IP地址租用信息,存储在DHCP数据库中。
协调作用域时,会将详细的和摘要性的条目进行对比来查找不一致的地方。
要改正和修复这些不一致的地方,您需要协调执行此操作时发现的任何不一致的作用域。一旦选择并协调了不一致的作用域,DHCP服务即会将这些IP地址交还给其最初的所有者或者创建对这些地址的临时保留。这些保留地址对于指派给作用域的租约时间来说是有效的。当租约时间到期时,地址将被还原以备后用。
要协调DHCP服务器上的DHCP数据库,可在DHCP控制台中的DHCP服务器上单击鼠标右键,在弹出菜单中选择【协调所有作用域】命令,打开如图92所示的对话框。
单击【验证】按钮,如果在状态窗口中报告"发现不一致",则选择所显示的需要协调的地址,然后单击【协调】按钮来修复不一致性;如果数据库一致(如图93所示),请直接单击【确定】按钮。

如果要协调作用域,则在相应作用域上单击鼠标右键,在弹出菜单中选择【协调】命令,打开如图94所示的对话框。如果作用域不一致,请选择所显示的需要协调的地址,然后单击【协调】按钮修复不一致性。如作用域一致,请直接单击【确定】按钮(参见图93)。
