Развертывание

Развертывание Эллес в качестве контроллера домена предусматривает создание баз данных и первоначального набора записей, необходимых для работы домена, включая учетную запись администратора и записи DNS.

В состав пакета inno-samba входит встроенный инструмент командной строки samba-tool (/app/inno-samba/bin/samba-tool), позволяющий задать требуемые настройки в конфигурационном файле smb.conf как в интерактивном режиме, так и в обычном режиме.

Развертывание выполняется только для первого контроллера в домене. Остальные контроллеры должны присоединяться к существующему домену.

Параметры развертывания

Развертывание домена выполняется с помощью подкоманды samba-tool domain provision, которая принимает ряд параметров и может выполняться в интерактивном или неинтерактивном режиме.

Некоторые параметры (см. полный список доступных параметров в разделе «Администрирование домена»):

Интеракт. режим Неинтеракт. режим Описание

Realm

--realm

Область безопасности (realm) Kerberos. DNS-имя домена в верхнем регистре

Domain

--domain

Имя домена NetBIOS (Workgroup). Строка длиной не более 15 символов без точек. Рекомендуется использовать первую часть DNS-имени домена

Server Role

--server-role

Установка в роли контроллера домена: --server-role=dc

DNS backend

--dns-backend

DNS-сервер. Первый контроллер в домене должен устанавливаться с DNS-сервером.

Поддерживаются следующие DNS-серверы:

  • BIND9_DLZ:

    • требуется установка BIND 9.8 или выше на контроллере домена Эллес;

    • требуется настройка DNS-сервера BIND 9;

    • рекомендуется использовать данный вариант во всех сценариях использования Эллес;

  • INTERNAL_DNS:

    • используется по умолчанию при развертывании нового домена и присоединении к существующему домену;

    • для работы с DNS не требуется дополнительное ПО;

    • в силу ряда ограничений использовать данный вариант с Эллес не рекомендуется;

  • NONE:

    • требуется развертывание и настройка отдельного DNS-сервера, который будет обслуживать DNS-запросы как в рамках отдельного домена, так и между доменами;

    • не рекомендуется использовать данный вариант с Эллес

DNS forwarder IP address

-

Один или несколько (через запятую) IP-адресов DNS-серверов для рекурсивного разрешения имен

Administrator password

--adminpass

Пароль администратора домена, соответствующий требованиям к сложности:

  • не содержит полностью значение атрибута samAccountName или displayName учетной записи пользователя (без учета регистра);

  • содержит символы как минимум из трех из следующих категорий:

    • прописные буквы;

    • строчные буквы;

    • цифры от 0 до 9;

    • специальные символы ~!@#$%^&*_-+=`|\()\{}[]:;"'<>,.?/

    • символы Unicode, классифицируемые как буквенно-цифровые, но не имеющие регистра.

Если пароль не соответствует требованиям к сложности, процесс развертывания завершается неуспешно

--backend-store

--backend-store

Тип базы данных каталога. По умолчанию Эллес использует TDB с ограничением на размер 4 ГБ.

Если ожидается, что размер базы данных каталога будет превышать 4 ГБ, требуется использовать LMDB. Для этого задайте: --backend-store=mdb.

В этом случае по умолчанию максимально допустимый размер базы будет увеличен до 8 ГБ. Для изменения значения по умолчанию используйте параметр --backend-store-size.

Для корректной работы с LMDB установите пакет утилит lmdb-utils

--backend-store-size

--backend-store-size

Максимальный размер файлов базы данных каталога.

При использовании LMDB (--backend-store=mdb) по умолчанию размер базы данных ограничивается значением 8 ГБ. Чтобы увеличить его, используйте данный параметр. Например: --backend-store-size=16Gb.

Заданное ограничение является фиксированным. Его превышение приведет к неработоспособности Эллес

--function-level

--function-level

Общий функциональный уровень (режим работы) домена и леса.

Возможные значения: 2000 | 2003 | 2008 | 2008_R2 | 2016.

Значение по умолчанию — 2008_R2.

Все контроллеры в домене должны будут работать на указанном функциональном уровне

--option="ad dc functional level = <level>"

--option="ad dc functional level = <level>"

Добавление параметра ad dc functional level в конфигурационный файл /app/inno-samba/etc/smb.conf.

Значение данного параметра задает «заявляемый» функциональный уровень контроллера домена. То есть при взаимодействии с другими участниками смешанной среды (контроллерами домена под управление ОС Windows Server) контроллер будет «заявлять», что работает на данном функциональном уровне.

Установка параметра вручную на отдельном контроллере повышает риск несовпадения набора возможностей на контроллерах в домене. Поэтому при принятии решения об использовании данного параметра следует установить его на всех контроллерах домена Эллес.

Возможные значения: 2008_R2 | 2012 | 2012_R2 | 2016.

Значение по умолчанию — 2008_R2

--use-rfc2307

--use-rfc2307

Подключение расширений NIS, необходимых для отображения информации на вкладке Unix Attributes в оснастке ADUC на ОС Windows

--option="tls priority = NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-RSA"

--option="tls priority = NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-RSA"

Отключение устаревших алгоритмов шифрования и обмена ключами, разрешенных для использования по умолчанию при подключении к серверу LDAP.

Параметр изменяет список приоритетов библиотеки GnuTLS по умолчанию (см. подробнее в документации на библиотеку). Рекомендуется использовать указанное значение для повышения уровня безопасности

Если сервер, на котором выполняется развертывание, имеет несколько сетевых интерфейсов, дополнительно задайте следующие опции для привязки Эллес к определенным интерфейсам:

--option="interfaces=lo eth0" --option="bind interfaces only=yes"

Это необходимо для регистрации командой samba-tool domain provision корректного IP-адреса в процессе развертывания.

Развертывание в интерактивном режиме

Перед запуском развертывания в интерактивном режиме убедитесь в отсутствии файла /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"

Дополнительная настройка

После успешного завершения развертывания выполните следующие дополнительные шаги:

  1. Настройте автоматический запуск доменной службы inno-samba:

    sudo systemctl unmask inno-samba.service
    sudo systemctl enable inno-samba.service
  2. Для интеграции с сервером 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
  3. Перезапустите доменную службу inno-samba:

    sudo systemctl restart inno-samba.service
  4. Чтобы участники домена могли находить требуемые сервисы (LDAP, Kerberos) с помощью DNS-сервера, обеспечивающего разрешение имен в соответствующей DNS-зоне, в файле /etc/resolv.conf на сервере с контроллером домена укажите имя DNS-домена в качестве значения параметра search и IP-адрес сервера в качестве значения параметра nameserver.

    Например:

    search samdom.example.com
    nameserver 10.0.9.100
  5. Скопируйте конфигурацию 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-пакетов в сетях со сложной топологией может привести к обратному эффекту!

  6. При необходимости добавьте одну или несколько обратных 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