Active Directory 复制错误 1722:RPC 服务器不可用

本文有助于修复 Active Directory 复制错误 1722。

适用于: Windows Server (所有受支持的版本)
原始 KB 编号: 2102154

症状

本文介绍解决 Active Directory 复制失败并出现 Win32 错误 1722 的症状、原因和解决方法:RPC 服务器不可用。

  1. 副本 (REPLICA) DC 的 DCPROMO 升级无法在帮助程序 DC 上创建 NTDS 设置对象,并出现错误 1722。

    对话框标题文本:Active Directory 域服务安装向导

    对话框消息文本:

    The operation failed because: Active Directory Domain Services could not create the NTDS Settings object for this Active Directory Domain Controller CN=NTDS Settings,CN=<Name of DC being promoted),CN=Servers,CN=<site name>,CN=Sites,CN=Configuration,DC=<forest root domain> on the remote AD DC <helper DC>.<domain name>.<top level domain>. Ensure the provided network credentials have sufficient permissions. "The RPC server is unavailable."
    
  2. DCDIAG 报告 Active Directory 复制测试失败并出现错误 1722:RPC 服务器不可用。

    [Replications Check,<DC Name>] A recent replication attempt failed:
    From <source DC> to <destination DC>  
    Naming Context: <DN path of directory partition>  
    The replication generated an error (1722):  
    The RPC server is unavailable.  
    The failure occurred at <date> <time>.  
    The last success occurred at <date> <time>.  
    <X> failures have occurred since the last success.  
    [<dc name>] DsBindWithSpnEx() failed with error 1722,  
    The RPC server is unavailable..  
    Printing RPC Extended Error Info:  
    <snip>
    
  3. REPADMIN.EXE 报告复制尝试失败,状态为 1722 (0x6ba) 。

    通常引用 -1722 (0x6ba) 状态的 REPADMIN 命令包括但不限于:

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

    下面显示了来自 REPADMIN /SHOWREPSREPADMIN /SYNCALL 描述 RPC 服务器不可用 错误的示例输出:

    c:\> repadmin /showreps  
    <site name><destination DC>  
    DC Options: <list of flags>  
    Site Options: (none)  
    DC object GUID: <NTDS settings object object GUID>  
    DC invocationID: <invocation ID string>  
    ==== INBOUND NEIGHBORS ======================================  
    DC=<DN path for directory partition>  
        <site name><source DC via RPC  
            DC object GUID: <source DCs ntds settings object object guid>  
            Last attempt @ <date> <time> failed, result **1722 (0x6ba):  
    The RPC server is unavailable.  
            <X #> consecutive failure(s).  
            Last success @ <date> <time>
    

    描述 RPC 服务器不可用错误的示例输出REPADMIN /SYNCALL如下所示:

     C:\>repadmin /syncall  
     CALLBACK MESSAGE: Error contacting server \<object guid of NTDS Settings object>._msdcs.\<forest root domain>.\<top level domain> (network error): 1722 (0x6ba):  
     The RPC server is unavailable.
    
  4. Active Directory 站点和服务中的 “立即复制 ”命令返回 RPC 服务器不可用

    右键单击源 DC 中的连接对象,选择 “复制”现在 失败,RPC 服务器不可用。 屏幕上的错误消息如下所示:

    对话框标题文本:立即复制

    对话框消息文本:

    尝试将目录分区>的命名上下文 <DNS 名称从域控制器<源 Dc 主机名>同步到域控制器<目标 DC 主机名>时发生以下错误:RPC 服务器不可用。 此操作不会继续。 这种情况可能是由 DNS 查找问题引起的。 有关排查常见 DNS 查找问题的信息,请参阅以下 Microsoft 网站: DNS 查找问题

  5. NTDS 知识一致性检查器 (KCC) 、NTDS 常规或具有 1722 状态的 Microsoft-Windows-ActiveDirectory_DomainService 事件记录在目录服务事件日志中。

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

    事件源 事件 ID 事件字符串
    Microsoft-Windows-ActiveDirectory_DomainService 1125 Active Directory 域服务安装向导 (Dcpromo) 无法与以下域控制器建立连接。
    NTDS KCC 1311 知识一致性检查器 (KCC) 检测到以下目录分区存在问题。
    NTDS KCC 1865 知识一致性检查器 (KCC) 无法形成完整的跨越树网络拓扑。 因此,无法从本地站点访问以下站点列表。
    NTDS KCC 1925 尝试为以下可写目录分区建立复制链接失败。
    NTDS 复制 1960 内部事件:以下域控制器收到来自远程过程调用 (RPC) 连接的异常。 操作可能已失败。

