Active Directory 复制错误 8524:由于 DNS 查找失败,DSA 操作无法继续

本文介绍失败并出现 Win32 错误 8524 的 AD 操作的症状、原因和解决步骤:

由于 DNS 查找失败,DSA 操作无法继续。

适用于:Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 2021446

家庭用户: 本文仅适用于技术支持代理和 IT 专业人员。 如果正在寻求解决问题的帮助, 请向 Microsoft 社区咨询

症状

  1. DCDIAG 报告 Active Directory 复制测试失败,状态为 8524:

    测试服务器: <sitename><目标 DC>
    开始测试:复制
    [复制检查,<目标 DC>] 最近的复制尝试失败:从 <源 DC> 到 <目标 DC>
    命名上下文:
    失败目录分区>的 CN=<DN 路径,DC=Contoso,DC=Com
    复制 (8524) 生成错误:
    由于 DNS 查找失败,DSA 操作无法继续。

  2. REPADMIN 报告复制尝试失败,状态为 8524。

    通常引用 8524 状态的 REPADMIN 命令包括但不限于:

    • REPADMIN /REPLSUM
    • REPADMIN /SHOWREPS
    • REPADMIN /SHOWREPL

    REPADMIN /SHOWREPL 的 8524 次故障示例如下所示:

    Default-First-Site-Name\CONTOSO-DC1
    DSA 选项:IS_GC
    网站选项: (无)
    DSA 对象 GUID:DSA invocationID:
    DC=contoso,DC=com
    Default-First-Site-Name\CONTOSO-DC2 通过 RPC
    DSA 对象 GUID:
    上次尝试 @ YYYY-MM-DD HH:MM:SS 失败,结果为 8524 (0x214c) :
    由于 DNS 查找失败,DSA 操作无法继续。
    1 个连续失败 () 。
    上次成功 @ YYYY-MM-DD HH:MM:SS。

    /showrepl 输出的其余部分已截断

  3. 目录服务事件日志中记录了以下状态为 8524 的事件之一:

    • NTDS 知识一致性检查器 (KCC)
    • NTDS 常规
    • Microsoft-Windows-ActiveDirectory_DomainService

    通常引用 8524 状态的 Active Directory 事件包括但不限于:

    事件 Source 事件字符串
    Microsoft-Windows-ActiveDirectory_DomainService 2023 此目录服务器无法将以下目录分区的更改复制到以下远程目录服务器

    NTDS 常规 1655 Active Directory 尝试与以下全局目录通信,但尝试失败。

    NTDS KCC 1308 KCC 检测到连续尝试使用以下目录服务进行复制时一直失败。

    NTDS KCC 1865 KCC 无法形成完整的跨越树网络拓扑。 因此,无法从本地站点访问以下站点列表

    NTDS KCC 1925 尝试为以下可写目录分区建立复制链接失败。

    NTDS KCC 1926 尝试建立指向具有以下参数的只读目录分区的复制链接失败

  4. 域控制器在其目录服务事件日志中记录 NTDS 复制事件 2087 和 NTDS 复制事件 2088:

    日志名称:目录服务
    来源:Microsoft-Windows-ActiveDirectory_DomainService
    日期: <日期><时间>
    事件 ID:2087
    任务类别:DS RPC 客户端
    级别:错误
    关键字:经典
    用户:匿名登录
    计算机: <dc 名称>。<域名>
    说明:

    Active Directory 域服务无法将源域控制器的以下 DNS 主机名解析为 IP 地址。 此错误阻止在林中的一个或多个域控制器之间复制Active Directory 域服务中的添加、删除和更改。 在解决此错误之前,安全组、组策略、用户和计算机及其密码在域控制器之间将不一致。 它可能会影响登录身份验证和对网络资源的访问。

    日志名称:目录服务
    来源:Microsoft-Windows-ActiveDirectory_DomainService
    日期: <日期><时间>
    事件 ID: 2088
    任务类别:DS RPC 客户端
    级别:警告
    关键字:经典
    用户:匿名登录
    计算机: <dc 名称>。<域名>
    说明:
    Active Directory 域服务无法使用 DNS 解析下面列出的源域控制器的 IP 地址。 为了保持安全组、组策略、用户和计算机及其密码的一致性,Active Directory 域服务使用源域控制器的 NetBIOS 或完全限定的计算机名称成功复制。

    无效的 DNS 配置可能会影响此Active Directory 域服务林中成员计算机、域控制器或应用程序服务器上的其他基本操作,包括登录身份验证或对网络资源的访问。

    应立即解决此 DNS 配置错误,以便此域控制器可以使用 DNS 解析源域控制器的 IP 地址。

