[samba] samba AD DC + bind + DDNS = NOTAUTH
Alex Moskalenko
mav на elserv.msk.su
Чт Апр 4 12:27:10 MSK 2019
Здравствуйте.
Пытаюсь настроить обновления DNS с помощью nsupdate на контроллере AD.
Видимо, я что-то делаю неправильно/невнимательно, но не проходят у меня
динамические обновления с ошибкой NOAUTH. Все варианты с wiki.samba.org
по настройке уже перепробовал - ситуация не меняется. В системе ошибок
тоже не вижу...
Подскажите пожалуйста, что я забыл/сделал не так?
Сейчас ситуация выглядит следующим образом.
Сизиф, samba-4.10.0, bind-9.11.6. Домен AD (созданный с помощью
classicupgrade). Все файлы созданы как описано на вики, права
правильные. Необходимые правки в файлы конфигурации bind внесены. bind
из chroot вынесен. Зоны из AD загружаются, хосты, добавленные через
samba-tool dns add и оснастку mmc DNS видны. kinit/klist отрабатывают
штатно. В логах ничего подозрительного не наблюдается.
Проблема: запуск samba_dnsupdate --verbose --all-names не может обновить
записи в DNS с ошибкой NOTAUTH. В логах при этом появляются сообщения
вида:
2019-04-04T11:21:17.993406+03:00 dc0 named[14068]: client
@0x7f01141236c0 192.168.0.11#35595/key DC0\$\@AD.LOCAL: update failed:
not authoritative for update zone (NOTAUTH)
2019-04-04T11:21:18.017841+03:00 dc0 named[14068]: client
@0x7f0104031eb0 192.168.0.11#48267/key DC0\$\@AD.LOCAL: update failed:
not authoritative for update zone (NOTAUTH)
Сообщения от samba_dnsupdate --verbose --all-names
...
29 DNS updates and 0 DNS deletes needed
Successfully obtained Kerberos ticket to DNS/dc0.ad.local as DC0$
update(nsupdate): A dc0.ad.local 192.168.0.11
Calling nsupdate for A dc0.ad.local 192.168.0.11 (add)
Successfully obtained Kerberos ticket to DNS/dc0.ad.local as DC0$
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
dc0.ad.local. 900 IN A 192.168.0.11
update failed: NOTAUTH
Failed nsupdate: 2
update(nsupdate): NS ad.local dc0.ad.local
Calling nsupdate for NS ad.local dc0.ad.local (add)
Successfully obtained Kerberos ticket to DNS/dc0.ad.local as DC0$
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
ad.local. 900 IN NS dc0.ad.local.
update failed: NOTAUTH
Failed nsupdate: 2
update(nsupdate): NS _msdcs.ad.local dc0.ad.local
Calling nsupdate for NS _msdcs.ad.local dc0.ad.local (add)
Successfully obtained Kerberos ticket to DNS/dc0.ad.local as DC0$
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
_msdcs.ad.local. 900 IN NS dc0.local.
update failed: NOTAUTH
Failed nsupdate: 2
update(nsupdate): A ad.local 192.168.0.11
Calling nsupdate for A ad.local 192.168.0.11 (add)
Successfully obtained Kerberos ticket to DNS/dc0.ad.local as DC0$
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
ad.local. 900 IN A 192.168.0.11
update failed: NOTAUTH
Failed nsupdate: 2
...
И так далее про все 29 обновлений.
Содержимое конфигурационных файлов
named-checkconf -t / -p
controls {
inet 127.0.0.1 port 953 allow {
"localhost";
} keys {
"rndc-key";
};
};
logging {
category "lame-servers" {
"null";
};
};
options {
directory "/etc/bind/zone";
dump-file "/var/run/named_dump.db";
pid-file "";
recursing-file "/var/run/recursing";
statistics-file "/var/run/named.stats";
tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
version "unknown";
forward first;
forwarders {
192.168.0.1;
};
};
dlz "AD DNS Zone" {
database "dlopen /usr/lib64/samba/bind9/dlz_bind9_11.so";
};
key "rndc-key" {
algorithm "hmac-md5";
secret "dsjhit59034jf40fpo3==";
};
zone "localhost" {
type master;
file "localhost";
allow-update {
"none";
};
};
zone "localdomain" {
type master;
file "localdomain";
allow-update {
"none";
};
};
zone "127.in-addr.arpa" {
type master;
file "127.in-addr.arpa";
allow-update {
"none";
};
};
zone "0.in-addr.arpa" {
type master;
file "empty";
allow-update {
"none";
};
};
zone "255.in-addr.arpa" {
type master;
file "empty";
allow-update {
"none";
};
};
testparm
[global]
passdb backend = samba_dsdb
realm = AD.LOCAL
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl,
winbindd, ntp_signd, kcc, dnsupdate
workgroup = DOMAIN
rpc_server:tcpip = no
rpc_daemon:spoolssd = embedded
rpc_server:spoolss = embedded
rpc_server:winreg = embedded
rpc_server:ntsvcs = embedded
rpc_server:eventlog = embedded
rpc_server:srvsvc = embedded
rpc_server:svcctl = embedded
rpc_server:default = external
winbindd:use external pipes = true
idmap_ldb:use rfc2307 = yes
idmap config * : backend = tdb
map archive = No
vfs objects = dfs_samba4 acl_xattr
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/ad.local/scripts
read only = No
cat /etc/krb5.conf
includedir /etc/krb5.conf.d/
[logging]
# default = FILE:/var/log/krb5libs.log
# kdc = FILE:/var/log/krb5kdc.log
# admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = AD.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
# EXAMPLE.COM = {
# default_domain = example.com
# }
Файлы/каталоги
ls -l /var/lib/samba/bind-dns/
drwxrwx--- 3 root named 4096 апр 4 11:12 dns
-rw-r----- 2 root named 912 апр 2 17:59 dns.keytab
-rw-r--r-- 1 root root 808 апр 4 11:25 named.conf
-r--r--r-- 1 root root 258 апр 3 16:05 named.conf.update
-rw-r--r-- 1 root root 2092 апр 4 11:12 named.txt
klist -k dns.keytab
Keytab name: FILE:dns.keytab
KVNO Principal
----
--------------------------------------------------------------------------
1 DNS/dc0.ad.local на AD.LOCAL
1 dns-dc0 на AD.LOCAL
1 DNS/dc0.ad.local на AD.LOCAL
1 dns-dc0 на AD.LOCAL
1 DNS/dc0.ad.local на AD.LOCAL
1 dns-dc0 на AD.LOCAL
1 DNS/dc0.ad.local на AD.LOCAL
1 dns-dc0 на AD.LOCAL
1 DNS/dc0.ad.local на AD.LOCAL
1 dns-dc0 на AD.LOCAL
--
WBR, Alex Moskalenko
Подробная информация о списке рассылки Samba