Windows

通過 F5 從域控制器負載平衡 LDAP

  • August 7, 2019

我知道由於 Kerberos 和 SPN 問題,Windows 域控制器上的 LDAP 負載平衡或故障轉移通常不是一個好主意。

但是,我有很多使用 LDAP 進行身份驗證和授權的非 Windows 應用程序。他們現在只是指向一個域控制器,如果有一個 VIP 和一個池,後面有我所有的 DC 就好了。

那麼當我看到這個時,這裡的交易是什麼?:

https://devcentral.f5.com/questions/ad-dcs-behind-f5

F5 有什麼特別之處嗎?它只是退回到 NTLM 嗎?或者它只是使用簡單的 LDAP 綁定到 AD?(或 SLDAP 綁定)。

非 Windows 客戶端使用 LDAP 的最佳方式是什麼?是否應該開箱即用地設計它們以使用 DNS 定位器 SRV 記錄?是否應該部署 AD-LDS 並對其進行負載平衡?

有什麼我想念的嗎?

是的,想要與 Active Directory 互動的應用程序確實應該設計為使用正確的 DC 定位程序(有據可查);不幸的是,很多時候他們不是。

您通常可以通過將 LDAP 應用程序指向 Active Directory 域名而不是特定 DC 來解決此問題,因為每個 DC 都會自動為指向其 IP 地址的域名註冊 AN A 記錄,因此這將作為 DNS 循環; 但是,這可能並且將會導致兩個重大問題:

  • 如果 DC 關閉,它仍將包含在 DNS 應答中;如果應用程序不夠智能而無法嘗試另一個,這可能會導致 LDAP 失敗。
  • 這不會考慮 Active Directory 站點拓撲;如果您有一個地理分佈的環境,您最終可能會在倫敦的應用程序通過緩慢和/或不可靠的 WAN 連結對澳大利亞的 DC 進行身份驗證。

稍微好一點的解決方案是為 LDAP 應用程序創建自己的 DNS 記錄,作為指向特定 DC 的 CNAME 記錄,例如ldap.example.com指向dc1.example.com,並在其上設置慢 TTL(fe 60 秒);然後,您可以配置您的應用程序以ldap.example.com用於其所有 LDAP 需求。如果/當 DC1 出現故障時,您可以重新映射ldap.example.comdc2.example.com,緩慢的 TTL 將確保應用程序盡快意識到更改,從而最大限度地減少停機時間。

無論如何,最好避免使用負載平衡解決方案,因為 LDAP 根本不是為與它們一起工作而設計的,它們可能會載入任何類型的問題。

引用自:https://serverfault.com/questions/762699