原因

错误状态 8524 映射到以下错误字符串:

由于 DNS 查找失败,DSA 操作无法继续。

对于影响 Windows Server 2003 SP1 域控制器上的 Active Directory 的所有可能 DNS 故障,这是一个全部错误。

Microsoft-Windows-ActiveDirectory_DomainServiceevent 2087 是引用 8524 状态的其他 Active Directory 事件的伙伴事件,如果 Active Directory 域控制器无法通过源 DC NTDS Settings 对象的>完全限定 CNAME 记录 (<对象 guid 解析远程 DC._msdcs。<使用 DNS 的林根域>) 。

Microsoft-Windows-ActiveDirectory_DomainService 当源域控制器通过其 NetBIOS 名称成功解析时,会记录事件 2088,但此类名称解析回退仅在 DNS 名称解析失败时发生。

8524 状态和 Microsoft-Windows-ActiveDirectory_DomainService 事件 2088 或 2087 事件的存在都表明 DNS 名称解析失败 Active Directory。

总之,当目标 DC 无法通过其 CNAME 解析源 DC,并使用 DNS 的主机“A”或主机“AAAA”记录时,会记录 8524 复制状态。 具体的根本原因包括:

  1. 源 DC 已脱机或不再存在,但其 NTDS Settings 对象仍存在于 Active Directory 的目标 DC 副本中。

  2. 源 DC 未能在一个或多个 DNS 服务器上注册 CNAME 或主机记录,原因如下:

    • 注册尝试失败。
    • 源上的 DNS 客户端设置不指向托管、转发或委托其_msdcs的 DNS 服务器。<林根域区域和 (或) 主 DNS 后缀域区域>。
  3. 目标 DC 上的 DNS 客户端设置不指向托管、转发或委托包含源 DC 的 CNAME 或主机记录的 DNS 区域的 DNS 服务器

  4. 目标 DC 查询的 DNS 服务器上不存在由源 DC 注册的 CNAME 和主机记录,原因如下:

    • 简单复制延迟
    • 复制失败
    • 区域传输失败
  5. 无效的转发器或委派。 它们阻止目标 DC 解析林中其他域中 DC 的 CNAME 或主机记录。

  6. 目标 DC、源 DC 或中间 DNS 服务器使用的 DNS 服务器无法正常工作。

解决方案

验证 8524 是由脱机 DC 或过时的 DC 元数据引起的

如果 8524 错误/事件引用的 DC 当前处于脱机状态,但仍在林中有效,请使其正常运行。

如果 8524 错误/事件引用非活动 DC,请从 Active Directory 的目标 DC 副本中删除该 DC 的过时元数据。 非活动 DC 是网络上不再存在的 DC 安装,但其 NTDS Settings 对象仍存在于 Active Directory 的目标 DC 副本中 -

Microsoft 支持人员会定期查找不存在的 DC 的过时元数据,或以前使用未从 Active Directory 中删除的计算机名称的 DC 促销中的过时元数据。

删除过时的 DC 元数据(如果存在)

