验证 DNS 功能以支持目录复制

若要检查可能干扰 Active Directory 复制的域名系统 (DNS) 设置,可以首先运行基本测试,确保 DNS 对你的域正常运行。 运行基本测试后,可以测试 DNS 其他方面的功能,包括资源记录注册和动态更新。

尽管可以在任何域控制器上运行此基本 DNS 功能测试,但我们通常会在可能遇到复制问题的域控制器上运行此测试,例如,在事件查看器目录服务 DNS 日志中报告事件 ID 1844、1925、2087 或 2088 的域控制器。

运行域控制器基本 DNS 测试

基本 DNS 测试检查 DNS 功能的以下方面:

  • 连接:该测试确定域控制器是否已在 DNS 中注册、是否可以通过 命令联系,以及是否建立了轻型目录访问协议/远程过程调用 (LDAP/RPC) 连接。 如果域控制器上的连接测试失败,则不会针对该域控制器运行其他测试。 在运行任何其他 DNS 测试之前会自动执行连接测试。
  • 基本服务:该测试确认以下服务是否正在运行且在受测的域控制器上可用:DNS 客户端服务、网络登录服务、密钥分发中心 (KDC) 服务和 DNS 服务器服务(如果 DNS 已安装在域控制器上)。
  • DNS 客户端配置:该测试确认是否可访问 DNS 客户端计算机的所有网络适配器上的 DNS 服务器。
  • 资源记录注册:该测试确认每个域控制器的主机 (A) 资源记录是否已在客户端计算机上配置的至少一个 DNS 服务器中注册。
  • 区域和起始授权机构 (SOA):如果域控制器正在运行 DNS 服务器服务,则该测试将确认 Active Directory 域区域及其起始授权机构 (SOA) 资源记录是否存在。
  • 根区域:检查根 (.) 区域是否存在。

必须至少拥有企业管理员成员身份或同等身份才能完成这些过程。

可以使用以下过程来验证基本 DNS 功能。

若要验证基本 DNS 功能,请执行以下操作:

  1. 在要测试的域控制器上或安装了 Active Directory 域服务 (AD DS) 工具的域成员计算机上,以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”

  2. 在“开始搜索”中,键入 ldp。

  3. 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。

  4. 在命令提示符下键入以下命令,然后按 ENTER 键:dcdiag /test:dns /v /s:<DCName> /DnsBasic /f:dcdiagreport.txt

    请将 <DCName> 替换为域控制器的实际可分辨名称、NetBIOS 名称或 DNS 名称。 或者,可以键入 /e:(而不是 /s:)来测试林中的所有域控制器。 /f 开关指定一个文件名,在前一个命令中为 dcdiagreport.txt。 如果要将该文件放在当前工作目录以外的位置,可以指定文件路径,例如 /f:c:reportsdcdiagreport.txt。

  5. 在记事本或类似的文本编辑器中打开 dcdiagreport.txt 文件。 若要在记事本中打开该文件,请在命令提示符下键入 notepad dcdiagreport.txt,然后按 ENTER。 如果已将该文件放在其他工作目录,请包含该文件的路径。 例如,如果已将该文件放在 c:reports 中,请键入 notepad c:reportsdcdiagreport.txt,然后按 ENTER。

  6. 滚动到文件底部附近的 Summary 表。

    记下 Summary 表中报告“Warn”或“Fail”状态的所有域控制器的名称。 通过搜索字符串“DC: DCName”(其中 DCName 是域控制器的实际名称),尝试查找明细部分来确定域控制器是否存在问题。

如果你发现某个地方明显需要做出配置更改,请相应地做出更改。 例如,如果你发现某个域控制器的 IP 地址明显不正确,可以更正它。 然后重新运行测试。

若要验证配置更改,请相应地使用 /e: 或 /s: 开关重新运行 Dcdiag /test:DNS /v 命令。 如果未在域控制器上启用 IP 版本 6 (IPv6),则应该预料到该测试的主机 (AAAA) 验证部分会失败,但如果未在网络上使用 IPv6,则不需要这些记录。

验证资源记录注册

目标域控制器使用 DNS 别名 (CNAME) 资源记录来定位其源域控制器复制伙伴。 虽然运行 Windows Server 的域控制器(从 Windows Server 2003 Service Pack 1 (SP1) 开始)可以通过使用完全限定域名 (FQDN) 或 NetBIOS 名称(如果失败)来定位源复制伙伴,但别名 (CNAME) 资源记录的存在是预期的,应验证 DNS 是否正常工作。

可以使用以下过程来验证资源记录注册,包括别名 (CNAME) 资源记录注册。

