动态注册 DNS 记录
动态注册 DNS 记录 |
症状
客户端无法在单标签正向查找区域中动态注册 DNS 记录。具体症状因所安装的 Microsoft Windows 版本而异。以下列表描述了这些症状: • 安装 Microsoft Windows Service Pack 4 (SP4) 后,所有域控制器可能都无法注册 DNS 记录。域控制器的系统事件日志可能会一直记录与以下示例类似的 NETLOGON 5781 警告:
原因
DNS Error Code:0x0000251D = DNS_INFO_NO_RECORDS
DNS_ERROR_RCODE_ERROR
RCODE_SERVER_FAILURE • 基于 Windows 2000 SP4 的计算机将不在单标签域中注册。计算机的系统事件日志中记录了一条与以下示例类似的警告:
如果您已经实现了单标签域名称空间,则这些问题可能是由于下列任一原因引起的: • 从 Windows 2000 SP4 开始,动态注册 DNS 记录的默认设置发生了更改。在 Windows 2000 SP4 及更高版本中,Windows 不在单标签域中动态注册 DNS 记录。 • 默认情况下,Windows XP、Windows Server 2003、Windows 2000 SP4 及更高版本不向顶级域发送更新。您可以使用本文“解决方案”一节所提供方法之一更改此行为。
解决方案
Microsoft 不建议您使用具有单标签 DNS 名称的 Active Directory 目录服务域。如果您想保留自己的单标签 DNS 结构,可使用下列方法之一以允许基于 Windows 的客户端动态更新单标签 DNS 区域。 方法 1:使用注册表编辑器警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。 1. 在试图动态更新单标签 DNS 区域的客户端上,启动注册表编辑器。 更多信息
注意:“客户端”一词也可以换成域控制器。 2. 找到下列子项之一,具体因客户端的操作系统而异: • Windows XP 或 Windows 2000 SP4: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters • Windows Server 2003:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient 重要说明:如果 DNSClient 子项不存在,必须创建它。为此,请按照下列步骤操作: a. 右键单击以下子项: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT b. 指向“新建”,然后单击“项”。 c. 键入 DNSClient,然后按 Enter 键。 3. 右键单击该子项,指向“新建”,然后单击“DWORD 值”。 4. 键入 UpdateTopLevelDomainZones,然后按 Enter 键。 5. 右键单击 UpdateTopLevelDomainZones 项,然后单击“修改”。 6. 在“数值数据”框中,键入 1。 7. 要使 Active Directory 域成员(客户端、域控制器和 DNS 服务器)使用 DNS 找到具有单标签 DNS 名称的域中的域控制器,请找到以下子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters 8. 右键单击该子项,指向“新建”,然后单击“DWORD 值”。 9. 键入 AllowSingleLabelDnsDomain,然后按 Enter 键。 10. 右键单击 AllowSingleLabelDnsDomain 项,然后单击“修改”。 11. 在“数值数据”框中,键入 1。 12. 对试图动态更新单标签 DNS 区域的其他客户端重复步骤 1 到 11。 13. 要使这些更改生效,需要重新启动在其中更改了注册表项的计算机。 注册表设置概要以下列表概括了使用方法 1 创建的注册表项设置。为方便起见,该列表按照操作系统和计算机在域中的角色列出。对于 Windows 2000 SP4 域客户端、Windows 2000 SP4 域控制器和 Windows XP 域成员: 子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters 项名称:UpdateTopLevelDomainZones 数据类型:DWORD 值: 1 子项: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters 项名称:AllowSingleLabelDnsDomain 数据类型:DWORD 值:1 对于 Windows Server 2003 域成员和 Windows Server 2003 域控制器: 子项: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient 项名称:UpdateTopLevelDomainZones 数据类型:DWORD 值: 1 子项: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters 项名称:AllowSingleLabelDnsDomain 数据类型:DWORD 值:1 方法 2:使用组策略通过使用组策略,可以在“用户和计算机”中的根域容器或所有组织单位 (OU)(包含域中成员计算机和域控制器的主机帐户)的以下文件夹下启动更新顶级域区域策略: ComputerConfiguration\AdministrativeTemplates\Network\DNS Client 注意:只有基于 Windows Server 2003 的计算机和基于 Windows XP 的计算机才支持该策略。要启用该策略,请在根域容器上按照下列步骤操作: 1. 单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。 2. 在“本地计算机策略”下,展开“计算机配置”。 3. 展开“管理模板”。 4. 展开“网络”。 5. 单击“DNS 客户端”。 6. 在右窗格中,双击“更新顶级域区域”。 7. 单击“已启用”。 8. 单击“应用”,然后单击“确定”。 9. 退出组策略。有关此新策略的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 294785 Windows Server 2003 中用于 DNS 的新组策略 以下文章详细介绍了如何使用组策略编辑器更改所有组织单位(包含域中成员计算机和域控制器的主机帐户)中的计算机的本地策略设置。
307882 如何在 Windows XP 中使用组策略编辑器管理本地计算机策略 在 DNS 服务器上,一定不要无意中创建根服务器。您可能必须删除基于 Windows 2000 的 DNS 服务器上的根区域“.”,才能正确地声明 DNS 记录。(由于根区域无法获得根提示,因此安装 DNS 时自动创建它。此问题已在 Windows Server 2003 中得到解决。)可以通过 DCpromo 向导创建根服务器。如果存在“.”区域,则表明已创建了一个根服务器。您可能必须删除此区域,名称解析才能正常工作。 Windows Server 2003 新的和修改的 DNS 策略设置 • 更新顶级域区域策略 如果指定了该策略,它会在以下注册表子项下创建 REG_DWORD UpdateTopLevelDomainZones 项: HKLM\Software\Policies\Microsoft\Windows NT\DNSClient 下面是 UpdateTopLevelDomainZones 的项值: • 启用 (0x1)。0x1 设置意味着计算机可能试图更新 TopLevelDomain 区域。也就是说,如果启用 UpdateTopLevelDomainZones 设置,则应用了此策略的计算机就会将动态更新发送到计算机必须更新的、对资源记录具有权威的任何区域(根区域除外)。 • 禁用 (0x0)。0x0 设置 意味着计算机不能 试图更新 TLD 区域。也就是说,如果禁用此设置,则应用了此策略的计算机不将动态更新发送到根区域,也不将其发送到计算机必须更新的、对资源记录具有权威的顶级域区域。 如果未配置此设置,则该策略不应用于任何计算机,并且计算机使用它们自己的本地配置。 • 注册 PTR 记录策略以下注册表子项下添加了 REG_DWORD RegisterReverseLookup 项的一个新的可能值 0x2: HKLM\Software\Policies\Microsoft\Windows NT\DNSClient 下面是 RegisterReverseLookup 的项值: • 0x2 - 仅当 A 记录注册成功时才注册。仅当计算机成功注册了相应的 A 资源记录时才尝试 PTR 资源记录注册。 • 0x1 - 注册。不管 A 记录注册是否成功计算机都尝试 PTR 资源记录注册。 • 0x0 - 不注册。计算机从不尝试 PTR 资源记录注册。 有关单标签域名问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
300684 关于如何为使用单标签 DNS 名称的域配置 Windows 的信息
在启用了允许动态更新策略设置的集成 Active Directory 的 DNS 服务器和域控制器上出现事件 ID 5781 Netlogon 警告。 如果注册表中存在方法 1 所描述的注册表项并且它们的值设置为 1,动态更新顶级域区域就会成功。 默认情况,这些注册表项下不存在。如果它们不存在,或者即时存在但其值设置为 0,动态更新顶级域区域也不会成功。屏幕上将出现 RCODE_SERVER_FAILURE 错误代码,如果运行 Netdiag.exe 诊断实用工具,日志文件的 DNS 节中将显示以下错误代码: DNS 测试. . . . . . . . . . . : 已通过 接口 {6B1ED1B7-626E-4DDF-A4EB-B6A196573563} DNS 域: DNS 服务器: 172.20.200.72 172.20.200.30 IP 地址: 172.20.200.30 预计注册 PDN(主 DNS 域名): 主机名:DC01.mydom. [警告] 无法为名称 “DC01.mydom.”找到主权威性 DNS 服务器。[RCODE_SERVER_FAILURE] 名称“DC01.mydom.”可能未在 DNS 中注册。 |