情况:
我们的环境中有许多 Active Directory 域控制器 (又名 DC);
我们还有来自其他部门的众多 IT 专家,他们将自己服务(主要是基于 Web 的应用程序)的身份验证绑定到特定 DC 的特定 IP在端口 389 上,而不是使用虚拟 IP 或负载平衡 A 记录。
结果是,当单个 DC 离线时,我们一半的基础设施也会随之崩溃。
有什么方法可以防止这些不必要的直接 LDAP 连接(又称 LDAP 绑定)到我们的 DC?据我了解,我们不能简单地关闭389|636DC 防火墙上的端口,因为这样常规域成员(如 Windows 服务器和工作站)将无法正常运行。Netlogon 等等。那么从技术角度来看,有没有办法强制通过 VIP|Load-Balancer 进行此类连接并阻止直接连接?
答案1
不,绝对不行。此外,不支持在 AD 前面安装负载平衡器。可能在某些情况下与良好的公民消费者合作,但 100% 不受支持。
Active Directory 不提供高可用性或负载平衡的保证。消费应用程序有责任验证连接性并处理连接性和可用性问题,从设计到操作。
一些例子:
许多 .NET 托管代码使用 DirectoryEntry。绑定后,DirectoryEntry 会保持与特定域控制器的亲和性。
服务器绑定。可以使用地址中的服务器名称/IP 执行 LDAP 绑定。这是规范中的规定,不能忽略,并且它是在复杂和恶劣的环境中执行绑定的首选方法。
这种亲和性的原因是,一个对象可能最近才创建,并且还不存在于其他 DC 上。或者一个属性值已更新,但该值尚未复制。因此,这是一个必须保持与 DC 的亲和力,因为对于任何事物来说,拥有实际准确的数据非常重要,并且不会因连接到具有陈旧数据的 DC 而崩溃。