![ldapmodify не может связаться с сервером LDAP для cn=config](https://rvso.com/image/697023/ldapmodify%20%D0%BD%D0%B5%20%D0%BC%D0%BE%D0%B6%D0%B5%D1%82%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D1%82%D1%8C%D1%81%D1%8F%20%D1%81%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%BC%20LDAP%20%D0%B4%D0%BB%D1%8F%20cn%3Dconfig.png)
Я уже 3 дня рву на себе волосы, пытаясь настроить ldap. Сначала я попытался установить из исходного кода, но затем переустановил с помощью apt-get
, что вызвало некоторые ошибки миграции, но я считаю, что все они устранены. Я могу выполнить ldapsearch -x
и его собратьев, когда я правильно указываю корневой DN (по какой-то причине указанная база ldap.conf
не работает), что, как я предполагаю, указывает на то, что сервер функционирует должным образом; я также проверил, что сервер прослушивает ниже. Однако я пытаюсь настроить SSL и понимаю, что с версией, которую я установил через apt-get, необходимо настроить в cn=config
, и поэтому необходимо использовать -H ldapi:/// -Y EXTERNAL
параметры ниже, однако он не может связаться с сервером, когда я пытаюсь.
root@aeneas:/tmp/ldap# ldapmodify -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f ./modify.ldif
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
root@aeneas:/tmp/ldap# netstat -plane | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 0 53158 11280/slapd
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 0 53163 11280/slapd
tcp6 0 0 :::389 :::* LISTEN 0 53159 11280/slapd
tcp6 0 0 :::636 :::* LISTEN 0 53164 11280/slapd
unix 2 [ ACC ] STREAM LISTENING 53160 11280/slapd /var/run/slapd/ldapi
unix 2 [ ] DGRAM 53154 11280/slapd
root@aeneas:/tmp/ldap# cat ./modify.ldif
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/ssl/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/servercrt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/lda/pssl/serverkey.pem
Позже я отключил ldaps:///
прослушивание порта 636, подозревая, что ldapmodify
он по умолчанию подключается к SSL-серверу, а затем прекращает работу, если не получает сертификат, но это не дало никакого эффекта.
решение1
Подключение основано на наличии файла канала в файловой системе для связывания клиента и сервера slapi
.LDAP
Конечно, местоположение файла pipe зависит от установки.
Если сервер скомпилирован, скажем, в /usr/local
, то сервер slapd привязывается к каналу в:
/usr/local/lib/run/ldapi
С другой стороны, ldapsearch
стандартный инструмент, установленный из apt (пример Debian), ищет файл канала в:
/var/run/slapd/ldapi
Я бы рекомендовал создать мягкую ссылку.
решение2
При дальнейшем исследовании были обнаружены некоторые исполняемые файлы, оставшиеся /usr/local/
от исходной установки; их удаление решило проблему с подключением. LDIF вызывает проблемы, но это не по теме.