Summary: | system-auth write ad: не создаются (A) DNS записи для хоста | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey Sheplyakov <asheplyakov> | ||||
Component: | alterator-auth | Assignee: | Anton V. Boyarshinov <boyarsh> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P3 | CC: | boyarsh, cas | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Alexey Sheplyakov
2018-09-28 14:42:58 MSK
net_ads_join вызывает _net_ads_join_dns_updates [1] чтобы создать/обновить (A) DNS запись хоста. net_update_dns_ext /* iplist = NULL, num_addrs = 0, remove_host = false */ net_update_dns /* hostname = NULL */ _net_ads_join_dns_updates net_ads_join net_update_dns_ext пытается определить имя хоста из netbios name [2]. Как правило netbios name совпадает с кратким именем хоста (максимальная длина netbios name -- 15 байт, не всякое допустимое DNS имя влезет), потому net_update_dns_ext пытается "угадать" полное (FQDN) имя. Делает это функция name_to_fqdn [3], которая использует getaddrinfo, а следовательно, DNS. Но в DNS еще нет A записи для клиентского хоста, ее как раз и должна создать net_update_dns_ext. Потому net_update_dns_ext пытается использовать краткое имя хоста, из-за чего net_update_dns_internal возвращает ошибку NT_STATUS_INVALID_PARAMETER [4] Т.к. у `net ads join` нет аргумента, позволяющего явно указать FQDN хоста, то попытка `net ads join` создать (A) DNS запись обречена на провал. Есть 2 возможных решения: 1) запускать `net ads join --no-dns-updates`, а затем `net ads dns register` 2) научить `net ads join` использовать имя Kerberos домена в качестве DNS домена, если не удалось угадать DNS домен другим образом. 2) займет явно больше времени (правки в `source3/` upstream принимает крайне неохотно, только для исправления каких-то серьезных проблем) [1] http://git.altlinux.org/gears/s/samba-DC.git?p=samba-DC.git;a=blob;f=source3/utils/net_ads.c;h=c83aced9f812380df85682c08e29de48a1794d6b;hb=ec86b464b83e7e5d6163f54fca6869d855a32910#l1632 [2] http://git.altlinux.org/gears/s/samba-DC.git?p=samba-DC.git;a=blob;f=source3/utils/net_ads.c;h=c83aced9f812380df85682c08e29de48a1794d6b;hb=ec86b464b83e7e5d6163f54fca6869d855a32910#l1296 [3] http://git.altlinux.org/gears/s/samba-DC.git?p=samba-DC.git;a=blob;f=source3/lib/util.c;h=5f786f95d3e2eccd113a39eec585d195713c5747;hb=ec86b464b83e7e5d6163f54fca6869d855a32910#l1682 [4] http://git.altlinux.org/gears/s/samba-DC.git?p=samba-DC.git;a=blob;f=source3/utils/net_ads.c;h=c83aced9f812380df85682c08e29de48a1794d6b;hb=ec86b464b83e7e5d6163f54fca6869d855a32910#l1156 Created attachment 7796 [details]
patch
task 214012 (http://git.altlinux.org/tasks/214012/logs/events.1.1.log) Исправлено в 0.37-alt1. |