Создание первого домена в лесу
Эллес может развертываться в качестве первого контроллера домена при построении леса.
В примерах в данном разделе используются следующие параметры:
-
домен верхнего уровня (TLD) —
EXAMPLE.COM; -
DNS-имя создаваемого домена —
samdom.example.com; -
область безопасности Kerberos (realm) —
SAMDOM.EXAMPLE.COM. -
имя хоста первого контроллера домена —
DC1; -
статический IP-адрес первого контроллера домена —
10.0.9.100.
Подготовка к развертыванию
Перед началом развертывания Эллес в качестве первого контроллера домена в лесу:
-
Выберите DNS-домен для создаваемого леса. Не рекомендуется использовать для организации домен верхнего (первого) уровня (TLD), так как разрешение имен в домене, который указывается при установке Эллес, будет осуществляться через контроллер домена. Оптимальный подход — использовать для размещения контроллера поддомен. В данном руководстве в качестве примера используется поддомен
samdom.example.com.Выбранное имя также будет использоваться в качестве имени области безопасности (realm) Kerberos.
После установки и настройки контроллера домена будет невозможно изменить имя DNS-зоны и имя области безопасности Kerberos, так как Эллес не поддерживает такое изменение.
-
Выберите для контроллера домена имя хоста длиной не более 15 символов (ограничение протокола NetBIOS) и назначьте его.
Например:
sudo hostnamectl set-hostname dc1
-
Назначьте серверу, на котором будет развертываться контроллер домена, статический IP-адрес и зарезервируйте его на маршрутизаторе.
Контроллер домена Эллес будет обеспечивать разрешение DNS-имен для всех подключенных к нему рабочих станций. Поэтому при назначении ему IP-адреса может потребоваться использовать значение за пределами пула адресов DHCP. -
Отключите инструменты, которые автоматически обновляют файл с конфигурацией разрешения DNS-имен /etc/resolv.conf.
-
Убедитесь, что в файле /etc/hosts полное доменное имя (FQDN) и короткое имя хоста корректно сопоставлены с IP-адресом контроллера домена.
Например:
127.0.0.1 localhost 10.0.9.100 dc1.samdom.example.com DC1
Имя хоста и FQDN не должны сопоставляться с IP-адресом
127.0.0.1или любым другим IP-адресом, отличным от того, который назначен серверу контроллера домена в настройках LAN. -
Если контроллер домена Samba или Эллес ранее уже развертывался на сервере, перед установкой:
-
Определите, какие пакеты требуется удалить.
Например:
apt list --installed | grep samba
-
Удалите существующие пакеты с помощью пакетного менеджера.
Например:
sudo apt purge samba inno-samba samba-common-bin samba-common
-
Удалите содержимое каталога /app/inno-samba/, если он существует:
sudo rm -rf /app/inno-samba/*
-
-
Если ранее на сервере выполнялась настройка аутентификации по протоколу Kerberos, при необходимости создайте резервную копию файла /etc/krb5.conf и удалите его:
sudo rm /etc/krb5.conf
-
Установите DNS-сервер BIND 9 и дополнительные утилиты:
sudo apt install bind9 bind9utils
-
Установите основной пакет inno-samba, следуя инструкциям, приведенным в разделе «Установка пакета inno-samba».
Развертывание
Развертывание Эллес в качестве контроллера домена предусматривает создание баз данных и первоначального набора записей, необходимых для работы домена, включая учетную запись администратора и записи DNS.
В состав пакета inno-samba входит встроенный инструмент командной строки samba-tool (/app/inno-samba/bin/samba-tool), позволяющий задать требуемые настройки в конфигурационном файле smb.conf как в интерактивном режиме, так и в обычном режиме.
Развертывание выполняется только для первого контроллера в домене. Остальные контроллеры должны присоединяться к существующему домену.
Параметры развертывания
Развертывание домена выполняется с помощью подкоманды samba-tool domain provision, которая принимает ряд параметров и может выполняться в интерактивном или неинтерактивном режиме.
Некоторые параметры (см. полный список доступных параметров в разделе «Администрирование домена»):
| Интеракт. режим | Неинтеракт. режим | Описание |
|---|---|---|
|
|
Область безопасности (realm) Kerberos. DNS-имя домена в верхнем регистре |
|
|
Имя домена NetBIOS (Workgroup). Строка длиной не более 15 символов без точек. Рекомендуется использовать первую часть DNS-имени домена |
|
|
Установка в роли контроллера домена: |
|
|
DNS-сервер. Первый контроллер в домене должен устанавливаться с DNS-сервером. Поддерживаются следующие DNS-серверы:
|
|
|
Один или несколько (через запятую) IP-адресов DNS-серверов для рекурсивного разрешения имен |
|
|
Пароль администратора домена, соответствующий требованиям к сложности:
Если пароль не соответствует требованиям к сложности, процесс развертывания завершается неуспешно |
|
|
Тип базы данных каталога. По умолчанию Эллес использует TDB с ограничением на размер 4 ГБ. Если ожидается, что размер базы данных каталога будет превышать 4 ГБ, требуется использовать LMDB. Для этого задайте: В этом случае по умолчанию максимально допустимый размер базы будет увеличен до 8 ГБ. Для изменения значения по умолчанию используйте параметр Для корректной работы с LMDB установите пакет утилит |
|
|
Максимальный размер файлов базы данных каталога. При использовании LMDB ( Заданное ограничение является фиксированным. Его превышение приведет к неработоспособности Эллес |
|
|
Общий функциональный уровень (режим работы) домена и леса. Возможные значения: Значение по умолчанию — |
|
|
Подключение расширений NIS, необходимых для отображения информации на вкладке Unix Attributes в оснастке ADUC на ОС Windows |
|
|
Отключение устаревших алгоритмов шифрования и обмена ключами, разрешенных для использования по умолчанию при подключении к серверу LDAP. Параметр изменяет список приоритетов библиотеки GnuTLS по умолчанию (см. подробнее в документации на библиотеку). Рекомендуется использовать указанное значение для повышения уровня безопасности |
|
Если сервер, на котором выполняется развертывание, имеет несколько сетевых интерфейсов, дополнительно задайте следующие опции для привязки Эллес к определенным интерфейсам: --option="interfaces=lo eth0" --option="bind interfaces only=yes" Это необходимо для регистрации командой |
Развертывание в интерактивном режиме
Перед запуском развертывания в интерактивном режиме убедитесь в отсутствии файла /app/inno-samba/etc/smb.conf. Если он существует, переименуйте или удалите его.
Для запуска развертывания в интерактивном режиме выполните подкоманду samba-tool domain provision, передав:
-
параметр
--interactive; -
дополнительные параметры команды, которые не доступны в интерактивном режиме;
-
конфигурационные параметры Эллес для добавления в файл smb.conf в формате
--option="<parameter name> = <parameter value>".
Например:
sudo /app/inno-samba/bin/samba-tool domain provision \
--interactive \
--use-rfc2307 \
--backend-store=mdb \
--backend-store-size=16Gb \
--function-level=2012_R2
В процессе выполнения команды укажите:
-
Realm— имя области безопасности Kerberos; -
Domain— имя домена; -
Server Role (dc, member, standalone)— роль сервера (dc); -
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)— плагин для работы службы DNS (BIND9_DLZ); -
DNS forwarder IP address— IP-адрес внешнего сервера DNS для перенаправления запросов DNS (если требуется); -
Administrator password— пароль администратора; -
Retype password— подтверждение введенного пароля администратора.
Развертывание в неинтерактивном режиме
Пример запуска развертывания в неинтерактивном режиме:
sudo /app/inno-samba/bin/samba-tool domain provision \ --server-role=dc \ --use-rfc2307 \ --dns-backend=BIND9_DLZ \ --realm=SAMDOM.EXAMPLE.COM \ --domain=SAMDOM \ --adminpass=Passw0rd \ --backend-store=mdb \ --backend-store-size=16Gb \ --function-level=2012_R2
Завершение настройки
После успешного развертывания выполните следующие шаги для завершения настройки контроллера домена:
-
Настройте автоматический запуск доменной службы
inno-samba:sudo systemctl unmask inno-samba.service sudo systemctl enable inno-samba.service
-
Для интеграции с сервером DNS BIND 9 через плагин
BIND9_DLZ:-
добавьте в конфигурационный файл /etc/bind/named.conf команду включения конфигурации inno-samba:
include "/app/inno-samba/bind-dns/named.conf";
-
добавьте в раздел
optionsфайла /etc/bind/named.conf.options настройку ключей авторизации:options { tkey-gssapi-keytab "/app/inno-samba/bind-dns/dns.keytab"; ... }; -
перезапустите сервис
bind9:sudo systemctl restart bind9.service
-
-
Перезапустите доменную службу
inno-samba:sudo systemctl restart inno-samba.service
-
Чтобы участники домена могли находить требуемые сервисы (LDAP, Kerberos) с помощью DNS-сервера, обеспечивающего разрешение имен в соответствующей DNS-зоне, в файле /etc/resolv.conf на сервере с контроллером домена укажите имя DNS-домена в качестве значения параметра
searchи IP-адрес сервера в качестве значения параметраnameserver.Например:
search samdom.example.com nameserver 10.0.9.100
-
Скопируйте конфигурацию Kerberos, созданную в процессе развертывания, в конфигурацию Kerberos, используемую операционной системой, например, с помощью следующей команды:
sudo cp /app/inno-samba/private/krb5.conf /etc/krb5.conf
Созданная при развертывании конфигурация Kerberos использует записи о ресурсах (SRV-записи) DNS-службы для поиска центра распространения ключей (KDC).
В тех случаях, когда топология сети позволяет беспрепятственно доставлять по протоколу UDP пакеты большего размера от контроллера домена к клиентам, для повышения производительности в конфигурационный файл /etc/krb5.conf может быть добавлена следующая настройка:
[kdc] max-kdc-datagram-reply-length = 2800Она обеспечивает формирование сервером ответа на запрос аутентификации, полученный от клиента по протоколу UDP, при превышении ограничения на максимальный размер ответа по умолчанию (1400 байт).
Данную настройку следует использовать с большой осторожностью, так как фрагментация UDP-пакетов в сетях со сложной топологией может привести к обратному эффекту!
-
При необходимости добавьте одну или несколько обратных DNS-зон.
Например:
/app/inno-samba/bin/samba-tool dns zonecreate dc1.samdom.example.com 9.0.10.in-addr.arpa -U Administrator Password for [Administrator@SAMDOM.EXAMPLE.COM]: Zone 9.0.10.in-addr.arpa created successfully
Проверка результатов развертывания
Для тестирования работы Эллес в качестве контроллера домена могут быть выполнены, например, следующие проверки:
-
проверка режима работы контроллера домена:
sudo /app/inno-samba/bin/samba-tool domain level show Domain and forest function level for domain 'DC=samdom,DC=example,DC=com' Forest function level: (Windows) 2012_R2 Domain function level: (Windows) 2012_R2 Lowest function level of a DC: (Windows) 2016
-
проверка конфигурации DNS:
-
запрос значения SRV-записи
_ldapв домене:host -t SRV _ldap._tcp.samdom.example.com. _ldap._tcp.samdom.example.com has SRV record 0 100 389 dc1.samdom.example.com.
-
запрос значения SRV-записи
_kerberosв домене:host -t SRV _kerberos._udp.samdom.example.com. _kerberos._udp.samdom.example.com has SRV record 0 100 88 dc1.samdom.example.com.
-
запрос A-записи контроллера домена:
host -t A dc1.samdom.example.com. dc1.samdom.example.com has address 10.0.9.100
-
-
проверка ресурсов с совместным доступом:
/app/inno-samba/bin/smbclient -L localhost -N Anonymous login successful Sharename Type Comment --------- ---- ------- sysvol Disk netlogon Disk IPC$ IPC IPC Service (Samba inno-samba 1.3.2 (Samba 4.20.0pre1-GIT-9115c9a) SMB1 disabled -- no workgroup availableРесурсы netlogonиsysvolформируются автоматически в процессе развертывания Эллес как контроллера домена. -
для проверки аутентификации подключитесь, например, к ресурсу
netlogonс использованием учетной записи администратора домена, созданной в процессе развертывания:/app/inno-samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls' Password for [EXAMPLE\Administrator]: . D 0 Wed Apr 19 12:01:55 2023 .. D 0 Thu Apr 20 10:38:46 2023 11758760 blocks of size 1024. 5076316 blocks available -
для проверки работы службы аутентификации по протоколу Kerberos:
-
выполните запрос билета Kerberos для учетной записи администратора домена:
kinit Administrator@SAMDOM.EXAMPLE.COM
-
выведите список находящихся в кэше билетов Kerberos:
klist Credentials cache: FILE:/tmp/rkb5cc_1000 Principal: Administrator@SAMDOM.EXAMPLE.COM Issued Expires Principal Apr 4 11:18:35 2023 Apr 4 21:18:35 2023 krbtgt/SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM
-