原因

RPC 是网络传输与应用程序协议之间的中间层。 RPC 本身对故障没有特殊见解,但尝试将较低层协议故障映射到 RPC 层的错误。

当下层协议报告连接失败时,将记录 RPC 错误 1722/0x6ba/RPC_S_SERVER_UNAVAILABLE。 常见情况是抽象 TCP CONNECT 操作失败。 在 AD 复制的上下文中,目标 DC 上的 RPC 客户端无法成功连接到源 DC 上的 RPC 服务器。 导致这种情况的常见原因包括:

  1. 链接本地故障
  2. DHCP 失败
  3. DNS 故障
  4. WINS 失败
  5. 路由失败 (包括防火墙上的端口被阻止)
  6. IPSec/网络身份验证失败
  7. 资源限制
  8. 较高层协议未运行
  9. 较高层协议返回此错误

解决方案

用于识别问题的基本故障排除步骤。

验证 RPC、RPC 定位符和 Kerberos 密钥分发中心的启动值和服务状态是否正确

验证远程过程调用 (RPC) 、远程过程调用 (RPC) 定位符和 Kerberos 密钥分发中心的启动值和服务状态是否正确。

OS 版本将确定记录复制错误的源和目标系统的正确值。 使用下表来帮助验证设置。

服务名称 Windows 2000 Windows 2003 /R2 Windows 2008 Windows 2008 R2
远程过程调用 (RPC) Started/Automatic Started/Automatic Started/Automatic Started/Automatic
远程过程调用 (RPC) 定位器 已启动/自动 (域控制器)

未启动/手动 (成员服务器)
未启动/手动 未启动/手动 未启动/手动
Kerberos 密钥分发中心 (KDC) 已启动/自动 (域控制器)

未启动/禁用 (成员服务器)
已启动/自动 (域控制器)

未启动/禁用 (成员服务器)
已启动/自动 (域控制器)

未启动/禁用 (成员服务器)
已启动/自动 (域控制器)

未启动/禁用 (成员服务器)

如果进行任何更改以匹配上述设置,请重新启动计算机。 验证启动值和服务状态是否与上表中所述的值匹配。

验证 ClientProtocols 密钥在 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc 下是否存在,以及它是否包含正确的默认协议

协议名称 类型 数据值
ncacn_http REG_SZ rpcrt4.dll
ncacn_ip_tcp REG_SZ rpcrt4.dll
ncacn_np REG_SZ rpcrt4.dll
ncacn_ip_udp REG_SZ rpcrt4.dll

如果缺少 ClientProtocols 密钥或四个默认值中的任何一个,请从已知良好的服务器导入密钥。

验证 DNS 是否正常工作

DNS 查找失败是导致复制时出现大量 1722 RPC 错误的原因。

