Создание домена / присоединение к домену

Порядок действий после установки пакета inno-samba зависит от роли сервера в домене:

  • первый контроллер домена в лесу (RWDC);

  • первый контроллер в подчиненном домене (RWDC);

  • второй и последующий контроллер в существующем домене (RWDC/RODC).

См. более подробное описание процедуры создания домена и процедуры присоединения к домену в разделе «Создание домена / присоединение к домену».

Первый контроллер домена в лесу

Для развертывания сервера в качестве первого контроллера домена:

  1. Убедитесь, что отсутствуют файлы:

    • /app/inno-samba/etc/smb.conf;

    • /etc/krb5.conf.

    Если файлы существуют, создайте резервные копии и удалите их.

  2. Убедитесь, что следующие каталоги пустые:

    • /app/inno-samba/private;

    • /app/inno-samba/var/locks.

    Если в них присутствуют файлы, удалите их.

  3. Выполните развертывание домена с требуемыми параметрами с помощью утилиты samba-tool (см. описание доступных параметров в разделе «Развертывание домена»).

    Например:

    sudo /app/inno-samba/bin/samba-tool domain provision \
       --server-role=dc \
       --use-rfc2307 \
       --dns-backend=BIND9_DLZ \
       --realm=DOMAIN.NAME \
       --domain=DOMAIN \
       --adminpass=Passw0rd \
       --backend-store=mdb \
       --backend-store-size=16Gb \
       --function-level=2016 \
       --option="ad dc functional level = 2016"
  4. Настройте запуск сервиса inno-samba.service:

    sudo systemctl unmask inno-samba.service
    sudo systemctl enable inno-samba.service
  5. Завершите настройку BIND 9:

    • добавьте в файл named.conf (/etc/bind/named.conf на ОС Astra Linux и /etc/named.conf на РЕД ОС) команду включения конфигурации inno-samba:

      include "/app/inno-samba/bind-dns/named.conf";
    • добавьте в раздел options (/etc/bind/named.conf.options на ОС Astra Linux и блок options в /etc/named.conf на РЕД ОС) настройку ключей авторизации:

      options {
         tkey-gssapi-keytab "/app/inno-samba/bind-dns/dns.keytab";
         ...
      };
    • перезапустите DNS-сервер:

      • Astra Linux

      • РЕД ОС

      sudo systemctl restart bind9.service
      sudo systemctl restart named.service
  6. Перезапустите сервис inno-samba:

    sudo systemctl restart inno-samba.service
  7. Приведите файл /etc/resolv.conf к виду:

    search domain.name
    nameserver 127.0.0.1
  8. Скопируйте конфигурацию Kerberos:

    sudo cp /app/inno-samba/private/krb5.conf /etc/krb5.conf
  9. Проверьте корректность установки:

    • информация о домене:

      /app/inno-samba/bin/samba-tool domain info <dc1-ip>
      Forest           : domain.name
      Domain           : domain.name
      Netbios domain   : DOMAIN
      DC name          : dc1-name.domain.name
      DC netbios name  : DC1-NAME
      Server site      : Default-First-Site-Name
      Client site      : Default-First-Site-Name
    • DNS:

      host -t SRV _ldap._tcp.domain.name
      _ldap._tcp.domain.name has SRV record 0 100 389 dc1-name.domain.name.
      host -t SRV _kerberos._tcp.domain.name
      _kerberos._tcp.domain.name has SRV record 0 100 88 dc1-name.domain.name.
      host -t A dc1-name.domain.name
      dc1-name.domain.name has address dc1-ip
    • Kerberos:

      kinit Administrator@DOMAIN.NAME
      Administrator@DOMAIN.NAME's Password:
      klist
      Credentials cache: FILE:/tmp/rkb5cc_1000
              Principal: Administrator@DOMAIN.NAME
      
        Issued                Expires               Principal
      Month Date Time Year  Month Date Time Year  krbtgt/DOMAIN.NAME@DOMAIN.NAME

Первый контроллер домена в подчиненном домене