使用 Active Directory 站点和服务 (DSSITE 的 GUI 元数据清理。MSC)

  1. 启动 Windows Server 2008 或 Windows Server 2008 R2 Active Directory 站点和服务管理单元 (DSSITE。MSC) 。

    也可以通过在作为远程服务器管理工具的一部分安装的 Windows Vista 或 Windows 7 计算机上启动 Active Directory 站点和服务 (RSAT) 包来完成此操作。

  2. 聚焦 DSSITE。Active Directory 的目标 DC 副本上的 MSC 管理单元。

    启动 DSSITE 后。MSC,右键单击“Active Directory 站点和服务 [<DC 名称>]

    从“更改域控制器...”中显示的 DC 列表中,选择记录 8524 错误/事件的目标 DC列表

  3. 删除 8524 错误和事件中引用的源 DC NTDS 设置对象。 Active Directory 用户和计算机 (DSA。MSC) 管理单元并删除源 DC NTDS 设置对象。

    将显示 DC NTDS 设置对象

    • 站点、站点名称、服务器容器和 %server name% 容器下方
    • 在 Active Directory 站点和服务右窗格中显示的入站连接对象上方。

    以下屏幕截图中的红色突出显示显示了 CONTOSO-DC2 的 NTDS Settings 对象,该对象位于 Default-First-Site-Name 网站下方。

    Active Directory 站点和服务窗口的屏幕截图,其中选择了“NTDS 设置”。

    右键单击要删除的过时 NTDS 设置对象,然后选择“删除”。

    还可以从 W2K8/W2K8 R2 Active Directory 用户和计算机管理单元中完成元数据清理,如 TECHNET 中所述。

使用 NTDSUTIL 的命令行元数据清理

MSKB 216498中介绍了使用 NTDSUTIL 元数据清理命令删除过时的 NTDS 设置对象的旧方法或命令行方法。

DCDIAG /TEST:DNS在源 DC + 目标 DC 上运行

DCDIAG /TEST:DNS 执行七种不同的测试,以快速检查域控制器的 DNS 运行状况。 此测试不会作为 DCDIAG 默认执行的一部分运行。

  1. 使用 Enterprise 管理员凭据登录到记录 8524 事件的目标域控制器的控制台。

  2. 打开管理特权 CMD 提示符,然后在 DC 日志记录中运行 DCDIAG /TEST:DNS /F 目标 DC 复制的 8424 状态和源 DC。

    若要对林中的所有 DC 运行 DCDIAG,请键入 DCDIAG /TEST:DNS /V /E /F:<File name.txt>

    若要针对特定 DC 运行 DCDIAG TEST:DNS,请键入 DCDIAG /TEST:DNS /V /S:<DC NAME> /F:<File name.txt>

  3. 在输出末尾 DCDIAG /TEST:DNS 找到摘要表。 识别并协调报表相关 DC 上的警告或故障条件。

  4. 如果 DCDIAG 未确定根本原因,请使用以下步骤采取“很长的路要走”。

使用 PING 检查 Active Directory 名称解析

