Product SiteDocumentation Site

6.2.7. Известные проблемы

6.2.7.1. Неверные права DNS-записей машины в домене

При вводе машины в домен AD вызывается утилита system-auth, которая в свою очередь использует команду net ads join. В рамках данной команды выполняется присоединение к домену с использованием Kerberos-аутентификации и не производится обновление DNS. После успешного присоединения машина регистрирует свою DNS-запись с помощью команды net ads dns register также используя Kerberos-аутентификацию.
Если машины уже введены в домен или используется старая версия alterator-auth (до версии 0.44.10-alt1), то у машин не будет прав на обновление своих DNS-записей. Это происходит потому, что во время создания DNS-записи в доменном DNS system-auth использует билет администратора, и в результате владельцем записи становится он, а не машина, что впоследствии не позволяет машине обновить свою DNS-запись.

Примечание

Имеются ввиду записи вида:
DC=host1,DC=test.alt,CN=MicrosoftDNS,DC=DomainDnsZones,DC=test,DC=alt
Исправление в пакете alterator-auth версии 0.44.10-alt1 работает только для машин, которые не были ранее введены в домен с текущим именем (то есть, если машинная учётная запись создаётся впервые). Если машина уже была добавлена в домен, но для неё используется новое имя, то будет создана новая учётная запись, и проблема с правами на обновление DNS-записей будет решена. Однако, если машина повторно вводится в домен с тем же именем, это не устранит проблему.

Примечание

При вводе машины в домен с новым именем необходимо убедиться, что очищены кеши SSSD и Winbind, а также удален старый keytab-файл.
В случае с уже введёнными в домен машинами можно воспользоваться скриптом https://github.com/altlinuxteam/samba_allow_nsupdate на контроллере домена (предварительно получив билет администратора). Этот скрипт позволяет задать необходимые права как для всех машин в домене или OU, так и для произвольного списка машин в домене. Примеры:
  • разрешить самостоятельное обновление для машин, находящихся в контейнере «Computers»:
    # samba_allow_nsupdate --domain-dns="test.alt" --computers-base-dn="CN=Computers,DC=test,DC=alt"
    Domain: test.alt
    Domain DN: DC=test,DC=alt
    Computers search base DN: CN=Computers,DC=test,DC=alt
    Action: allow
    Selected computers list:
    DC1$
    WS2$
    WS$
    WS3$
    Allow self nsupdate for this computers list? (Y/n):
    DC1$			S-1-5-21-3099202228-3607437695-3279060739-1000	DONE
    WS2$			S-1-5-21-3099202228-3607437695-3279060739-1113	DONE
    WS$			S-1-5-21-3099202228-3607437695-3279060739-1107	DONE
    WS3$			S-1-5-21-3099202228-3607437695-3279060739-1127	DONE
    
  • разрешить самостоятельное обновление для произвольного списка машин в домене (в примере для WS, WS2):
    # samba_allow_nsupdate --action=allow WS$ WS2$ --computers-base-dn="DC=test,DC=alt" --domain-dns="test.alt"
    Domain: test.alt
    Domain DN: DC=test,DC=alt
    Computers search base DN: DC=test,DC=alt
    Action: allow
    Selected computers list:
    WS$
    WS2$
    Allow self nsupdate for this computers list? (Y/n):
    WS$			S-1-5-21-3099202228-3607437695-3279060739-1107	DONE
    WS2$			S-1-5-21-3099202228-3607437695-3279060739-1113	DONE
    
Другие решения:
  • воспользоваться RSAT оснасткой DNS на Windows машине и задать необходимые права вручную;
  • в той же оснастке DNS для всего DNS домена дать права на запись группе «Domain Computers» (не рекомендуется);
  • воспользоваться инструментом samba-tool dsacl.