Для развертывания сервера в качестве первого контроллера домена в подчиненном домене (дочернем домене или домене — корне дополнительного дерева):

  1. Убедитесь, что отсутствуют файлы:

    • /app/inno-samba/etc/smb.conf;

    • /etc/krb5.conf.

    Если файлы существуют, создайте резервные копии и удалите их.

  2. Убедитесь, что следующие каталоги пустые:

    • /app/inno-samba/private;

    • /app/inno-samba/var/locks.

    Если в них присутствуют файлы, удалите их.

  3. Настройте безусловное или условное перенаправление для зон DNS родительского домена. Например, для обеспечения безусловного перенаправления добавьте IP-адрес DNS-сервера в родительском домене в раздел options (/etc/bind/named.conf.options на ОС Astra Linux и блок options в /etc/named.conf на РЕД ОС):

    options {
           ...
           forwarders { <parent-dns-server-ip>; };
           ...
    };
  4. Перезапустите DNS-сервер для применения изменений:

    • Astra Linux

    • РЕД ОС

    sudo systemctl restart bind9.service
    sudo systemctl enable named.service
    sudo systemctl restart named.service
  5. Приведите файл /etc/resolv.conf к следующему виду (пример для дочернего домена):

    search subdomain.domain.name
    nameserver 127.0.0.1
  6. Создайте подчиненный домен с требуемыми параметрами с помощью утилиты samba-tool от имени пользователя, включенного в группу Enterprise Admins (см. описание доступных параметров в разделе «Добавление подчиненного домена»):

    • дочерний домен:

      sudo /app/inno-samba/bin/samba-tool domain add subdomain domain.name \
         --dns-backend=BIND9_DLZ \
         --backend-store=mdb \
         --backend-store-size=16Gb \
         --option="ad dc functional level = 2016" \
         --option="rpc connection timeout = 120" \
         -U 'Administrator@DOMAIN.NAME'
    • домен — корень дополнительного дерева:

      sudo /app/inno-samba/bin/samba-tool domain add newtreerootdomain.name domain.name \
         --role=tree-root \
         --dns-backend=BIND9_DLZ \
         --backend-store=mdb \
         --backend-store-size=16Gb \
         --option="ad dc functional level = 2016" \
         --option="rpc connection timeout = 120" \
         -U 'Administrator@DOMAIN.NAME'
  7. Настройте запуск сервиса inno-samba.service:

    sudo systemctl unmask inno-samba.service
    sudo systemctl enable inno-samba.service
  8. Завершите настройку BIND 9:

    • добавьте в файл named.conf (/etc/bind/named.conf на ОС Astra Linux и /etc/named.conf на РЕД ОС) команду включения конфигурации inno-samba:

      include "/app/inno-samba/bind-dns/named.conf";
    • добавьте в раздел options (/etc/bind/named.conf.options на ОС Astra Linux и блок options в /etc/named.conf на РЕД ОС) настройку ключей авторизации:

      options {
         tkey-gssapi-keytab "/app/inno-samba/bind-dns/dns.keytab";
         ...
      };
    • перезапустите DNS-сервер:

      • Astra Linux

      • РЕД ОС

      sudo systemctl restart bind9.service
      sudo systemctl restart named.service
  9. Перезапустите сервис inno-samba:

    sudo systemctl restart inno-samba.service
  10. Проверьте корректность установки (примеры для дочернего домена):

    • информация о домене:

      /app/inno-samba/bin/samba-tool domain info <subdc1-ip>
      Forest           : subdomain.domain.name
      Domain           : subdomain.domain.name
      Netbios domain   : SUBDOMAIN
      DC name          : subdc1-name.subdomain.domain.name
      DC netbios name  : SUBDC1-NAME
      Server site      : Default-First-Site-Name
      Client site      : Default-First-Site-Name
    • репликация:

      sudo /app/inno-samba/bin/samba-tool drs showrepl
    • доверительное отношение с родительским доменом:

      /app/inno-samba/bin/samba-tool domain trust list
      Type[Parent]    Transitive[Yes] Direction[BOTH]     Name[domain.name]
    • DNS:

      host -t SRV _ldap._tcp.subdomain.domain.name
      _ldap._tcp.subdomain.domain.name has SRV record 0 100 389 subdc1-name.subdomain.domain.name.
      host -t SRV _kerberos._tcp.subdomain.domain.name
      _kerberos._tcp.subdomain.domain.name has SRV record 0 100 88 subdc1-name.subdomain.domain.name.
      host -t A subdc1-name.subdomain.domain.name
      subdc1-name.subdomain.domain.name has address subdc1-ip
    • Kerberos:

      kinit Administrator@DOMAIN.NAME
      Administrator@SUBDOMAIN.DOMAIN.NAME's Password:
      klist
      Credentials cache: FILE:/tmp/rkb5cc_1000
              Principal: Administrator@SUBDOMAIN.DOMAIN.NAME
      
        Issued                Expires               Principal
      Month Date Time Year  Month Date Time Year  krbtgt/SUBDOMAIN.DOMAIN.NAME@SUBDOMAIN.DOMAIN.NAME