验证资源记录注册

  1. 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。 在“开始搜索”中,键入 ldp。
  2. 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。

    可以使用 Dcdiag 工具通过运行 dcdiag /test:dns /DnsRecordRegistration 命令来验证对域控制器定位至关重要的所有资源记录的注册。

此命令验证 DNS 中以下资源记录的注册:

  • 别名 (CNAME):基于全局唯一标识符 (GUID) 的资源记录,用于定位复制伙伴
  • 主机 (A):包含域控制器 IP 地址的主机资源记录
  • LDAP SRV:用于定位 LDAP 服务器的服务 (SRV) 资源记录
  • GC SRV:用于定位全局目录服务器的服务 (SRV) 资源记录
  • PDC SRV:用于定位主域控制器 (PDC) 模拟器操作主机的服务 (SRV) 资源记录

可以使用以下过程单独验证别名 (CNAME) 资源记录注册。

验证别名 (CNAME) 资源记录注册

  1. 打开 DNS 管理单元。 若要打开 DNS,请单击“开始”。 在“开始搜索”中键入 dnsmgmt.msc,然后按 ENTER。 如果出现“用户帐户控制”对话框,请确认其中显示了所需操作,然后单击“继续”。
  2. 使用 DNS 管理单元定位任何运行 DNS 服务器服务的域控制器,其中的服务器托管与域控制器的 Active Directory 域同名的 DNS 区域。
  3. 在控制台树中,单击名为 _msdcs.Dns_Domain_Name 的区域。
  4. 在详细信息窗格中,验证是否存在以下资源记录:名为 Dsa_Guid._msdcs.<Dns_Domain_Name> 的别名 (CNAME) 资源记录,以及 DNS 服务器名称的相应主机 (A) 资源记录。

如果别名 (CNAME) 资源记录未注册,请验证动态更新是否正常运行。 使用下一部分中的测试来验证动态更新。

验证动态更新

如果基本 DNS 测试显示 DNS 中不存在资源记录,请使用动态更新测试来确定网络登录服务为何未自动注册资源记录。 若要验证 Active Directory 域区域是否配置为接受安全动态更新并执行测试记录 (_dcdiag_test_record) 的注册,请使用以下过程。 测试后会自动删除测试记录。

验证动态更新

  1. 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。 在“开始搜索”中,键入 ldp。 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
  2. 在命令提示符下键入以下命令,然后按 ENTER 键:dcdiag /test:dns /v /s:<DCName> /DnsDynamicUpdate

    请将 <DCName> 替换为域控制器的可分辨名称、NetBIOS 名称或 DNS 名称。 或者,可以键入 /e:(而不是 /s:)来测试林中的所有域控制器。 如果未在域控制器上启用 IPv6,则应该预料到该测试的主机 (AAAA) 资源记录部分会失败,这是未启用 IPv6 时的正常情况。

如果未配置安全动态更新,可以使用以下过程进行配置。

启用安全动态更新

  1. 打开 DNS 管理单元。 若要打开 DNS,请单击“开始”。
  2. 在“开始搜索”中键入 dnsmgmt.msc,然后按 ENTER。 如果出现“用户帐户控制”对话框,请确认其中显示了所需操作,然后单击“继续”。
  3. 在控制台树中,右键单击适用区域,然后单击“属性”。
  4. 在“常规”选项卡上,验证区域类型是否为“Active Directory 集成”。
  5. 在“动态更新”中,单击“仅安全”。

注册 DNS 资源记录

如果 DNS 资源记录未出现在源域控制器的 DNS 中,而你已验证动态更新并想要立即注册 DNS 资源记录,可以使用以下过程强制手动注册。 域控制器上的网络登录服务将注册在网络上定位域控制器所需的 DNS 资源记录。 DNS 客户端服务将注册别名 (CNAME) 记录指向的主机 (A) 资源记录。

手动注册 DNS 资源记录

  1. 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。
  2. 在“开始搜索”中,键入 ldp。
  3. 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
  4. 若要在源域控制器上手动启动域控制器定位符资源记录的注册,请在命令提示符下键入以下命令,然后按 ENTER:net stop netlogon && net start netlogon
  5. 若要手动启动主机 (A) 资源记录的注册,请在命令提示符下键入以下命令,然后按 ENTER:ipconfig /flushdns && ipconfig /registerdns
  6. 在命令提示符下键入以下命令,然后按 ENTER 键:dcdiag /test:dns /v /s:<DCName>

    请将 <DCName> 替换为域控制器的可分辨名称、NetBIOS 名称或 DNS 名称。 查看测试的输出,确保通过 DNS 测试。 如果未在域控制器上启用 IPv6,则应该预料到该测试的主机 (AAAA) 资源记录部分会失败,这是未启用 IPv6 时的正常情况。