域控制器的正确放置和站点注意事项

适当的站点定义对于性能至关重要。 退出站点的客户端在身份验证和查询方面的性能体验可能不佳。 此外,在客户端上引入 IPv6 后,请求可能来自 IPv4 或 IPv6 地址,Active Directory 需要为 IPv6 正确定义站点。 当同时配置了 IPv6 和 IPv4 时,操作系统更喜欢 IPv6。

从 Windows Server 2008 开始,域控制器会尝试使用名称解析执行反向查找,以确定客户端应位于的站点。 这可能会导致 ATQ 线程池耗尽,并导致域控制器无响应。 对此,适当的解决方法是正确定义 IPv6 的站点拓扑。 一种解决方法是,可优化名称解析基础结构来快速响应域控制器请求。 有关详细信息,请参阅 Windows Server 2008 或 Windows Server 2008 R2 域控制器延迟响应 LDAP 或 Kerberos 请求

需要考虑的另一个方面是,为使用 RODC 的方案查找读/写 DC。 当只读域控制器已经足够时,某些操作需要访问可写域控制器或面向可写域控制器。 可通过两种途径来优化这些方案:

  • 当只读域控制器就已足够时,请连接可写域控制器。 这需要更改应用程序代码。
  • 可能需要可写域控制器。 将读写域控制器放置在中心位置,以最大程度地减少延迟。

有关详细信息,请参阅:

优化引荐

引荐是域控制器不托管所查询分区的副本时重定向 LDAP 查询的方式。 返回引荐时,它包含分区的可分辨名称、DNS 名称和端口号。 客户端使用此信息继续查询托管分区的服务器。 这是 DCLocator 方案,会维护所有建议站点定义和域控制器放置,但依赖于引荐的应用程序通常会被忽略。 建议确保 AD 拓扑(包括站点定义和域控制器放置)正确反映客户端的需求。 此外,这可能包括在单个站点中拥有来自多个域的域控制器、优化 DNS 设置或重新定位应用程序的站点。

关于信任的优化注意事项

在林内方案中,根据以下域层次结构处理信任:孙域 -> 子域 -> 林根域 -> 子域 -> 孙域。 这意味着,由于传输信任层次结构中的 DC 的身份验证请求聚合,林根和每个父级的安全通道可能会超载。 当身份验证还必须传输高延迟链接来影响上述流时,这也可能在地理分散较大的 Active Directory 中产生延迟。 在林间和下级信任方案中,可能会发生重载。 以下建议适用于所有方案:

  • 正确调整 MaxConcurrentAPI 以支持跨安全通道的负载。 有关详细信息,请参阅如何使用 MaxConcurrentApi 设置对 NTLM 身份验证执行性能调整

  • 根据负载创建适当的快捷方式信任。

  • 确保域中的每个域控制器都能够执行名称解析,并与受信任域中的域控制器通信。

  • 确保考虑到信任的位置注意事项。

  • 尽可能地启用 Kerberos,并尽量减少对安全通道的使用,以降低遇到 MaxConcurrentAPI 瓶颈的风险。

跨域信任方案一直是许多客户的痛点。 名称解析和连接性问题通常由防火墙引起,它们会导致信任域控制器的资源耗尽,并影响所有客户端。 此外,一个经常被忽视的方案是优化对受信任域控制器的访问。 确保它正常工作的关键方面如下:

  • 确保信任域控制器使用的 DNS 和 WINS 名称解析可解析受信任域的域控制器的准确列表。

    • 静态添加的记录往往会随着时间推移而过时并再次出现连接问题。 从长远来看,DNS 转发、动态 DNS 和合并 WINS/DNS 基础结构更易于维护。

    • 确保针对客户端可能需要访问的环境中的每个资源的正向和反向查找区域正确配置转发器、条件转发和辅助副本。 同样,这需要手动维护,并且往往会过时。 理想选择是整合基础结构。

  • 信任域中的域控制器将先尝试查找受信任域中位于同一站点的域控制器,然后故障回复到泛型定位符。

    • 若要详细了解 DCLocator 的工作原理,请参阅在最近的站点中查找域控制器

    • 在受信任域和信任域之间聚合站点名称,以反映同一位置的域控制器。 确保子网和 IP 地址映射正确链接到这两个林中的站点。 有关详细信息,请参阅跨林信任的域定位符

    • 根据 DCLocator 需求,确保为域控制器位置打开端口。 如果域之间存在防火墙,请确保为所有信任正确配置防火墙。 如果防火墙未打开,信任域控制器仍会尝试访问受信任的域。 如果通信因任何原因而失败,信任域控制器最终会对受信任的域控制器的请求进行超时处理。 但是,对于每个请求,这些超时可能需要几秒钟时间;如果传入请求量很大,这些超时可能会耗尽信任域控制器上的网络端口。 客户端可能会将域控制器上的超时等待当做挂起的线程;如果应用程序在前台线程中运行请求,这些挂起的线程可能会转换为挂起的应用程序。 有关详细信息,请参阅如何为域和信任配置防火墙

    • 使用 DnsAvoidRegisterRecords 使性能不佳或高延迟的域控制器(例如卫星站点中的域控制器)不播发到泛型定位符。 有关详细信息,请参阅如何优化驻留在客户端站点外部的域控制器或全局目录的位置

      注意

      客户端可使用的域控制器数量有一个实际限制(大约 50 个)。 这些域控制器应该是站点最佳且容量最高的域控制器。

    • 请考虑将受信任域和信任域中的域控制器置于同一物理位置。

对于所有信任方案,凭据都将根据身份验证请求中指定的域进行路由。 这也适用于对 LookupAccountName 和 LsaLookupNames(这些只是常用的,还有其他项)API 的查询。 当向这些 API 的域参数传递 NULL 值时,域控制器将尝试在每个可用的受信任域中查找指定的帐户名称。

其他参考