我们有 2 个不同的位置,并且两个站点都有多个域控制器 (Win2008)。在我们的应用程序中,我们使用无服务器绑定来执行 LDAP 查询http://msdn.microsoft.com/en-us/library/ms677945(v=vs.85).aspx。
如果我们查看站点 B 上的 LDAP://RootDse 的 DnsHostName,我们总是会得到站点 A 的默认域控制器。因此所有 LDAP 查询的速度都要慢得多。
有没有办法更改每个站点的默认域控制器?
答案1
如果有人调整了域控制器的 DNS 优先级(或权重),使得查找会优先选择某个域控制器而不是其他域控制器,则可能会发生这种情况。(LdapSrvPriority)
_ldap 值在 dc._msdcs.domain.com dns 区域中可观察到。
如果有人调整了 Netlogon 服务,导致 LDAP SRV 记录的 DNS 助记符未注册,或者将一个站点配置为注册另一个站点的记录(站点覆盖),也可能会出现这种情况。
如何优化位于客户端站点之外的域控制器或全局目录的位置
http://support.microsoft.com/kb/306602
DNS注册设置
http://msdn.microsoft.com/en-us/library/gg251208%28v=prot.10%29.aspx
Active Directory 的 DNS 支持如何工作
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
答案2
您是否已将域控制器设置为 Active Directory 站点和服务中的正确站点?应将其设置为基于您的站点所在的 IP 子网进行映射。
答案3
没有“站点的默认域控制器”的概念。在 dssite.msc 中,您可以将 DC 移动到某些站点。根据此位置,DC 的 netlogons 服务将注册站点特定的 DNS 记录。
您还可以让 DC 覆盖除其自身站点之外的其他站点。自动站点覆盖是指 DC 可以覆盖没有 DC 的站点,只要它具有站点链接的连接性。
我建议您使用 nslookup,将类型设置为全部,然后检查 _ldap._tcp.._sites.dc._msdcs.domain.com,并根据 dssite.msc 中的内容进行适当替换。确保您只针对每个站点注册了正确的 DC。
还要注意,如果您具有跨林资源访问权限,则调用服务器将根据其自己的站点执行 _ldap SRV 记录查找。如果失败,它将对 _ldap._tcp.dc._msdcs.domain.com 进行通用查询。您应该让 DC 覆盖其他林中的站点(如果适用)。因此,如果 forest1 有 Site1、Site2 等,而 forest2 有 SiteA、SiteB 等,则根据调用服务器的位置,您应该确保 DC 覆盖相关站点。请参阅管理模板\系统\Net Logon\ 以了解用于控制站点覆盖的组策略。