Дополнительный контроллер домена

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

  1. На другом, уже работающем в домене контроллере (dc1-name):

    • создайте обратную DNS-зону:

      /app/inno-samba/bin/samba-tool dns zonecreate dc1-name.domain.name x.x.x.in-addr.arpa -U 'Administrator@DOMAIN.NAME'
    • проверьте наличие DNS-записи типа A для присоединяемого контроллера домена и удалите ее, если она содержит неправильный IP-адрес.

      Например:

      • просмотр записи A:

        • с помощью утилиты dig, входящей в состав BIND 9:

          dig +noall +answer A dc2-name.domain.name

          В примере:

          • A — тип записи DNS, информацию о которой требуется получить;

          • dc2-name.domain.name — доменное имя хоста присоединяемого контроллера домена.

        • с помощью утилиты samba-tool:

          /app/inno-samba/bin/samba-tool dns query dc1-name.domain.name domain.name dc2-name A -U 'Administrator@DOMAIN.NAME'

          В примере:

          • dc1-name.domain.name — доменное имя DNS-сервера;

          • domain.name — имя зоны DNS;

          • dc2-name — имя записи DNS;

          • A — тип записи DNS, информацию о которой требуется получить.

      • удаление записи А, если она сопоставлена с некорректным IP-адресом:

        /app/inno-samba/bin/samba-tool dns delete dc1-name.domain.name domain.name dc2-name A <wrong-ip-address> -U 'Administrator@DOMAIN.NAME'

        В примере:

        • dc1-name.domain.name — доменное имя DNS-сервера;

        • domain.name — имя зоны DNS;

        • dc2-name — имя записи DNS;

        • A — тип записи DNS, которую требуется удалить;

        • wrong-ip-address — некорректный IP-адрес, сопоставленный с контроллером домена в DNS.

      См. описание формата вызова подкоманд samba-tool dns в разделе «Администрирование DNS».
  2. Убедитесь, что на присоединяемом сервере отсутствует файл /app/inno-samba/etc/smb.conf. Если он существует, создайте резервную копию и удалите.

  3. Убедитесь, что следующие каталоги пустые:

    • /app/inno-samba/private;

    • /app/inno-samba/var/locks.

    Если в них присутствуют файлы, удалите их.

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

    [libdefaults]
        default_realm = DOMAIN.NAME
        dns_lookup_realm = false
        dns_lookup_kdc = true
  5. Приведите файл /etc/resolv.conf к следующему виду, указав в качестве сервера разрешения имен работающий в домене DNS-сервер (dc1-ip):

    search domain.name
    nameserver 127.0.0.1
    nameserver dc1-ip
  6. Выполните присоединение к домену с требуемыми параметрами с помощью утилиты samba-tool (см. описание доступных параметров в разделе «Присоединение к домену»):

    • пример присоединения в режиме RWDC:

      sudo /app/inno-samba/bin/samba-tool domain join domain.name DC \
         --dns-backend=BIND9_DLZ \
         --backend-store=mdb \
         --backend-store-size=16Gb \
         --option="ad dc functional level = 2016" \
         -U 'Administrator@DOMAIN.NAME'
    • пример присоединения в режиме RODC:

      sudo /app/inno-samba/bin/samba-tool domain join domain.name RODC \
         --dns-backend=BIND9_DLZ \
         --backend-store=mdb \
         --backend-store-size=16Gb \
         --option="ad dc functional level = 2016" \
         -U 'Administrator@DOMAIN.NAME'
  7. Настройте запуск сервиса inno-samba.service:

    sudo systemctl unmask inno-samba.service
    sudo systemctl enable inno-samba.service
  8. Завершите настройку BIND 9:

    • добавьте в файл named.conf (/etc/bind/named.conf на ОС Astra Linux и /etc/named.conf на РЕД ОС) команду включения конфигурации inno-samba:

      include "/app/inno-samba/bind-dns/named.conf";
    • добавьте в раздел options (/etc/bind/named.conf.options на ОС Astra Linux и блок options в /etc/named.conf на РЕД ОС) настройку ключей авторизации:

      options {
         tkey-gssapi-keytab "/app/inno-samba/bind-dns/dns.keytab";
         ...
      };
    • перезапустите DNS-сервер:

      • Astra Linux

      • РЕД ОС

      sudo systemctl restart bind9.service
      sudo systemctl enable named.service
      sudo systemctl restart named.service
  9. Перезапустите сервис inno-samba:

    sudo systemctl restart inno-samba.service
  10. Проверьте корректность установки:

    • DNS:

      host -t A domain.name
      domain.name has address dc2-ip
      domain.name has address dc1-ip
    • репликация:

      sudo /app/inno-samba/bin/samba-tool drs showrepl
    • создание пользователя:

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

        /app/inno-samba/bin/samba-tool user add testuser -H ldap://dc2-name -U 'Administrator@DOMAIN.NAME'
      • проверьте, что пользователь testuser отображается в списке на другом контроллере домена:

        /app/inno-samba/bin/samba-tool user list -H ldap://dc1-name -U 'Administrator@DOMAIN.NAME'