Kerberos 依赖于域控制器进行身份验证、授权和委派功能。 如果客户端计算机或目标服务器尝试使用 Kerberos 进行身份验证,并且无法联系域控制器,则会收到类似于以下消息之一的消息:
尝试加入域“Contoso”时发生以下错误:
指定的域不存在,或无法访问。
找不到域 contoso.com 的域控制器。
无法联系域控制器 1355。
尽管这些消息与应用程序角度不同,但错误的含义是客户端或服务器无法发现域控制器。
此类错误通常具有以下原因之一:
- 客户端和域控制器之间的连接端口被阻塞。
- 客户端的域名系统(DNS)配置不正确。
- 域控制器上的 DNS 服务器配置不正确。
排查找不到域或域控制器的错误
检查客户端计算机、域控制器和目标服务器之间的所有防火墙(包括每台计算机上的 Windows 防火墙)。 请确保 UDP 端口 389(LDAP)和 UDP 端口 53(DNS)上允许流量。 有关详细信息,请参阅如何为 Active Directory 域和信任关系配置防火墙。
如果进行了更改,请在客户端计算机上打开管理命令提示符窗口,然后运行以下命令:
nltest /dsgetdc:<DomainName> /force /kdc
注释
在此命令中, <DomainName> 表示客户端计算机的域的名称。
该
nltest
命令检索一个或多个可用域控制器的列表。 如果客户端或目标服务器无法联系域控制器,将收到错误消息。注释
该列表可能不包括所有可用的域控制器。
如果域控制器仍然不可用,请转到下一步。
在客户端计算机上的命令提示符处运行以下命令:
nslookup <TargetName>
注释
在此命令中, <TargetName> 表示目标服务器的 NetBIOS 名称。
nslookup
如果命令正确解析目标服务器名称,则 DNS 配置正确。如果命令不解析目标服务器名称,请按照以下步骤检查客户端计算机的网络适配器配置:
在客户端计算机上运行以下命令:
ipconfig /all
在命令输出中,确定正在使用的网络适配器。 检查以下适配器设置:
客户端 IP 地址
子网掩码
默认网关
特定于连接的 DNS 后缀
DNS 服务器 IP 地址
记录 IP 地址,并记下首选 DNS 服务器和辅助服务器。 此信息可用于以后的故障排除。
如果任何网络适配器设置不正确,请修复这些设置,或联系 DNS 管理员寻求帮助。
如果进行了任何更改,请再次运行
nslookup <TargetName>
。如果
nslookup
仍然无法正确解析名称,则可能遇到更大的 DNS 问题。 请与 DNS 管理员联系,或自行排查此问题。 有关更多故障排除指南,请参阅 DNS 服务器故障排除。如果
nslookup
现在正确解析名称,请再次运行nltest
。 根据结果,执行以下作之一:如果
nltest
返回至少一个域控制器的名称,请检查是否解决了原始 Kerberos 问题。如果
nltest
仍然无法识别至少一个域控制器,则可能有更大的网络或 Active Directory 问题。 请与网络管理员联系。