.png)
Я пытаюсь настроить сетевой балансировщик нагрузки, который направляет трафик на работоспособные серверы на основе данных уровня 3/уровня 4 (протокол IP).
Вопрос: Работает ли это для LDAP через 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)
Итак... Похоже, мне нужно прикрепить сертификат к NLB, содержащий в сертификате как ipa1, так и ipa2? Я не уверен, поддерживается ли это облачным провайдером.
Примечание:Я не могу подключиться по 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 имени, к которому подключается клиент.