У меня установлен сервер OpenLDAP на FreeBSD 8.x. Я получаю эту ошибку:
Mar 25 16:11:45 ldap2 slapd[1268]: nss_ldap: could not search LDAP server - Server is unavailable
Я включил информацию о своей конфигурации LDAP ниже. В дополнение pam_ldap
Модуль PAM включен как для sshd
и system
служба.
ldap.conf:
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
base dc=albiruni,dc=com
uri ldap://localhost/
rootbinddn cn=admin,dc=albiruni,dc=com
#bind_policy soft
ssl start_tls
TLS_REQCERT allow
pam_login_attribute uid
nsswitch.conf
# nsswitch.conf(5) - name service switch configuration file
# $FreeBSD: src/etc/nsswitch.conf,v 1.1.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $
#
group: files cache ldap
passwd: files cache ldap
sudoers: files cache ldap
#group: compat
#group_compat: nis
hosts: files dns
networks: files
#passwd: compat
#passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
Как сказал @ChrisS, похоже, что ваш сервер LDAP пытается запросить сам себя перед запуском.
Некоторые решения:
Точка ldap2
в ldap1
и наоборот в /etc/ldap.conf
Имя хоста вашей системы ldap2
, поэтому я предполагаю, что есть ldap1
вокруг.
Если вы сконфигурируете системы для запроса друг друга, то, пока вы перезагружаетесь только по одному, у вас всегда будет хотя бы один сервер для загрузки другого.
Убедитесь, что у вас есть nss_initgroups_ignoreusers
установить правильно в /etc/ldap.conf
В любом случае это хорошая общая практика - пользователи, на которые ссылаются во время запуска (например, пользователь сервера LDAP), не должны требовать, чтобы LDAP был запущен и работал, и не должны инициировать запросы LDAP для поиска членства в группах. В nss_initgroups_ignoreusers
опция подавляет запросы членства в группе LDAP для определенных пользователей - обычно учетных записей системы / службы.
Обычно это устраняет ситуацию «сервер недоступен», поскольку сервер LDAP (и другие базовые системные службы) могут запускаться без необходимости запрашивать сервер LDAP. К тому времени вещи, которые делать нужно, чтобы сервер LDAP запрашивал его, сервер LDAP уже должен быть запущен.