Создание первого домена в лесу
Эллес может развертываться в качестве первого контроллера домена при построении леса.
В примерах в данном разделе используются следующие параметры:
-
домен верхнего уровня (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 ( Заданное ограничение является фиксированным. Его превышение приведет к неработоспособности Эллес |
|
|
Общий функциональный уровень (режим работы) домена и леса. Возможные значения: Значение по умолчанию — Все контроллеры в домене должны будут работать на указанном функциональном уровне |
|
|
Добавление параметра Значение данного параметра задает «заявляемый» функциональный уровень контроллера домена. То есть при взаимодействии с другими участниками смешанной среды (контроллерами домена под управление ОС Windows Server) контроллер будет «заявлять», что работает на данном функциональном уровне. Установка параметра вручную на отдельном контроллере повышает риск несовпадения набора возможностей на контроллерах в домене. Поэтому при принятии решения об использовании данного параметра следует установить его на всех контроллерах домена Эллес. Возможные значения: Значение по умолчанию — |
|
|
Подключение расширений 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=2016 \
--option="ad dc functional level = 2016"
В процессе выполнения команды укажите:
-
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=2016 \ --option="ad dc functional level = 2016"
Завершение настройки
После успешного развертывания выполните следующие шаги для завершения настройки контроллера домена:
-
Настройте автоматический запуск доменной службы
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) 2016 Domain function level: (Windows) 2016 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
-