Stefan Schäfer
2013-Sep-11 18:35 UTC
[Samba] Samba4 AD with bind DNS / TKEY is unacceptable
Hi,
i try to migrate an existing W2k3 AD to Samba4 with bind.
Everything works fine, but dnsupdate fails with error:
"dns_tkey_negotiategss: TKEY is unaccepteable".
I found a lot of discussions around this topic, but no solution.
Envirenment:
OS: SLES11 SP3 with bind 9.9.3P2
Samba Packages from Servet: sernet-samba-4.0.9-5.suse111
I checked the following Points:
After joining the domain bind starts and replication from the w2k3 PDC
works.
Then i changed the DNS NS RRs to get the Samba Server as the primary DNS
and transfer all FSMO roles to the samba server.
In named.conf I made the following entries:
options {
...
# Samba AD
auth-nxdomain yes;
empty-zones-enable no;
tkey-gssapi-keytab "/var/lib/named/samba/private/dns.keytab";
}
...
include "/var/lib/named/samba/private/named.conf";
Both files are readeable for the bind system user:
ls -l /var/lib/samba/private/
insgesamt 11696
drwxrwx--- 3 root named 4096 11. Sep 18:13 dns
-rw-r----- 1 root named 987 11. Sep 18:12 dns.keytab
-rw-r--r-- 1 root root 2270 11. Sep 13:41 dns_update_list
-rw-r--r-- 1 root root 544 11. Sep 18:17 named.conf
-r--r--r-- 1 root root 312 11. Sep 19:18 named.conf.update
Changing DNS RRs manualy with samba-tool dns add|delete and so on works
fine.
klist -k for the keytab-file gives the followin output:
Keytab name: FILE:/var/lib/samba/private/dns.keytab
KVNO Principal
----
--------------------------------------------------------------------------
1 DNS/samba4ad.fsproductions.local at FSPRODUCTIONS.LOCAL
1 dns-SAMBA4AD.FSPRODUCTIONS.local at FSPRODUCTIONS.LOCAL
1 DNS/samba4ad.fsproductions.local at FSPRODUCTIONS.LOCAL
1 dns-SAMBA4AD.FSPRODUCTIONS.local at FSPRODUCTIONS.LOCAL
1 DNS/samba4ad.fsproductions.local at FSPRODUCTIONS.LOCAL
1 dns-SAMBA4AD.FSPRODUCTIONS.local at FSPRODUCTIONS.LOCAL
1 DNS/samba4ad.fsproductions.local at FSPRODUCTIONS.LOCAL
1 dns-SAMBA4AD.FSPRODUCTIONS.local at FSPRODUCTIONS.LOCAL
1 DNS/samba4ad.fsproductions.local at FSPRODUCTIONS.LOCAL
1 dns-SAMBA4AD.FSPRODUCTIONS.local at FSPRODUCTIONS.LOCAL
What's wrong? Any ideas?
Stefan
Stefan Schäfer
2013-Sep-12 06:00 UTC
[Samba] Samba4 AD with bind DNS / TKEY is unacceptable
Sorry my English isn't as good as it should be. ;-) Am 12.09.2013 00:01, schrieb Patrick Gray:> Is your existing server SBS by any > chance?What's the meaning of this sentence? Stefan
Stefan Schäfer
2013-Sep-16 09:21 UTC
[Samba] Samba4 AD with bind DNS / TKEY is unacceptable
Hello,
after resolving my problem (more or less), i try to migrate an W2k3 SBS.
Here i found new but similar problems. It seems that the LDAP Structure
for the DNS Zones of a SBS is different from w2k3 standard or enterprise.
It seems that the BIND9_DLZ driver, samba-tool and samba_dnsupdate have
problems with this structure. We switched the DNS to samba internal.
After this resolving names is possible:
s4ad:~ # dig @localhost s4ad.xxxx.local
; <<>> DiG 9.9.3-P2 <<>> @localhost s4ad.xxxx.local
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61943
;; flags: qr aa rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;s4ad.xxxx.local. IN A
;; ANSWER SECTION:
s4ad.xxxx.local. 900 IN A 192.168.1.10
...but using samba-tool didn't work:
samba-tool dns zonelist s4ad.xxxx.local
GENSEC backend 'gssapi_spnego' registered
GENSEC backend 'gssapi_krb5' registered
GENSEC backend 'gssapi_krb5_sasl' registered
GENSEC backend 'sasl-DIGEST-MD5' registered
GENSEC backend 'schannel' registered
GENSEC backend 'spnego' registered
GENSEC backend 'ntlmssp' registered
GENSEC backend 'krb5' registered
GENSEC backend 'fake_gssapi_krb5' registered
Using binding ncacn_ip_tcp:s4ad.xxxx.local[,sign]
Ticket in credentials cache for administrator at XXXX.LOCAL expired, will
refresh
Password for [administrator at XXXX.LOCAL]:
ERROR(runtime): uncaught exception - (9717,
'WERR_DNS_ERROR_DS_UNAVAILABLE')
File "/usr/lib64/python2.6/site-packages/samba/netcmd/__init__.py",
line 175, in _run
return self.run(*args, **kwargs)
File "/usr/lib64/python2.6/site-packages/samba/netcmd/dns.py", line
812, in run
request_filter)
The Samba Logfile shows:
[2013/09/16 11:12:30.197554, 3]
../source4/smbd/service_stream.c:66(stream_terminate_connection)
Terminating connection - 'dcesrv: NT_STATUS_CONNECTION_DISCONNECTED'
[2013/09/16 11:12:30.197757, 3]
../source4/smbd/process_single.c:114(single_terminate)
single_terminate: reason[dcesrv: NT_STATUS_CONNECTION_DISCONNECTED]
[2013/09/16 11:12:39.875479, 3]
../lib/ldb-samba/ldb_wrap.c:320(ldb_wrap_connect)
ldb_wrap open of secrets.ldb
[2013/09/16 11:12:39.903960, 2]
../source4/rpc_server/dnsserver/dnsdb.c:140(dnsserver_db_enumerate_zones)
dnsserver: Found DNS zone .
[2013/09/16 11:12:39.908238, 3]
../source4/smbd/service_stream.c:66(stream_terminate_connection)
Terminating connection - 'dcesrv: NT_STATUS_CONNECTION_DISCONNECTED'
[2013/09/16 11:12:39.908471, 3]
../source4/smbd/process_single.c:114(single_terminate)
single_terminate: reason[dcesrv: NT_STATUS_CONNECTION_DISCONNECTED]
It seems, that samba-tool and samba_dnsupdate didn't know where to find
the DNS Zones in the LDAP DID of the SBS LDAP-Structure.
Does anybody knows this behavior or any workarounds?
Stefan