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

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

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

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

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

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

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

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

    • /etc/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:

    • добавьте в файл /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
  6. Перезапустите сервис inno-samba:

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

    search domain.name
    nameserver dc1-ip
  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. На другом, уже работающем в домене контроллере (dc1-name):

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

      /app/inno-samba/bin/samba-tool dns zonecreate dc1-name.domain.name x.x.x.in-addr.arpa -Uadministrator
    • добавьте DNS-запись для присоединяемого контроллера домена:

      /app/inno-samba/bin/samba-tool dns add dc1-name.domain.name domain-name dc2-name A dc2-ip -Uadministrator
  2. Убедитесь, что на присоединяемом сервере отсутствует файл /etc/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 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" \
         -Uadministrator@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" \
      -Uadministrator@DOMAIN.NAME
  7. Настройте запуск сервиса inno-samba.service:

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

    • добавьте в файл /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
  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://dc02-name -Uadministrator
      • проверьте, что пользователь testuser отображается в списке на другом контроллере домена:

        /app/inno-samba/bin/samba-tool user list -H ldap://dc01-name -Uadministrator