可以使用一些工具来帮助识别 DNS 错误:

  • DCDIAG /TEST:DNS /V /E /F:<filename.log>

    DCDIAG /TEST:DNS 命令可以验证 Windows 2000 Server (SP3 或更高版本的 DNS 运行状况,) 、Windows Server 2003 和 Windows Server 2008 系列域控制器。 此测试首次随 Windows Server 2003 Service Pack 1 一起引入。

    此命令有七个测试组。

    • 身份验证 (身份验证)

    • 基本 (Basc)

    • 记录注册 (RReg)

    • 动态更新 (Dyn)

    • 德尔) (代表团

    • 转发器/根提示 (Forw)

      示例输出:

      TEST: Authentication (Auth)  
      Authentication test: Successfully completed
      
      TEST: Basic (Basc)  
      Microsoft(R) Windows(R) Server 2003, Enterprise Edition (Service Pack level: 2.0) is supported  
      NETLOGON service is running  
      kdc service is running  
      DNSCACHE service is running  
      DNS service is running  
      DC is a DNS server  
      Network adapters information:  
      Adapter [00000009] Microsoft Virtual Machine Bus Network Adapter:  
      MAC address is 00:15:5D:40:CF:92  
      IP address is static  
      IP address: <IP Address>  
      DNS servers:  
      <DNS IP Address> (DC.domain.com.) [Valid]  
      The A record for this DC was found  
      The SOA record for the Active Directory zone was found  
      The Active Directory zone on this DC/DNS server was found (primary)  
      Root zone on this DC/DNS server was not found  
      <omitted other tests for readability>
      

      DNS 测试结果摘要:

      Auth Basc Forw Del  Dyn  RReg Ext
      
      Domain: fragale.contoso.com
      DC1 PASS PASS FAIL PASS PASS PASS n/a  
      Domain: child.fragale.contoso.com  
      DC2 PASS PASS n/a  n/a  n/a  PASS n/a  
      
      Enterprise DNS infrastructure test results:  
      For parent domain domain.com and subordinate domain child:  
      Forwarders or root hints are not misconfigured from parent domain to subordinate domain  
      Error: Forwarders are configured from subordinate to parent domain but some of them failed DNS server tests  
      
      (See DNS servers section for error details)  
      Delegation is configured properly from parent to subordinate domain  
      ......................... domain.com failed test DNS
      

      摘要提供了此测试中更常见的失败的修正步骤。

      有关此测试的说明和其他选项,请参阅 域控制器诊断工具 (dcdiag.exe)

  • NLTEST /DSGETDC:<netbios or DNS domain name>

    Nltest /dsgetdc 用于执行 dc 定位器过程。 因此 /dsgetdc:<domain name> ,尝试查找域的域控制器。 使用强制标志会强制域控制器位置,而不是使用缓存。 还可以指定 /gc/pdc 等选项来查找全局目录或主域控制器模拟器。 若要查找全局目录,必须指定 树名,即根域的 DNS 域名。

    示例输出:

    DC: [\DC.fabrikam.com]  
    Address: \\<IP Address>  
    Dom Guid: 5499c0e6-2d33-429d-aab3-f45f6a06922b  
    Dom Name: fabrikam.com  
    Forest Name: fabrikam.com  
    Dc Site Name: Default-First-Site-Name  
    Our Site Name: Default-First-Site-Name  
    Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE  
    The command completed successfully
    
  • Netdiag -v

    可与 Windows 2003 及更早版本配合使用,以收集有关网络配置和错误的特定信息。 执行 -v 开关时,此工具需要一些时间来运行。

    DNS 测试的示例输出:

    DNS test . . . . . . . . . . . . . : Passed  
    Interface {34FDC272-55DC-4103-B4B7-89234BC30C4A}  
    DNS Domain:  
    DNS Servers: <DNS Server Ip address>  
    IP Address:         Expected registration with PDN (primary DNS domain name):  
    Hostname: DC.fabrikam.com.  
    Authoritative zone: fabrikam.com.  
    Primary DNS server: DC.fabrikam.com <Ip Address>  
    Authoritative NS:<Ip Address>  
    Check the DNS registration for DCs entries on DNS server <DNS Server Ip address>  
    The Record is correct on DNS server '<DNS Server Ip address>'.  
    (You will see this line repeated several times for every entry for this DC.  Including srv records.)  
    The Record is correct on DNS server '<DNS Server Ip address>'.  
    PASS - All the DNS entries for DC are registered on DNS server '<DNS Server Ip address>'.
    
  • ping -a <IP_of_problem_server>

    这是一个简单的快速测试,用于验证域控制器的主机记录是否解析为正确的计算机。

  • dnslint /s IP /ad IP

    DNSLint 是一个 Windows 实用工具,可帮助你诊断常见的 DNS 名称解析问题。 输出是一个 htm 文件,其中包含大量信息,包括:

    DNS 服务器:localhost

    IP Address: 127.0.0.1  
    UDP port 53 responding to queries: YES  
    TCP port 53 responding to queries: Not tested  
    Answering authoritatively for domain: NO
    

    SOA 记录来自服务器的数据:

    Authoritative name server: DC.domain.com  
    Hostmaster: hostmaster  
    Zone serial number: 14  
    Zone expires in: 1.00 day(s)  
    Refresh period: 900 seconds  
    Retry delay: 600 seconds  
    Default (minimum) TTL: 3600 seconds
    
  • 其他权威 (NS 从服务器) 记录: DC2.fabrikam.com <IP Address>

    别名 (CNAME) 和粘附 (服务器中的林 GUID 的) 记录:

    • CNAME:98d4aa0c-d8e2-499a-8f90-9730b0440d9b._msdcs.fabrikam.com

      • 别名: DC.fabrikam.com
      • Glue: <IP Adress>
    • CNAME:a2c5007f-7082-4adb-ba7d-a9c47db1efc3._msdcs.fabrikam.com

      • 别名: dc2.child.fabrikam.com
      • 粘附: <IP 地址>

      有关详细信息,请参阅 DNSLint 实用工具的说明

验证网络端口是否被防火墙或第三方应用程序阻止,侦听所需端口

终结点映射程序 (侦听端口 135) 告知客户端正在侦听服务 (FRS、AD 复制、MAPI 等) 的随机分配端口。

应用程序协议 协议 端口
全局编录服务器 TCP 3269
全局编录服务器 TCP 3268
LDAP 服务器 TCP 389
LDAP 服务器 UDP 389
LDAP SSL TCP 636
LDAP SSL UDP 636
IPsec ISAKMP UDP 500
NAT-T UDP 4500
RPC TCP 135
RPC 随机分配的高 TCP 端口¹ TCP 1024 × 5000
49152 - 65535*

* 这是 Windows Server 2008、Windows Vista、Windows 7 和 Windows 2008 R2 中的范围。

当面向另一个 DC 时,Portqry 可用于确定端口是否从 Dc 被阻止。 可以在 PortQry 命令行端口扫描程序版本 2.0 中下载它。

示例语法:

  • portqry -n <problem_server> -e 135
  • portqry -n <problem_server> -r 1024-5000

可在 PortQryUI - PortQry 命令行端口扫描程序的用户界面中找到名为 Portqryui 的图形版本。

如果动态端口范围有端口被阻止,请使用以下链接配置可为客户管理的端口范围。

有关配置和使用防火墙和域控制器的其他重要链接:

错误的 NIC 驱动程序

有关最新驱动程序,请参阅网络卡供应商或 OEM。

UDP 碎片可能会导致复制错误,这些错误似乎具有 RPC 服务器的源不可用

具有 LSASRV 源的事件 ID 40960 & 40961 错误对于此特定原因很常见。

有关详细信息,请参阅 如何在 Windows 中强制 Kerberos 使用 TCP 而不是 UDP

DC 之间的 SMB 签名不匹配

在以下部分中,使用默认域控制器策略为 SMB 签名配置一致的设置将有助于解决此原因:

Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options

  • Microsoft 网络客户端:数字签名通信 (始终) 禁用。
  • Microsoft 网络客户端:如果服务器同意启用) , (对通信进行数字签名。
  • Microsoft 网络服务器:数字签名通信 (始终) 禁用。
  • Microsoft 网络服务器:如果客户端同意启用) , (对通信进行数字签名。

可以在以下注册表项下找到这些设置:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\ParametersHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters

    • RequireSecuritySignature = 始终 (0,disable,1 启用) 。
    • EnableSecuritySignature = 是服务器同意 (0,disable, 1 enable) 。

其他故障排除:

如果上述未提供 1722 解决方案,请使用以下诊断日志记录来收集详细信息:

Windows Server 2003 SP2 computers logs extended RPC Server info in NTDS Replication events 1960, 1961, 1962 and 1963.  
Crank up NTDS Diagnostic logging

1 = basic, 2 and 3 add continually verbose info and 5 logs extended info.

数据收集

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

References