目标 DC 通过完全限定的 CNAME 记录解析 DNS 中的源 DC,这些记录派生自远程 DC NTDS 设置对象的对象 GUID, (父对象与 Active Directory 站点和服务管理单元) 中显示的连接对象。 可以使用 PING 命令测试给定 DC 解析源 DC 完全限定 CNAME 记录的能力。

  1. 在 Active Directory 的源 DC 副本中找到源 DC NTDS 设置对象的 objectGUID。

    在源 DC 日志记录 8524 错误/事件的控制台中,键入:

    repadmin /showrepl <fully qualified hostname of source DC cited in the 8524 error (event)>

    例如,如果在 8524 错误/事件中引用的 DC 在域中为 contoso-DC2 contoso.com ,请键入:

    repadmin /showrepl contoso-dc2.contoso.com

    命令标头 repadmin /SHOWREPl 中的“DSA 对象 GUID”字段包含源 DC 当前 NTDS 设置对象的 objectGUID。 如果复制速度缓慢或失败,请使用源 DC 的 NTDS 设置对象视图。 输出的 repadmin 标头如下所示:

    Default-First-Site-Name\CONTOSO-DC1
    DSA 选项:IS_GC
    网站选项: (无)
    DSA 对象 GUID:8a7baee5-cd81-4c8c-9c0f-b10030574016 <- 右键单击 + 将此字符串复制到 Windows
    <- 剪贴板 & 粘贴中的 PING 命令
    <- 步骤 4

  2. 在 Active Directory 的目标 DC 副本中找到源 DC 的 ObjectGUID。

    在目标 DC 记录 8524 错误/事件的控制台中,键入:

    repadmin /showrepl <fully qualified hostname of destination DC>

    例如,如果域中的 DC 日志记录 8524 错误/事件是 contoso-DC1 contoso.com ,请键入:

    repadmin /showrepl contoso-dc1.contoso.com

    REPADMIN /SHOWREPL 输出如下所示。 对于目标 DC 入站复制源的每个源 DC,将列出“DSA 对象 GUID”字段。

     c:\>repadmin /showreps `contoso-dc1.contoso.com`  
     Default-First-Site-Name\CONTOSO-DC1  
     DSA Options: IS_GC  
     Site Options: (none)  
     DSA object GUID:  
     DSA invocationID:  
      DC=contoso,DC=com  
         Default-First-Site-Name\CONTOSO-DC2 via RPC  
             DSA object GUID: 8a7baee5-cd81-4c8c-9c0f-b10030574016      <- Object GUID for source DC derived from  
             Last attempt @ 2010-03-24 15:45:15 failed, result 8524 (0x214c):        \ destination DCs copy of Active Directory  
                 The DSA operation is unable to proceed because of a DNS lookup failure.
             23 consecutive failure(s).  
             Last success @ YYYY-MM-DD HH:MM:SS.
    
  3. 比较 #2 和 #3 中的对象 GUID。

    如果对象 GUIDS 相同,则源 DC 和目标 DC 知道相同的实例化 (源 DC 的相同提升) 。 如果它们不同,请算出以后创建的。 具有较早创建日期的 NTDS 设置对象可能已过时,应将其删除。

  4. 按其完全限定的 CNAME 对源 DC 执行 PING 操作。

    在目标 DC 的控制台中,使用源 DC 完全限定 CNAME 记录的 PING 测试 Active Directory 的名称解析:

    c:\>ping <ObjectGUID> from source DCs NTDS Settings object._msdcs.<DNS name for Active Directory forest root domain>

    使用上述输出中的 8a7baee5... objectGUID repadmin /showreps 示例(来自域中的 contoso-dc1 DC contoso.com ),PING 语法为:

    c:\>ping 8a7baee5-cd81-4c8c-9c0f-b10030574016. _msdcs.contoso.com

    如果 ping 有效,请在 Active Directory 中重试失败的操作。 如果 PING 失败,请转到“解决 8524 DNS 查找失败问题”,但在执行每个步骤后重试 PING 测试,直到解决。

解决 8524 DNS 查找失败:解决方法很长

如果 8524 错误/事件不是由过时的 DC 元数据引起的,并且 CNAME PING 测试失败,请检查 DNS 运行状况:

  • 源 DC
  • 目标 DC
  • 源 DC 和目标 DC 使用的 DNS 服务器

总之,请验证:

  • 源 DC 已向有效的 DNS 注册 CNAME 和主机记录。
  • 目标 DC 指向有效的 DNS 服务器。
  • 源 DC 注册的感兴趣的记录可由目标 DC 解析。

