如何在 Windows XP 中定位域控制器

来源:互联网 发布:淘宝帐号登录 编辑:程序博客网 时间:2024/06/05 09:57

概要:

本文介绍了 Windows XP Professional 用来在基于 Windows 的域中定位域控制器的机制。 

本文详细介绍了根据域的 DNS-style 名称及其 flat-style (NetBIOS) 名称(用于向后兼容)定位域的过程。在其他所有情况下,建议您根据策略使用 DNS-style 名称。 

本文还解决了排查域控制器定位进程中的问题时涉及的问题。


更多信息

以下内容介绍了定位器查找域控制器的方法:

  • 在客户端(尝试定位域控制器的计算机)上,定位器作为对本地 Netlogon 服务的远程过程调用 (RPC) 而启动。Netlogon 服务实现了定位器 DsGetDcName API 调用。
  • 客户端将收集选择域控制器所需的信息,然后使用 DsGetDcName 调用,将该信息传递到 Netlogon 服务。
  • 客户端上的 Netlogon 服务使用所收集的信息,通过下面的两种方式之一,为指定的域查找域控制器:
    • 对于 DNS 名称,Netlogon 使用与 IP/DNS 兼容的定位器来查询 DNS,即在将域名追加到用于指定 SRV 记录的适当字符串以后,DsGetDcName 会调用 DnsQuery 调用以从 DNS 中读取服务资源 (SRV) 记录和“A”记录。

      登录到基于 Windows 的域的工作站将查询 DNS 是否存在以下常规格式的 SRV 记录:
      _service._protocol.DnsDomainName
      Active Directory 服务器可以通过 TCP 协议提供轻型目录访问协议 (LDAP) 服务。因此,客户端会通过查询 DNS 是否存在以下格式的记录来查找 LDAP 服务器:
      _ldap._tcp.DnsDomainName
    • 对于 NetBIOS 名称,Netlogon 使用与 Microsoft Windows NT 4.0 兼容的定位器(即,使用特定于传输的机制,如 Windows Internet 名称服务 (WINS))来执行域控制器发现。 

      在 Windows NT 4.0 及更早版本中,“发现”是定位域控制器以对主域或受信任域执行身份验证的过程。
  • Netlogon 服务将向已注册该名称的计算机发送数据报。对于 NetBIOS 域名,数据报以邮件槽消息的形式实现。对于 DNS 域名,数据报以 LDAP 用户数据报协议 (UDP) 搜索的形式实现。 

    UDP 是无连接数据报传输协议,该协议是 TCP/IP 协议包的一部分。TCP 是面向连接的传输协议。请注意,UDP 允许一台计算机上的程序向另一台计算机上的程序发送数据报。UDP 包括一个协议端口号,这使得发件人可以区分远程计算机上的多个目标(程序)。
  • 每个可用的域控制器都可响应数据报以表明其正在工作,然后将信息返回到 DsGetDcName
  • Netlogon 服务可缓存域控制器信息,以使后续请求不必重复搜索过程。缓存该信息有助于同一域控制器的一致使用,和保持一致的 Active Directory 视图。
当一个客户端登录或加入网络时,该客户端必须能够定位域控制器。该客户端会向 DNS 发送一个 DNS 查找查询以查找域控制器 -- 最好在客户端自己的子网上找到。因此,客户端可通过查询 DNS 是否存在以下格式的记录来查找域控制器:
_LDAP._TCP.dc._msdcs.domainname
在客户端找到了域控制器以后,它会使用轻型目录访问协议 (LDAP) 建立通信,以获得对 Active Directory 的访问权限。作为该协商的一部分,域控制器可根据该客户端的 IP 子网识别该客户端所在的站点。如果客户端与不在最近(最佳)站点中的域控制器通信,则域控制器将返回该客户端站点的名称。 

