Представь, что твоя инфраструктура растёт: несколько серверов TrueNAS, десятки пользователей, и управлять учётными записями на каждом устройстве вручную становится кошмаром. Именно здесь на помощь приходит LDAP — протокол каталогов, который позволяет централизованно управлять пользователями и группами. В этом руководстве мы разберём, как выполнить настройку LDAP в TrueNAS от А до Я, превратив твой NAS в полноценного участника корпоративной сети.
Что такое LDAP и зачем он нужен в TrueNAS?
LDAP (Lightweight Directory Access Protocol) — это протокол для доступа к службам каталогов. Проще говоря, это «телефонная книга» для твоей сети, где хранятся данные о пользователях, группах, компьютерах и других ресурсах. Интеграция TrueNAS с LDAP даёт:
- Единый вход (Single Sign-On): Пользователи входят одним паролем на всех системах.
- Централизованное управление: Добавляешь пользователя в AD/LDAP — он автоматически доступен на TrueNAS.
- Безопасность: Соблюдение политик паролей, блокировка учётных записей из единого центра.
- Упрощение администрирования: Не нужно создавать одинаковых пользователей на каждом NAS.
Подготовка к настройке LDAP в TrueNAS
Прежде чем прыгать в панель управления, давай подготовим почву. Тебе понадобится:
- Доступ к LDAP/AD серверу: Знать его IP-адрес или доменное имя.
- Учётные данные привилегированного пользователя (Bind DN): Обычно это учётная запись с правами на чтение каталога. Например, для AD:
CN=Admin,CN=Users,DC=domain,DC=local. - Информация о структуре каталога: Базовый DN (Base DN), где искать пользователей/группы.
- Правильно настроенная сеть: TrueNAS должен «видеть» LDAP-сервер, разрешены порты (обычно 389 для LDAP, 636 для LDAPS).
nc -zv ldap.server.com 389. Успех? Продолжаем.
Пошаговая настройка LDAP в TrueNAS Scale
Давай разберём процесс в современном TrueNAS Scale. Переходим в «Данные» → «Каталоги» → «LDAP».
Шаг 1: Основные параметры подключения
Заполняем форму, используя данные твоего LDAP-сервера.
# Пример конфигурации для Active Directory
Имя хоста LDAP: dc01.domain.local
Порт LDAP: 389 (или 636 для LDAPS)
Версия LDAP: 3
Базовый DN: DC=domain,DC=local
Bind DN: CN=LDAP_Bind,CN=Users,DC=domain,DC=local
Пароль Bind: **********
Шаблон имени пользователя: samAccountName
Шаблон имени группы: cn
Шаг 2: Настройка поиска (Search Base)
Здесь указываем, в каких ветках каталога искать пользователей и группы. Это ускоряет работу.
Базовый DN для пользователей: CN=Users,DC=domain,DC=local
Базовый DN для групп: CN=Users,DC=domain,DC=local
Фильтр поиска пользователей: (&(objectClass=user)(!(objectClass=computer)))
Фильтр поиска групп: (objectClass=group)
Шаг 3: SSL/TLS и дополнительные параметры
Для безопасности настоятельно рекомендуется использовать шифрованное соединение (LDAPS).
- Включить SSL: Да (если сервер поддерживает).
- Проверять сертификат: Да (для продакшена).
- Сертификат клиента: Оставить пустым, если не используется mutual TLS.
- Атрибут SID: Для AD —
objectSid. - Атрибут Nested Group:
memberOf(для работы вложенных групп).
Шаг 4: Сохранение и тестирование
Нажимаем «Сохранить», а затем — кнопку «Проверить параметры LDAP». TrueNAS попытается подключиться и выполнить простой поиск. Если видишь зелёную галочку — отлично! Если ошибку — смотри следующий раздел.
Настройка LDAP в TrueNAS Core (Legacy UI)
Процесс в старой версии (Core) немного отличается. Идём в «Каталоги» → «LDAP» в боковом меню.
Параметры очень похожи, но интерфейс группирует их иначе. Особое внимание удели полям «Атрибут имени пользователя» (чаще всего samAccountName или uid) и «Атрибут имени группы» (cn). После сохранения необходимо активировать службу в «Службы» → «LDAP» → «Включить».
Типичные проблемы и их решение
Давай разберём частые ошибки, с которыми сталкиваются при настройке truenas ldap.
| Ошибка / Симптом | Возможная причина | Решение |
|---|---|---|
| «LDAP connection failed» | Нет сетевого доступа, неправильный порт, блокировка firewall. | Проверить связь (команда nc), убедиться, что порт 389/636 открыт на LDAP-сервере. |
| «Invalid credentials» при Bind | Неверный Bind DN или пароль, учётная запись заблокирована. | Проверить DN и пароль. Для AD можно использовать userPrincipalName (user@domain.local). |
| Пользователи не находятся | Неправильный Base DN, неверный фильтр поиска. | Использовать ldapsearch для отладки. Упростить фильтр до (objectClass=*). |
| Группы не подтягиваются | Отсутствует атрибут «member» или неправильно указан атрибут группы. | Для AD атрибут группы — cn, убедиться, что у групп есть члены (members). |
| Ошибка SSL/TLS | Самоподписанный сертификат, недоверенный ЦС. | Импортировать корневой сертификат ЦС в TrueNAS или временно отключить проверку (не для продакшена!). |
Инструмент для отладки: ldapsearch
Если что-то идёт не так, самый мощный инструмент — команда ldapsearch, доступная из Shell TrueNAS. С её помощью можно вручную «опросить» LDAP-сервер и понять, где ошибка в конфигурации.
# Пример запроса для поиска пользователя в Active Directory
ldapsearch -H ldap://dc01.domain.local:389 \
-D "CN=LDAP_Bind,CN=Users,DC=domain,DC=local" \
-w "YourPassword" \
-b "CN=Users,DC=domain,DC=local" \
"(sAMAccountName=jdoe)"
# Более простой тест (без привязки к конкретному пользователю)
ldapsearch -x -H ldap://dc01.domain.local -b "DC=domain,DC=local" -s base
Успешный вывод этой команды подтвердит, что сетевое подключение, Bind DN и Base DN работают корректно. Если команда падает с ошибкой — проблема именно в этих базовых параметрах.
Настройка прав доступа (ACL) для LDAP-пользователей и групп
После успешной интеграции самое важное — дать пользователям и группам доступ к данным. В TrueNAS это делается через ACL (Access Control Lists) в наборах данных (datasets).
- Создай или выбери набор данных.
- Перейди в «Разрешения» набора данных.
- Нажми «ДОПОЛНИТЕЛЬНЫЕ». Откроется редактор ACL.
- Добавь запись (ACE): В поле «Кто» начни вводить имя LDAP-пользователя или группы. Система должна предложить их из каталога.
- Настрой права: Чтение, запись, выполнение и т.д.
- Примени изменения рекурсивно, если нужно.
NAS_Users, добавь в неё пользователей и назначь права на доступ к dataset именно этой группе. Управлять одним объектом проще, чем десятками.
Часто задаваемые вопросы (FAQ) по TrueNAS LDAP
Можно ли использовать LDAP и локальных пользователей одновременно?
Да, TrueNAS поддерживает гибридный режим. Локальные пользователи, созданные непосредственно в TrueNAS, будут работать параллельно с пользователями, аутентифицируемыми через LDAP. Однако имена (UID) не должны конфликтовать.
Как часто TrueNAS синхронизирует данные с LDAP-сервером?
TrueNAS кэширует информацию из LDAP для производительности. Полная синхронизация (загрузка всех пользователей и групп) происходит при сохранении конфигурации LDAP и периодически по расписанию. Изменения прав или добавление пользователя в группу в AD могут быть применены не мгновенно — иногда помогает ручной «Проверить параметры LDAP» или перезагрузка службы.
Что делать, если LDAP-сервер недоступен при загрузке TrueNAS?
Загрузка системы не будет заблокирована. Однако аутентификация пользователей через LDAP станет невозможна до тех пор, пока связь не восстановится. Доступ для локальных пользователей и root останется. Убедись, что LDAP-сервер является критически важным и высокодоступным компонентом инфраструктуры.
Чем отличается интеграция с Active Directory от «просто LDAP»?
Active Directory — это реализация LDAP от Microsoft с дополнительными службами (Kerberos, DNS). В TrueNAS есть отдельный пункт «Каталоги» → «Active Directory» для полноценной интеграции, включающей Kerberos-аутентификацию и регистрацию компьютера в домене. «Простой LDAP» — это более универсальный метод, подходящий для OpenLDAP, FreeIPA и, с некоторыми оговорками, для AD в режиме только LDAP-запросов.
Как сбросить кэш LDAP в TrueNAS?
Через командную строку. Подключись к TrueNAS по SSH и выполни:
# Для TrueNAS Scale
midclt call directoryservices.clear_cache '{"type": "LDAP"}'
# Или перезапусти службу
systemctl restart middlewared
Заключение
Настройка LDAP в TrueNAS — это мощный шаг к профессиональному управлению инфраструктурой хранения данных. Потратив время на первоначальную конфигурацию и отладку, ты получаешь централизованную, безопасную и масштабируемую систему управления доступом. Помни главные принципы: всегда тестируй подключение утилитами вроде ldapsearch, настраивай права через группы, а не отдельных пользователей, и обязательно используй шифрование (LDAPS) в production-среде. Теперь твой TrueNAS готов стать полноправным членом корпоративной экосистемы.