使用网络负载平衡器第 3 层/第 4 层(IP 协议)对 LDAPS 进行负载平衡

使用网络负载平衡器第 3 层/第 4 层(IP 协议)对 LDAPS 进行负载平衡

我正在尝试设置一个网络负载均衡器,它根据第 3 层/第 4 层(IP 协议)数据将流量引导至健康的服务器。

问题:这对 LDAP over SSL (LDAPS) 有用吗?(我知道第 7 层根据需要执行 TLS/SSL 解密)

我有一个网络负载均衡器,我的两个后端服务器正在运行 LDAP 服务。
运行ldapsearch结果如下:

目标 询问 地位
后端服务器1 ldapsearch -x -H ldap://<Backend1> 成功的
后端服务器1 ldapsearch -x -H ldaps://<Backend1> 成功的
后端服务器2 ldapsearch -x -H ldap://<Backend2> 成功的
后端服务器2 ldapsearch -x -H ldaps://<Backend2> 成功的
网络负载均衡器 ldapsearch -x -H ldap://<NLB> 成功的
网络负载均衡器 ldapsearch -x -H ldaps://<NLB> 不是成功的

关于如何解决这个问题有什么建议吗?

编辑: 运行时ldapsearch -x -H ldaps://<NLB>出现以下错误:

ldap_sasl_interactive_bind: Can't contact LDAP server (-1)
        additional info: (unknown error code)

添加-d1选项:

ldap_url_parse_ext(ldaps://ipa.example.com)
ldap_create
ldap_url_parse_ext(ldaps://ipa.example.com:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ipa.example.com:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.141.4.23:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
TLS: hostname (ipa.example.com) does not match common name in certificate (ipa2.exmaple.com).
TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

所以... 似乎我需要将证书附加到包含 ipa1 和 ipa2 的 NLB?我不确定云提供商是否支持此功能。

笔记:由于它是一项托管服务,因此我无法通过 SSH 进入 NLB。

答案1

It seems like I need to attach a certificate to the NLB containing both ipa1 and ipa2 in the certificate?

不,您需要一个带有 的证书ipa.example.com,这似乎是您为负载均衡器使用的名称。

如果您还希望能够直接联系 LDAP 服务器(绕过负载平衡器),则需要具有多个 SAN 的证书。

无论哪种方式,您都应该直接在 LDAP 服务器上安装证书,因为您的负载均衡器在第 4 层运行,因此它不会终止 SSL 连接,而只是将流量转发到其中一台服务器。

答案2

TLS: hostname (ipa.example.com) does not match common name in certificate

您正在使用的证书在 SAN 中没有客户端正在连接的名称。

相关内容