Рейтинг:0

openldap/slapd возвращает ошибку: «daemon: listen(ldap://my.server1.org, 5) failed errno=98 (адрес уже используется)»

флаг cn

Я пытаюсь настроить репликацию master master между двумя серверами openldap. Для этого первые шаги заставляют меня настроить эти два файла:

  • /и т.д./хосты, нужно содержать DNS baseDN серверов (самого себя и второго сервера):
192.168.150.1 мой.server1.org
192.168.150.2 мой.server2.org
  • /etc/по умолчанию/slapd, необходимо содержать собственное полное доменное имя сервера, чтобы сопоставить будущий идентификатор сервера с URI:
SLAPD_SERVICES="ldap:///ldapi:///ldap://my.server1.org"

После настройки переменной SLAPD_SERVICES и перезапуска службы slapd я получаю следующую ошибку: демон: listen(ldap://my.server1.org, 5) failed errno=98 (адрес уже не используется). Примечание. Служба активна (не в состоянии сбоя).

Все команды LDAP (например, ldapsearch -x) возвращают одну и ту же ошибку: ldap_sasl_bind(SIMPLE): Не удается связаться с сервером LDAP (-1)

Я попытался найти причину, перечислив все процессы, запущенные на сервере, которые используют адрес мой.server1.org :

lsof -i |grep my.server1.org
nmdb 377 root 25u IPv4 17535 0t0 UDP my.server1.org:netbios-ns
nmdb 377 root 27u IPv4 17537 0t0 UDP my.server1.org:netbios-dgm

Примечание. Удаление PID netbios не решило проблему.

Как видите, второй сервис slapd/openldap еще не запущен.

Я не смог найти решение самостоятельно или в Интернете, поэтому я размещаю свою проблему здесь.

Редактировать 1: после запроса @naxto asenjo вот результат команды ss --listening --processes --numeric |egrep "389|636" :

Состояние Netid Recv-Q Send-Q Локальный адрес:Порт Адрес равноправного узла:Порт
u_str LISTEN 0 128 /run/containerd/containerd.sock.ttrpc 14758 пользователей:(("containerd",pid=389, fd=6)) *O
u_str LISTEN 0 128 /run/containerd/containerd.sock.ttrpc 14758 пользователей:(("containerd",pid=389, fd=7)) *O

Изменить 2: я попытался изменить значение в SLAPD_SERVICES и /etc/hosts на новое полное доменное имя, которое я никогда не использовал (база данных ldap по-прежнему my.server1.org).После перезапуска slapd я получаю ту же ошибку «адрес уже используется» (для нового полного доменного имени). Похоже, /etc/hosts и SLAPD_SERVICES столкнулись с конфликтом? Если я не редактирую файл /etc/hosts, я получаю сообщение об ошибке «временный сбой в разрешении имен».

флаг cn
попробуйте запустить ss --listening --numeric --processes и посмотрите, работает ли slapd на одном из портов по умолчанию (389/636)
флаг cn
slapd не работает, я пробовал grep 389, 636 и slapd с помощью ss. Служба переходит в активное завершенное состояние сразу после модификации переменной SLAPD_SERVICES.
флаг cn
что-то должно прослушиваться на порту, опубликуйте вывод ss --listening --numeric --processes | egrep "389|636
флаг cn
Я отредактировал свой первый пост, чтобы добавить результат. После остановки служб docker и containerd ошибка все еще остается (я перезапустил slapd)
флаг cn
ах, в докере мы это пропустили. Итак, теперь вам нужно объяснить настройку сети, но это не похоже на «профессиональную производственную среду», а скорее на тестовую установку, я прав?
флаг cn
Да, это тестовая установка, и она не находится в док-контейнере, у меня просто была служба, работающая вместе с openldap (извините за путаницу). Сетевая конфигурация представляет собой два компьютера, подключенных к коммутатору, каждый из которых имеет один сетевой интерфейс.
Рейтинг:0
флаг cn

Я нашел решение через некоторое время вне проекта.

В моей переменной SLAPD_SERVICES использовались два адреса FQDN: ldap:/// и ldap://my.server1.org/ оба используют :389 порт.

SLAPD_SERVICES="ldap:///ldapi:///ldap://my.server1.org"

Если вы хотите разрешить конфликт, вы можете удалить один из адресов или изменить порт одного из них.

SLAPD_SERVICES="ldap://:3389/ldapi:///ldap://my.server1.org"
или же 
SLAPD_SERVICES="ldapi:/// ldap://my.server1.org"

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.