Представь, что твоя инфраструктура — это слаженная команда разработчиков. Серверы, рабочие станции, службы — все должны работать согласованно. Но вот появляется TrueNAS — мощное хранилище, которое пока "вне команды". Подключение TrueNAS в домен решает эту проблему, превращая его в полноценного участника корпоративной сети с централизованной аутентификацией через Active Directory.
В этой статье мы разберем весь процесс интеграции от подготовки до тонкой настройки прав. Я, как твой DevOps-ментор, объясню не только "как", но и "почему", чтобы ты понимал механику процесса, а не просто копировал команды.
Предварительные требования и подготовка
Прежде чем начать подключение truenas в домен, убедись, что выполнены базовые условия. Это как проверить зависимости перед сборкой проекта.
- Работающий контроллер домена (DC) Windows Server с Active Directory. Запиши его IP-адрес и полное доменное имя (FQDN).
- Учетная запись в AD с правами на присоединение компьютеров к домену. Обычно это права обычного пользователя, но можно создать специальную сервисную учетку.
- Сетевая связность между TrueNAS и контроллером домена. Проверь ping и разрешение имен (nslookup).
- Настроенные DNS-серверы на TrueNAS. Они должны указывать на контроллер домена или на серверы, которые могут разрешать SRV-записи _ldap._tcp.
Пошаговая настройка: Подключение TrueNAS к домену
Давай разберем процесс по шагам через веб-интерфейс TrueNAS SCALE или CORE. Логика идентична для обеих версий.
Шаг 1: Настройка DNS и проверка связи
Сначала убедимся, что TrueNAS видит домен. Перейди в Network → Global Configuration и укажи DNS-серверы.
# Проверка связи и разрешения имен с консоли TrueNAS
ping dc01.corp.local
nslookup corp.local
nslookup -type=SRV _ldap._tcp.corp.local
Шаг 2: Конфигурация службы Active Directory
Идем в Credentials → Directory Services. Выбираем тип "Active Directory".
Заполняем форму ключевыми параметрами:
- Domain Name: CORP.LOCAL (или твое доменное имя в верхнем регистре).
- Domain Account Name: ad_join_user (или имя твоей учетной записи).
- Domain Account Password: Пароль для этой учетки.
- Domain Controller IP Address: Необязательно, но если несколько DC, можно указать предпочтительный.
- Enable: Поставь галочку.
В Advanced Options можно настроить:
# Пример расширенных параметров из CLI (соответствуют Advanced Options)
# Site Name: Default-First-Site-Name
# Kerberos Realm: CORP.LOCAL
# AD Timeout: 60
# DNS Timeout: 10
# Winbind NSS Info: rfc2307
# Allow Trusted Domains: Нет
# Use Default Domain: Да
Нажимаем "Save". Если все настроено верно, в статусе появится "HEALTHY". TrueNAS создаст компьютерную учетную запись в контейнере "Computers" (или в указанном OU).
Шаг 3: Проверка присоединения
Убедись, что присоединение прошло успешно.
# Проверка через консоль TrueNAS
midclt call activedirectory.domain_info | jq .
# Или проверка утилитой wbinfo
wbinfo -t # Проверка trust secret (должно быть "Success")
wbinfo -u # Список пользователей AD
wbinfo -g # Список групп AD
Шаг 4: Настройка SMB-шары с доменной аутентификацией
Теперь создадим общую папку, доступную доменным пользователям.
- Создай Dataset (в Storage). Например,
ad_share. - Перейди в Sharing → SMB и создай новую общую папку, указав этот dataset.
- В настройках шары критически важны два параметра:
- Path: /mnt/pool/ad_share
- Purpose: Выбери "No presets" или "Multi-protocol (SMB)..."
- В Access Control List (ACL) настрой права. Здесь магия интеграции. В поле "Owner" или "Group" можно ввести доменного пользователя или группу, например:
CORP\\Domain UsersилиCORP\\DevOpsTeam.
# Пример ACL через CLI (getfacl / setfacl)
# Владелец: user:corp\\admin
# Группа: group:corp\\project_x
# Разрешения: rwx для группы, r-x для остальных
# Это настраивается в веб-интерфейсе через редактор ACL
Типичные проблемы и их решение
Интеграция truenas в домене не всегда проходит гладко. Вот частые ошибки и способы их исправить.
| Проблема | Возможная причина | Решение |
|---|---|---|
| Статус "FAILED" в Directory Services | Неверный пароль, блокировка firewall (порты 88, 135, 389, 445, 464, 3268), проблемы с DNS. | Проверь пароль, открой порты на DC, убедись, что nslookup corp.local возвращает правильный IP. |
| Пользователи AD не видны в выпадающих списках при настройке ACL | Служба winbind не запущена или есть проблемы с кэшированием. | В CLI: midclt call service.restart winbind. Подожди несколько минут для синхронизации. |
| "Access Denied" при подключении к шаре с доменными учетками | Неправильно настроены права NTFS/ACL на dataset или в настройках SMB-шары. | Перепроверь ACL, убедись, что группа "Domain Users" или конкретный пользователь имеют минимум права на чтение (RX). |
| Имя компьютера TrueNAS уже существует в AD | Старая учетная запись от предыдущей попытки присоединения. | Удали старую компьютерную учетку из AD (через "Active Directory Users and Computers") или измени "Computer Account" в настройках TrueNAS. |
Часто задаваемые вопросы (FAQ)
Можно ли присоединить TrueNAS к домену через командную строку?
Да, но это не рекомендуется для обычных случаев. Веб-интерфейс генерирует правильные конфигурационные файлы (smb.conf, krb5.conf). Однако для автоматизации или troubleshooting можно использовать midclt call activedirectory.update с JSON-параметрами или напрямую редактировать /etc/samba/smb.conf и использовать net ads join.
Какие порты нужно открыть на firewall между TrueNAS и DC?
Основные порты: TCP 53 (DNS), UDP 53 (DNS), TCP 88 (Kerberos), TCP 135 (RPC), TCP/UDP 389 (LDAP), TCP 445 (SMB), TCP/UDP 464 (Kerberos passwd), TCP 3268 (LDAP GC). Для надежности разреши весь трафик с TrueNAS на DC в рамках внутренней доверенной сети на время настройки.
Как влияет выбор "Winbind NSS Info" (rfc2307 vs template) на работу?
Это важный параметр, определяющий, как атрибуты пользователей/групп AD (UID, GID, home directory) маппятся на Unix-систему. rfc2307 использует атрибуты, расширяющие схему AD (требует подготовки). template генерирует UID/GID автоматически по формуле. Для большинства сценариев SMB-доступа подходит "template". "rfc2307" нужен, если планируется NFSv4 с Kerberos и точным маппингом идентификаторов.
Можно ли использовать одну интеграцию для нескольких доменов (лес)?
TrueNAS поддерживает присоединение только к одному домену за раз. Однако если в лесу есть доверительные отношения, пользователи из других доменов могут получить доступ, если в настройках включена опция "Allow Trusted Domains". Но управление ими будет сложнее.
Заключение и лучшие практики
Итак, мы детально разобрали процесс подключения truenas в домен. Давай закрепим ключевые моменты как лучшие практики:
- Используй сервисную учетную запись для присоединения, а не учетную запись администратора домена. Создай пользователя с минимально необходимыми правами ("Add workstations to domain").
- Помещай компьютерную учетку TrueNAS в отдельное OU в AD. Это позволит применять к ней групповые политики (GPO), если потребуется (хотя обычно это не нужно).
- Тестируй доступ с клиентской машины, входящей в домен. Используй команду
net use Z: \\\\truenas\\share /user:corp\\usernameв Windows. - Документируй использованные учетные данные и параметры. Это сэкономит часы при переустановке или масштабировании.
- Мониторь журналы (
/var/log/samba4/log.winbind,/var/log/middleware.log) при возникновении проблем.
Интеграция TrueNAS с Active Directory — это мощный шаг к созданию единого, безопасного и управляемого пространства для хранения данных в корпоративной среде. Теперь твое хранилище — полноценный гражданин домена.