DS RPC 客户端事件 2087 中的错误消息文本记录了解决 8524 错误的用户操作。 下面提供了更详细的行动计划:

  1. 验证源 DC 是否指向有效的 DNS 服务器

    在源 DC 上,验证 DNS 客户端设置是否以独占方式指向托管、转发或委托the_msdcs的操作 DNS 服务器。<林根域> 区域 (即,contoso.com 林中的所有 DC 在the_msdcs.contoso.com区域) 注册 CNAME 记录

    AND

    Active Directory 域的 DNS 区域 (即,contoso.com 域中的计算机将在 contoso.com 区域) 注册主机记录。

    AND

    计算机主 DNS 后缀域(如果不同于 Active Directory 域名 (请参阅 Technet 文章 Disjoint Namespace) 。

    用于验证 DNS 服务器是否托管、转发或委托 (的选项,即“可以解析”) 此类区域包括。

    • 启动 DNS 的 DNS 管理工具,并验证用于名称解析的源 DC 指向的 DNS 服务器托管问题区域。

    • 使用 NSLOOKUP 验证源 DC 指向的所有 DNS 服务器是否可以解析有关 DNS 区域的查询。

      在源 DC 的主机上运行 IPCONFIG /ALL

      c:\>ipconfig /all
      …
      DNS Servers . . . . . . . . . . . : 10.45.42.99 <- Primary DNS Server IP>
                                                 10.45.42.101<- Secondary DNS Server IP>
      

      运行以下 NSLOOKUP 查询:

      c:\>nslookup -type=soa  <Source DC DNS domain name> <source DCs primary DNS Server IP >
      c:\>nslookup -type=soa  < Source DC DNS domain name > <source DCs secondary DNS Server IP >
      c:\>nslookup -type=soa  <_msdcs.<forest root DNS domain> <source DCs primary DNS Server IP >
      c:\>nslookup -type=soa  <_msdcs.<forest root DNS domain> <source DCs secondary DNS Server IP >
      

      例如,如果林域中的 contoso.com DC CHILD.CONTOSO.COM 配置了主 DNS 服务器 IP 和辅助 DNS 服务器 IP“10.45.42.99”和“10.45.42.101”,则 NSLOOKUP 语法将为:

      c:\>nslookup -type=soa  child.contoso.com 10.45.42.99
      c:\>nslookup -type=soa  child.contoso.com 10.45.42.101
      c:\>nslookup -type=soa  _msdcs.contoso.com 10.45.42.99
      c:\>nslookup -type=soa  _msdcs.contoso.com 10.45.42.101
      

    注意:

    • 如果目标 DNS 具有良好的转发器、委派或the_msdcs,则 _mscs.contoso.com 区域的 SOA 查询将正确解析。<林根区域>。 如果_msdcs,则无法正确解析。<正在查询的 DNS 服务器上的林根区域>是林根区域>的非委托子域,该子域<是由 Windows 2000 域创建的区域关系。
    • CNAME 记录始终在_msdcs中注册。<林根区域>,即使对于非根域中的 DC 也是如此。
    • 将 DC 或成员计算机的 DNS 客户端配置为指向 ISP DNS 服务器进行名称解析无效。 唯一的例外是 ISP 已 (即付费) ,并且当前正在托管、转发或委托 Active Directory 林的 DNS 查询。
    • ISP DNS 服务器通常不接受动态 DNS 更新,因此可能需要手动注册 CNAME、主机和 SRV 记录。
  2. 验证源 DC 是否已注册其 CNAME 记录

    使用“使用 PING 检查 Active Directory 名称解析”中的步骤 1 查找源 DC 的当前 CNAME。

    ipconfig /all在源 DC 的控制台上运行,以确定源 DC 指向哪些 DNS 服务器进行名称解析。

    c:\>ipconfig /all
    …
    DNS Servers . . . . . . . . . . . : 10.45.42.99                        <primary DNS Server IP
                                               10.45.41.101                      <secondary DNS Server IP
    

    使用 NSLOOKUP 查询当前 DNS 服务器,以获取源 DC 的 CNAME 记录 (通过“使用 PING 检查 Active Directory 名称解析”) 中的过程找到。

    c:\>nslookup -type=cname <fully qualified cname of source DC> <source DCs primary DNS Server IP >
    c:\>nslookup -type=cname <fully qualified cname of source DC> <source DCs secondary DNS Server IP>
    

    在此示例中,contoso.com 域中 contoso-dc2 的 NTDS Settings objectGUID 为 8a7baee5-cd81-4c8c-9c0f-b10030574016。 它指向“10.45.42.99”作为 DNS 名称解析的主节点。 NSLOOKUP 语法为:

    c:\>nslookup -type=cname 8a7baee5-cd81-4c8c-9c0f-b10030574016._msdcs.contoso.com 10.45.42.99
    c:\>nslookup -type=cname 8a7baee5-cd81-4c8c-9c0f-b10030574016._msdcs.contoso.com 10.45.42.101
    

    如果源 DC 尚未在它指向的 DNS 服务器上注册其 CNAME 记录以便进行名称解析,请从源 DC 运行以下命令。 然后重新检查 CNAME 记录的注册:

    c:\>net stop netlogon & net start netlogon
    

    注意:

    • CNAME 记录始终在_msdcs中注册。<林根区域>,即使对于非根域中的 DC 也是如此。
    • CNAME 记录在 OS 启动、NETLOGON 服务启动期间由 NETLOGON 服务注册,稍后会定期注册。
    • 每次升级具有相同名称的 DC 可能会创建一个新的 NTDS Settings 对象,该对象具有不同的 objectGUID,因此会注册不同的 CNAME 记录。 验证 CNAME 记录的注册基于源 DC 的上一次升级与目标 DC 上的 NTDS Settings 对象的 objectGUID(如果源升级超过 1 倍)。
    • OS 启动期间的计时问题可能会延迟成功进行动态 DNS 注册。
    • 如果 DC 的 CNAME 记录已成功注册,但后来消失,检查KB953317。 不同复制范围中的重复 DNS 区域或 DNS 服务器过度主动的 DNS 清理。
    • 如果在源 DC 指向的 DNS 服务器上进行名称解析的 CNAME 记录注册失败,请查看 SYSTEM 事件日志中的 NETLOGN 事件,了解 DNS 注册失败。
  3. 验证源 DC 是否已注册其主机记录

    在源 DC 的控制台中,运行 ipconfig /all 以确定源 DC 指向哪些 DNS 服务器进行名称解析。

    c:\>ipconfig /all
    …
    DNS Servers . . . . . . . . . . . : 10.45.42.99 <- Primary DNS Server IP>
                                               10.45.42.101<- Secondary DNS Server IP>
    

    使用 NSLOOKUP 查询主机记录的当前 DNS 服务器。

    c:\>nslookup -type=A+AAAA  <fully qualified hostname of source DC> <source DCs primary DNS Server IP >
    c:\>nslookup -type=A+AAAA <fully qualified hostname of source DC> <source DCs secondary DNS Server IP>
    

    继续 contoso.com 域中 contoso-dc2 的主机名示例为 8a7baee5-cd81-4c8c-9c0f-b10030574016,并指向自 (127.0.0.1) 作为 DNS 名称解析的主要名称,NSLOOKUP 语法为:

    c:\>nslookup -type=A+AAAA contoso-dc1.contoso.com 10.45.42.99
    c:\>nslookup -type=A+AAAA contoso-dc1.contoso.com 10.45.42.101
    

    对源 DC 辅助 DNS 服务器 IP 地址重复 NSLOOKUP 命令。

    若要动态注册主机“A”记录,请在计算机的控制台中键入以下命令:

    c:\>ipconfig /registerdns
    

    注意:

    • Windows 2000 到 Windows Server 2008 R2 计算机都注册 IPv4 主机“A”记录。
    • Windows Server 2008 和 Windows Server 2008 R2 计算机都注册了 IPv6 主机“AAAA”记录。
    • 主机“A”和“AAAA”记录在计算机主 DNS 后缀区域中注册。
    • 禁用未连接网络电缆的 NIC。
    • 在网络上的 DC 和成员计算机无法访问的 NIC 上禁用主机记录注册。
    • 不支持通过取消选中网络卡属性中的 IPv6 复选框来禁用 IPv6 协议。
  4. 验证目标 DC 是否指向有效的 DNS 服务器

    在目标 DC 上,验证 DNS 客户端设置是否独占指向当前联机 DNS 服务器,该服务器托管、转发和委托_msdcs。<林根域> 区域 (即,contoso.com 林中的所有 DC 在the_msdcs.contoso.com区域) 中注册 CNAME 记录。

    AND

    Active Directory 域的 DNS 区域 (即,contoso.com 域中的计算机将在 contoso.com 区域) 注册主机记录。

    AND

    计算机主 DNS 后缀域(如果不同于 Active Directory 域名 (请参阅 Technet 文章 Disjoint Namespace) 。

    用于验证 DNS 服务器是否托管、转发或委托 (,即“可以解析”) 此类区域的选项包括:

    • 启动 DNS 的 DNS 管理工具,并验证用于名称解析的源 DC 指向的 DNS 服务器托管问题区域。

      OR

    • 使用 NSLOOKUP 验证源 DC 指向的所有 DNS 服务器是否可以解析有关 DNS 区域的查询。

      在目标 DC 的主机上运行 IPCONFIG /ALL:

      c:\>ipconfig /all
      …
      DNS Servers . . . . . . . . . . . : 10.45.42.102 <- Primary DNS Server IP>
                                                            10.45.42.103<- Secondary DNS Server IP>
      

      从目标 DC 的控制台运行以下 NSLOOKUP 查询:

      c:\>nslookup -type=soa  <Source DC DNS domain name> <destinatin DCs primary DNS Server IP >
      c:\>nslookup -type=soa  < Source DC DNS domain name > <destination DCs secondary DNS Server IP >
      c:\>nslookup -type=soa  _msdcs.<forest root DNS domain> <destination DCs primary DNS Server IP >
      c:\>nslookup -type=soa  _msdcs.<forest root DNS name> <destination DCs secondary DNS Server IP>
      

    例如,如果 contoso.com 林 CHILD.CONTOSO.COM 域中的 DC 配置了主 DNS 服务器 IP 和辅助 DNS 服务器 IP“10.45.42.102”和“10.45.42.103”,则 NSLOOKUP 语法将为

    c:\>nslookup -type=soa  child.contoso.com 10.45.42.102
    c:\>nslookup -type=soa  child.contoso.com 10.45.42.103
    c:\>nslookup -type=soa  _msdcs.contoso.com 10.45.42.102
    c:\>nslookup -type=soa  _msdcs.contoso.com 10.45.42.103
    

    注意:

    • 如果目标 DNS 具有良好的转发器、委派或the_msdcs,则 _mscs.contoso.com 区域的 SOA 查询将正确解析。<林根区域>。 如果the_msdcs,则无法正确解析。<正在查询的 DNS 服务器上的林根区域>是林根区域>的非委托子域,该子域<是由 Windows 2000 域创建的区域关系。
    • CNAME 记录始终在_msdcs中注册。<林根区域>,即使对于非根域中的 DC 也是如此。
    • 将 DC 或成员计算机的 DNS 客户端配置为指向 ISP DNS 服务器进行名称解析无效。 唯一的例外是 ISP 已签订 (即付费) ,并且当前正在托管、转发或委托 Active Directory 林的 DNS 查询。
    • ISP DNS 服务器通常不接受动态 DNS 更新,因此可能需要手动注册 CNAME、主机和 SRV 记录。
    • Windows 计算机上的 DNS 解析程序是按设计“粘滞”的。 它使用响应查询的 DNS 服务器,无论此类 DNS 服务器是托管、转发还是委托所需的区域。 重新说明,只要活动 DNS 响应有效,DNS 解析程序就不会故障转移并查询另一个 DNS 服务器,即使来自 DNS 服务器的响应是“我要么不托管你要查找的记录,要么托管该记录的区域副本”。
  5. 验证目标 DC 使用的 DNS 服务器是否可以解析源 DC CNAME 和主机记录

    在目标 DC 的控制台中,运行 ipconfig /all 以确定目标 DC 指向的名称解析的 DNS 服务器:

    DNS Servers that destination DC points to for name resolution:
    
    c:\>ipconfig /all
    …
      DNS Servers . . . . . . . . . . . : 10.45.42.102 <- Primary DNS Server IP>
                                                 10.45.42.103<- Secondary DNS Server IP>
    

    在目标 DC 的控制台中,使用 NSLOOKUP 查询在目标 DC 上配置的 DNS 服务器,以获取源 DC CNAME 和主机记录:

    c:\>nslookup -type=cname <fully qualified CNAME of source DC> <destination DCs primary DNS Server IP >
    c:\>nslookup -type=cname <fully qualified CNAME of source DC> <destination DCs secondary DNS Server IP>
    c:\>nslookup -type=host <fully qualified hostname of source DC> <destination DCs primary DNS Server IP >
    c:\>nslookup -type=host <fully qualified hostname of source DC> <destination DCs secondary DNS Server IP>
    

    在此示例中,contoso.com 域中的 contoso-dc2 与 GUID 8a7baee5-cd81-4c8c-9c0f-b10030574016 Contoso.com 林根域指向 DNS 服务器“10.45.42.102”和“10.45.42.103”。 NSLOOKUP 语法为:

    c:\>nslookup -type=cname 8a7baee5-cd81-4c8c-9c0f-b10030574016._msdcs.contoso.com 10.45.42.102
    c:\>nslookup -type=cname 8a7baee5-cd81-4c8c-9c0f-b10030574016._msdcs.contoso.com 10.45.42.103
    c:\>nslookup -type=A+AAAA contoso-dc1.contoso.com 10.45.42.102
    c:\>nslookup -type=A+AAAA contoso-dc1.contoso.com 10.45.42.102  
    
  6. 查看源 DC 和目标 DC 使用的 DNS 服务器之间的关系

    如果源和目标主机使用的 DNS 服务器是_msdcs的 AD 集成副本。<林根>和<主 DNS 后缀>区域,检查:

    • 注册记录的 DNS 与正在查询记录的 DNS 之间的复制延迟。
    • 注册记录的 DNS 与正在查询的 DNS 之间的复制失败。
    • 托管所需记录的 DNS 区域保留在不同的复制范围中,因此内容也不同,或者在一个或多个 DC 上存在 CNF/冲突。

    如果源 DC 和目标 DC 使用的 DNS 区域存储在 DNS 区域的主副本和辅助副本中,检查:

    • 托管区域的主要副本的 DNS 上未启用“允许区域传输”复选框。
    • “仅以下服务器”复选框已启用,但辅助 DNS 的 IP 地址尚未添加到主 DNS 上的允许列表中。
    • 由于 KB953317,托管该区域辅助副本的 Windows Server 2008 DNS 上的 DNS 区域为空。

    如果源 DC 和目标 DC 使用的 DNS 服务器具有父/子关系,检查:

    • DNS 上拥有委托给从属区域的父区域的无效委托。
    • 尝试解析高级 DNS 区域的 DNS 服务器上的转发器 IP 地址无效 (示例:child.contoso.com 中的 DC 尝试解析位于根域) DNS 服务器上的 conto.com 区域中的主机记录。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照 使用 TSS 收集 Active Directory 复制问题的信息中所述的步骤收集信息。