Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12.43

Аннотация

В данной статье рассматривается подключение второго (резервного) контроллера Samba DC к домену под управлением Samba как контроллера домена.

Описание стенда

Стенд состоит из двух серверов под управлением Astra Linux:

  • Сервер №1: основной контроллер домена
    • Имя сервера: dc0 (dc0.astra.dc);
    • IP-адрес: 192.168.56.49;
  • Сервер №2: резервный контроллер домена
    • Имя сервера: dc1 (dc1.astra.dc);
    • IP-адрес: 192.168.56.50;

Далее будет использоваться имя домена astra.dc. Настройка Samba как контроллера домена будет выполняться с использованием службы BIND9.

Подготовка основного контроллера домена

Предполагается, что основной контроллер домена:

  • настроен с помощью инструмента astra-sambadc (см. Инструменты Astra Linux для работы с доменами Samba AD и Windows AD);
  • настройка выполнена с использованием службы BIND9 (опция -b инструмента astra-sambadc);
  • разрешение DNS настроено на адрес основного контроллера домена.
  • в файле /etc/hosts разрешение имени домена настроено на адрес 127.0.0.1;

Краткая инструкция по созданию основного домена

  1. Установить пакеты:

    sudo apt install astra-sambadc bind9

  2. Задать имя сервера:

    sudo hostnamectl set-hostname dc0

  3. Задать настройку разрешения DNS (см. Настройка сетевых подключений в Astra Linux). При правильной настройке файл /etc/resolv.conf должен содержать единственную строку (кроме строк-комментариев):

    nameserver 192.168.56.49

    где 192.168.56.49 - IP-адрес основного контроллера домена;

  4. Создать домен:

    sudo astra-sambadc -d astra.dc -px -y -b
    где:
    -d astra.dc - имя создаваемого домена;
    -px - интерактивный ввод пароля администратора;
    -y - выполнение без запроса подтверждений;
    -b - при создании домена настроить контроллер домена на использование службы BIND9;

  5. Перезагрузить компьютер:

    sudo reboot

  6. После перезагрузки:
    1. Убедиться, что содержимое файла /etc/resolv.conf не изменилось. Если файл изменился - откорректировать настройку сети, и повторно перезагрузить компьютер;
    2. Опционально: убедиться, что все службы успешно запустились:

      sudo systemctl list-units --failed

      0 loaded units listed. Pass --all to see loaded but inactive units, too.
      To show all installed unit files use 'systemctl list-unit-files'.

Создание резервного контроллера домена

  1. Установить пакеты:

    sudo apt install astra-sambadc bind9

  2. Задать имя сервера:

    sudo hostnamectl set-hostname dc1

  3. Задать временную настройку разрешения DNS (см. Настройка сетевых подключений в Astra Linux). При правильной настройке файл /etc/resolv.conf должен быть таким же, как на основном контроллере домена, и содержать единственную строку (кроме комментариев):

    nameserver 192.168.56.49
  4. В файле /etc/hosts строку, начинающуюся с адреса 127.0.1.1, заменить на строку:

    192.168.56.50 dc1
  5. Создать записи DNS на основном контроллере домена (при правильно настроенном DNS на резервном контроллере следующие команды должны успешно выполниться на резервном контроллере):
    1. Создать на основном контроллере домена реверсивную зону DNS, необходимую для подключения резервного контроллера домена:

      samba-tool dns zonecreate dc0.astra.dc 56.168.192.in-addr.arpa -U Administrator

      Password for [ASTRA\Administrator]:
      Zone 56.168.192.in-addr.arpa created successfully

    2. Зарегистрировать на основном контроллере IP-адрес резервного контроллера в доменной службе DNS:

      samba-tool dns add dc0.astra.dc astra.dc dc1 A 192.168.56.50 -U Administrator

      Password for [WORKGROUP\Administrator]:
      Record added successfully

  6. Убедиться, что разрешение имен работает корректно. Команды:

    dig dc0.astra.dc
    и
    dig dc1.astra.dc
    должны завершаться без ошибок и выдавать адрес сервера, заданного параметром команды;

  7. Запретить запуск недоменных служб winbind, smbd, nmbd и krb5-kdc:

    sudo systemctl stop winbind smbd nmbd krb5-kdc
    sudo systemctl mask winbind smbd nmbd krb5-kdc

  8. Разрешить запуск доменной службы samba-ad-dc:

    sudo systemctl unmask samba-ad-dc
    sudo systemctl enable samba-ad-dc

  9. Привести файл /etc/krb5.conf к виду:

    [libdefaults]
        default_realm = ASTRA.DC
        dns_lookup_realm = true
        dns_lookup_kdc = true
    [realms]
    ASTRA.LAN = {
        default_domain = astra.dc
    }
    [domain_realm]
        dc = astra.dc

  10. Получить Kerberos-билет администратора домена:

    kinit Administrator

  11. Удалить (переименовать) файл /etc/samba/smb.conf:

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

  12. Создать контролер домена:

    sudo samba-tool domain join astra.dc DC -U Administrator --realm=astra.dc --dns-backend=BIND9_DLZ
    успешное завершение команды должно завершиться сообщением вида:

    Joined domain ASTRA (SID S-1-5-21-3226316390-2541821163-4149523140) as a DC
  13. Настроить службу BIND9 на работу с контроллером домена:
    1. Добавить файл настроек /var/lib/samba/bind-dns/named.conf в конфигурационный файл /etc/bind/named.conf:

      echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf

    2. Установить права доступа:

      sudo chown -R root:bind /var/lib/samba/bind-dns

    3. Перезапустить службу BIND9:

      sudo systemctl restart bind9

  14. Задать постоянную настройку разрешения DNS (см. Настройка сетевых подключений в Astra Linux). В файле /etc/resolv.conf теперь должен быть указан IP-адрес резервного контроллера:

    nameserver 192.168.56.50

  15. Перезагрузить систему:

    sudo reboot

  16. После перезагрузки:
    1. Убедиться, что содержимое файла /etc/resolv.conf не изменилось. Если файл изменился - откорректировать настройку сети, и повторно перезагрузить компьютер;
    2. Опционально: убедиться, что все службы успешно запустились:

      sudo systemctl list-units --failed

      0 loaded units listed. Pass --all to see loaded but inactive units, too.
      To show all installed unit files use 'systemctl list-unit-files'.

    3. Синхронизировать состояние контроллеров, выполнив репликацию данных:
      1. С основного контроллера на резервный:

        samba-tool drs replicate dc1.astra.dc dc0.astra.dc dc=astra,dc=dc -U Administrator

        Password for [ASTRA\Administrator]:
        Replicate from dc0.astra.dc to dc1.astra.dc was successful.

      2. С резервного контроллера на основной:

        samba-tool drs replicate dc0.astra.dc dc1.astra.dc dc=astra,dc=dc -U Administrator

        Password for [ASTRA\Administrator]:
        Replicate from dc1.astra.dc to dc0.astra.dc was successful.

Первичная проверка работоспособности

  1. На резервном контроллере домена выполнить команду создания тестового пользователя testuser:

    sudo samba-tool user create testuser

  2. На основном контроллере домена получить список пользователей, и убедиться, что учетная запись тестового пользователя появилась на основном контроллере:

    sudo samba-tool user list

    dns-dc0
    Administrator
    dns-DC1
    Guest
    krbtgt
    testuser