如果客户端已尝试在该站点中查找域控制器(例如,如果客户端向 DNS 发送一个 DNS 查找查询,以在客户端自己的子网中查找域控制器),则该客户端将使用此并非最佳的域控制器。否则,客户端将使用最佳站点的名称再次执行特定于站点的 DNS 查找。域控制器会使用一些目录服务信息来识别站点和子网。

客户端定位了一个域控制器后,该域控制器条目将缓存起来。如果域控制器不在最佳站点中,则该客户端将在 15 分钟后刷新缓存,并丢弃缓存条目。然后,该客户端会尝试在其自己的站点中查找最佳域控制器。 

客户端建立了到域控制器的通信路径后,便会建立自己的登录凭据和身份验证凭据,如有必要,还会针对基于 Windows 的计算机建立安全通道。然后,该客户端将执行常规查询,并搜索相关目录中的信息。

客户端将建立到域控制器的 LDAP 连接,以进行登录。登录过程使用安全帐户管理器 (SAM)。由于通信路径使用的是 LDAP 接口,且客户端由域控制器进行身份验证,因此将对客户端帐户进行验证,并通过 SAM 将其传送到目录服务代理,然后传送到数据库层,最后到达可扩展存储引擎 (ESE) 中的数据库。

解决域定位器进程中的问题

要解决域定位器进程中的问题,请执行以下操作:
  1. 检查“事件查看器”,以查看事件日志是否包含错误信息。在客户端和服务器上,检查系统日志,看是否存在登录过程中出现失败的问题。此外,还需检查服务器上的目录服务日志以及 DNS 服务器上的 DNS 日志。 

    要在 Windows XP 中查看“事件查看器”,请单击开始,单击控制面板,双击管理工具,然后双击事件查看器
  2. 在命令提示符处运行“ipconfig /all”命令,以检查 IP 配置。验证网络配置是否正确。
  3. 使用 Ping 工具验证网络连接和名称解析。同时 Ping IP 地址和服务器名称。
  4. 选中“帮助和支持”中“使用工具查看您的计算机信息并分析问题”下的“网络诊断”工具,以确定网络组件是否安装正确,以及是否运行正常。“网络诊断”还可运行某些测试,并提供有关网络配置的有用信息。
  5. 使用“nltest /dsgetdc:domainname”命令验证是否可以为特定域定位域控制器。NLTest 工具是随 Windows XP 支持工具一起安装的。 

    有关如何安装这些工具的信息,请参考下面的 Microsoft 知识库文章:
    306794 如何从 Windows XP CD-ROM 安装支持工具
  6. 使用 NSLookup 工具验证是否在 DNS 中正确注册了 DNS 项。验证是否能够解析服务器主机记录和 GUID SRV 记录。 

    例如,要确认记录注册,请使用下面的命令:
    nslookup server_name.child_of_root_domain.root_domain.com

    nslookup guid._msdcs.root_domain.com
  7. 如果不能成功执行上述任一命令,请使用下列方法之一向 DNS 注册记录:
    • 要强制注册主机记录,请键入 ipconfig /registerdns
    • 要强制注册域控制器服务,请停止然后重新启动 Netlogon 服务。
  8. 要确认正确的 LDAP 连接,请使用 Ldp.exe 工具连接并绑定到域控制器。Ldp.exe 是一个支持工具,可从 Windows XP CD-ROM 进行安装。 

    有关如何安装这些工具的信息,请参考下面的 Microsoft 知识库文章:
    306794 如何从 Windows XP CD-ROM 安装支持工具
  9. 如果您怀疑特定的域控制器有问题,请打开 Netlogon 调试日志记录。在命令提示符处键入 nltest /dbflag:0x2000ffff,以使用 NLTest 工具。信息将记录到 Debug 文件夹中的 Netlogon.log 文件中。
  10. 如果仍未找到问题所在,请使用网络监视器来监视客户端和域控制器之间的网络通信。
有关其他信息,请参考 Windows 2000 Server Resource Kit 的第 10 章“Active Directory 诊断、疑难解答及恢复”。


本文转自:http://support.microsoft.com/kb/314861