我正在尝试将 Windows 7 Ultimate 计算机连接到 Windows 2k8 域,但无法正常工作。我收到此错误:
注意:此信息仅供网络管理员使用。如果您不是网络管理员,请通知管理员您已收到此信息,该信息已记录在文件 C:\Windows\debug\dcdiag.txt 中。
已成功查询 DNS 以获取用于定位域“example.local”的域控制器的服务位置 (SRV) 资源记录:
该查询针对 _ldap._tcp.dc._msdcs.example.local 的 SRV 记录
查询识别了以下域控制器:
dc1.example.local
dc2.example.local但无法联系域控制器。
导致此错误的常见原因包括:
将域控制器名称映射到其 IP 地址的主机 (A) 或 (AAAA) 记录缺失或包含不正确的地址。
DNS 中注册的域控制器未连接到网络或未运行。
客户位于一个办公室,通过 MPLS 远程连接到我们域控制器所在的数据中心。我似乎没有任何东西阻止与 DC 的连接,但我无法完全控制 MPLS 电路,因此可能有什么东西阻止了连接。
我已经在一个办公室尝试了多个客户端(Win7 Ultimate 和 WinXP SP3),但所有客户端都出现了相同的症状。
连接到任何一个域控制器都没有问题,尽管我承认我没有尝试过所有可能的端口。ICMP、LDAP、DNS 和 SMB 连接都运行正常。
客户端 DNS 指向 DC,“example.local”解析为 DC 的两个 IP 地址。
我从 NetLogon Test 命令行实用程序获得此输出:
C:\Windows\System32>nltest /dsgetdc:example.local
Getting DC name failed: Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN
我还创建了一个单独的网络来模拟该办公室的配置,该网络通过 LAN-to-LAN VPN 而不是 MPLS 连接到 DC 网络。从该远程网络加入 Windows 7 计算机运行正常。
我发现这两个环境之间的唯一区别是中间连接,但我不知道要测试什么或如何测试。我应该采取什么进一步的步骤?
(请注意,这实际上不是我的客户端工作站,我无法直接访问它;我被迫对其进行远程手动访问,这使得一些明显的故障排除方法(如数据包嗅探)更加困难。如果我可以在那里建立一个可以远程访问的系统,我会这样做,但这方面的请求没有得到答复。)
2011-08-25更新:
我曾DCDIAG.EXE
在客户端上运行过尝试加入域的操作:
C:\Windows\System32>dcdiag /u:example\adminuser /p:********* /s:dc2.example.local
Directory Server Diagnosis
Performing initial setup:
Ldap search capabality attribute search failed on server
dc2.example.local, return value = 81
这听起来像是它能够通过 LDAP 连接,但它尝试做的事情失败了。但我不太明白它试图做什么,更不用说如何重现或解决它了。
2011-08-26更新:
尝试使用LDP.EXE
直接与 DC 建立 LDAP 连接会导致以下错误:
ld = ldap_open("10.0.0.1", 389);
错误 Q:无法连接到 10.0.0.1。
ld = ldap_open("10.0.0.2", 389);
错误 Q:无法连接到 10.0.0.2。
ld = ldap_open("10.0.0.1", 3268);
错误 Q:无法连接到 10.0.0.1。
ld = ldap_open("10.0.0.2", 3268);
错误 Q:无法连接到 10.0.0.2。
这似乎表明 LDAP 连接在某处被阻止了。(并且 0x51 == 81,这是DCDIAG.EXE
昨天更新的错误。)我可以发誓我TELNET.EXE
几周前就用它测试过,但现在我想我可能认为它清除屏幕是在告诉我它在等待而不是它已经连接了。
我正在追踪 LDAP 连接问题。此更新可能会解答这个问题。
答案1
我花了很长时间才找到问题所在,但后来发现 VPN 中的过滤器阻止了 LDAP(和其他)流量。我清除了这些过滤器,现在一切正常。
答案2
Win7 机器和域控制器之间可能存在防火墙。
如果你有权访问nmap:
nmap -PN -p389 dc1.example.local dc2.example.local
更新:
nltest /dsgetdc:example.local
nslookup -q=srv _ldap._tcp.dc._msdcs.example.local
nslookup -q=a $prefered_host
ldapsearch -h $IPaddress_of_A_record -x -b "" -s base (&(DNSDomain=example.local)(HOST=$localmachineshostname)(NtVer=\\\\16\\\\00\\\\00\\\\00)) netlogon
NtVer 要求 V5(版本 5 netlogon)、V5EX(版本 5 扩展登录)、VCS(最近的 dc)。取自 Win7Ent。
(ldap 十六进制是 trixy。)
答案3
听起来好像 win7 没有将其 DNS 指向 DC?也许 DHCP 将 DNS 指向了互联网提供商的 DNS?
答案4
是否存在这样的可能:远程办公室中的客户端仅运行 IPv6,并且虽然它确实找到了 DC 的 SRV 记录,但 DNS 并未配置 AAAA(IPV6)记录?