如何使 AD 对于将其用作 LDAP 服务的应用程序高度可用

Bel*_*dez 6 windows-server-2008 cluster active-directory ldap high-availability

我们的情况

我们目前有许多使用 LDAP 进行身份验证的 Web 应用程序。为此,我们使用 LDAPS 端口 ( 636)将 Web 应用程序指向我们的 AD 域控制器之一。

当我们必须更新域控制器时,这给我们带来了问题,因为另一个 Web 应用程序可能依赖于任何 DC。

我们想要什么

我们想将我们的 Web 应用程序指向一个集群“虚拟”IP。该集群将至少包含两台服务器(以便每个集群服务器都可以轮换和更新)。然后,集群服务器会将 LDAPS 连接代理到 DC,并能够找出可用的连接。

问题

对于曾为 AD 的 LDAP 接口创建 HA 集群的任何人:

  1. 集群用的什么软件?
  2. 有什么注意事项吗?
  3. 或者也许是一个完全不同的架构来完成类似的事情?

更新

也许我的问题最初还不够清楚。对此我深表歉意。

这些 Web 应用程序不是由我们开发的,也不是 AD 感知的。他们只要求 LDAP 服务器的主机名/IP 地址。不幸的是,我们必须处理这个限制。我了解SRV records工作原理,但由于这些不是我们的应用程序,因此在这种情况下对我们没有帮助。

我们强迫开发人员修改他们的应用程序以识别 AD 也是不现实的。

唯一的选择是在基础设施内解决这个问题,而不是软件。我的问题是针对任何专门做过这件事的人。

Chr*_*own 5

您应该能够将您的 Web 应用服务器指向 Active Directory 域的 FQDN。这应该将它们连接到可用的 DC。

例如,您的域可能有几个 DC:

dc1.example.com

dc2.example.com

而不是明确地将您的 Web 服务器指向 dc1 或 dc2,只需将它们指向 example.com(尝试在端口 636 上远程登录到 example.com - 您将获得与 DC 的连接)。我认为它基本上是循环 DNS。

我必须承认我不知道如果 DC 离线会发生什么。DNS 记录可能需要一段时间才能反映这一点,如果确实如此的话。可能值得测试而不是在两者之间放置负载平衡器。

  • @AdmiralNemo 这就是为什么使用现代模板的域控制器证书在证书的 subjectAlternateNames 属性中具有域的 FQDN。 (2认同)

841*_*104 2

为此,我们针对 OpenLDAP 服务器使用Cisco IOS 的服务器负载均衡器 (SLB) 。
LDAP 就是 LDAP,它也应该适用于 Microsoft 的 Active Directory。
其他制造商提供类似的产品/功能。平衡 tcp 389/636 与平衡 tcp 80/443(或任何其他 tcp)相同。

不过,您可能会遇到一些证书问题。您也许可以告诉应用程序不要那么警惕。(可能已经不确定您的 AD 证书是如何签名的或您信任哪些 CA。)或者让您的 AD 服务器使用具有适当subjectAlternativeName字段的证书。