Я использую резервную пару серверов OpenLDAP для аутентификации PAM и служб каталогов через NSS. Пока что он на 100% надежен, но ничто не работает безупречно вечно.
Какие шаги я должен предпринять сейчас, чтобы у меня был шанс восстановиться после сбоя сервера (ов) LDAP? В моем неофициальном тестировании оказалось, что даже уже аутентифицированные оболочки в значительной степени бесполезны, поскольку все поиски имени пользователя / uid зависают, пока сервер каталогов не вернется.
Пока что я придумал только две вещи:
Есть другие предложения?
Правило №1 сетевой аутентификации: Всегда имейте доступную локальную учетную запись.
За пределами правила №1 (и для того, чтобы сделать его полезным, не блокируя nss_ldap, пытаясь связаться с мертвым сервером):
Используя pam_ldap / nss_ldap, вы можете установить bind_policy
на «мягкий» (немедленно возвращаться при сбое сервера), что устраняет проблему блокировки. Вы также можете установить timelimit
значения для возврата nss_ldap, если он не может связаться с сервером LDAP. Обратите внимание, что это имеет и другие последствия (например, мягкий сбой во время SSHing in сделает вашу учетную запись LDAP недоступной, а спорадические сбои приведут к неизвестным именам пользователей для некоторых UID LDAP.
Также есть несколько недокументированных параметров nss_ldap: nss_reconnect_tries
, nss_reconnect_sleeptime
, nss_reconnect_maxsleeptime
, & nss_reconnect_maxconntries
, которые делают то, что подразумевают их имена, и помогут вам обойти сбои вашего LDAP-сервера. без установка вашего bind_policy на soft (это то, что я делаю - 3 попытки повторного подключения с максимальным временем ожидания 10 секунд = максимальная задержка 30 секунд ожидания для сервера LDAP).