[Samba] Setup a Samba AD DC as an additional DC
Barry D. Adkins
Barry at daram.com
Wed Nov 28 20:08:54 UTC 2018
>What is the running AD DC its os version/build, it was an MS server?
2 AD DCs Windows 2012, 1 is 2008, but the DC for the join is a 2012 windows DC
Then question after this.
ERROR(runtime): uncaught exception - (9601, 'WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST')
This DC your adding, are you useing bind9_DLZ or internal DNS from samba itself?
I suspect resolving problems.
>From the collected info. ( commented inbetween the lines )
> -----------
> Checking file: /etc/hosts
> 127.0.0.1 localhost
> ::1 localhost6
>IP_HERE sambadc1.mydomain.tld sambadc1 # for this DC ( optional you can add the other DC also, but wait dont add it now. )
I added this already but it did not change the result.
>> # The following lines are desirable for IPv6 capable hosts
>> ::1 localhost ip6-localhost ip6-loopback
>> fe00::0 ip6-localnet
>> ff02::1 ip6-allnodes
>> ff02::2 ip6-allrouters
>> ff02::3 ip6-allhosts
>> Checking file: /etc/resolv.conf
>> search daram.com
>> nameserver ##.##.##.20
>Here the ip shown above, where is this one resolving to, i hope the ADDC server.
Yes to the ADDC Server
>If you dont use systemd-resolved, thats fine, but make sure you removed it correctly.
>Thats a choice, the howto shown, works fine with it enabled.
>But here are the steps to remove it, if you want to remove it.
># but PLEASE, keep this for the last, if we change to much not im not able to find you problem.
># i do suspect resolving problem, yes.
># systemctl disable systemd-resolved
># systemctl stop systemd-resolved
># systemctl mask systemd-resolved
># rm /etc/resolv.conf and create a new one ( you already did this ) # if exists, edit /etc/NetworkManager/NetworkManager.conf
># in the main section, add : dns=none
># reboot.
>
>but again, i want to know all outcomes first before you change this all.
I did not do the "mask" but did the other and I purged the resolved... per Roland's instructions...
>nslookup hostname
>nslookup hostname.domain.tld
:~$ nslookup sambaDC.domain.com
Server: 131.192.176.20
Address: 131.192.176.20#53
Name: sambaDC.domain.com
Address: 131.192.176.40
>What do you see if you run:
>host IP_OF_OTHERDC
20.176.192.131.in-addr.arpa domain name pointer WindowsADDC.domain.com.
>host IP_OF_THIS_DC
Host 40.176.192.131.in-addr.arpa domain name pointer sambaDC.domain.com.
>And
>dig a $(hostname -s)
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> a ThisDC-SambaDC-we-want-to-join
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 20641
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 852b24514a370e2a (echoed)
;; QUESTION SECTION:
; sambaDC. IN A
;; Query time: 0 msec
;; SERVER: 131.192.176.20#53(131.192.176.20) <<<Windows ADDC>>>
;; WHEN: Wed Nov 28 02:57:50 CST 2018
;; MSG SIZE rcvd: 51
>dig a $(hostname -f)
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> a sambaDC.domain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 1568
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 6f82a8d3d3d97f1d (echoed)
;; QUESTION SECTION:
; sambaDC.domain.com. IN A
;; Query time: 0 msec
;; SERVER: 131.192.176.20#53(131.192.176.20) <<<Windows ADDC>>>
;; WHEN: Wed Nov 28 03:05:39 CST 2018
;; MSG SIZE rcvd: 61
>Repeat but now with @ip_of_OTHER-DC at the end. dig
>
>dig -x ip_of_this_DC
dig -x 131.192.176.40 (sambaDC)
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> -x 131.192.176.40
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 44930
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 53854d1f16d34420 (echoed)
;; QUESTION SECTION:
;40.176.192.131.in-addr.arpa. IN PTR
;; Query time: 1 msec
;; SERVER: 131.192.176.20#53(131.192.176.20)
;; WHEN: Wed Nov 28 13:19:14 CST 2018
;; MSG SIZE rcvd: 68
>dig -x ip_of_OTHER-DC
>Repeat but now with @ip_of_OTHER-DC at the end.
dig -x 131.192.176.20 (WinADDC)
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> -x 131.192.176.20
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 25161
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 9aee9cb762be5fc3 (echoed)
;; QUESTION SECTION:
;20.176.192.131.in-addr.arpa. IN PTR
;; Query time: 0 msec
;; SERVER: 131.192.176.20#53(131.192.176.20)
;; WHEN: Wed Nov 28 13:21:20 CST 2018
;; MSG SIZE rcvd: 68
>
>
> -----------
> Checking file: /etc/krb5.conf
> [libdefaults]
> default_realm = MYDOMAIN.COM
#Here add :
; for Windows 2008 with AES this make sure its matches better with the windows.
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
>
> # The following krb5.conf variables are only for MIT Kerberos.
> kdc_timesync = 1
> ccache_type = 4
> forwardable = true
> proxiable = true
>
> # The following encryption type specification will be used by MIT
> Kerberos .... Removed a bit to shorten the e-mail.
>
>
> -----------
> Checking file: /etc/nsswitch.conf
> # /etc/nsswitch.conf
> #
> # Example configuration of GNU Name Service Switch functionality.
> # If you have the `glibc-doc-reference' and `info' packages installed,
> try:
> # `info libc "Name Service Switch"' for information about this file.
>
> passwd: compat systemd
> group: compat systemd
> shadow: compat
> gshadow: files
>
> hosts: files dns
> networks: files
>
> protocols: db files
> services: db files
> ethers: db files
> rpc: db files
>
> netgroup: nis
>
> -----------
> Warning, does not exist
>I was expecting output here for the command.
>Check_file_exists "${SMBCONF}"
I have been deleting smb.conf before I run the samba-tool. It creates a new one even though the join fails.
>Can you run these 2 commands :
samba -b | grep 'CONFIGFILE' | awk '{print $NF}'
/etc/samba/smb.conf (because I made an attempt to join the domain with samba-tool)
smbd -b | grep 'CONFIGFILE' | awk '{print $NF}'
/etc/samba/smb.conf
>> -----------
>> No username map detected.
>Fine for a AD DC.
>>
>> -----------
>>
>> Installed packages, running: dpkg -l | egrep
>>"samba|winbind|krb5|smb|acl|xattr"
>> ii acl 2.2.52-3build1
>> amd64 Access control list utilities
>>.......... Removed part to shorten mail.
>> SMB/CIFS clients for Unix
>> ii winbind
>> 2:4.9.3+nmu-1~ubuntu1804 amd64 service to
>> resolve user and group information from Windows NT servers
>> -----------
>
>This looks ok to me.
>Last, i'll add this script into the other script in some time.
>Get and run this one on the DC.
>https://raw.githubusercontent.com/thctlo/samba4/master/samba-info.sh
The Windows DC..? Well with bash it doesn't work... so I assume you mean the DC we're trying to setup.
1:~$ sudo /tmp/samba-info.sh
Could not find machine account in secrets database: Failed to fetch machine account password for DARAM from both secrets.ldb (Could not find entry to match filter: '(&(flatname=DARAM)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: dsdb_search at ../source4/dsdb/common/util.c:4705) and from /var/lib/samba/private/secrets.tdb: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
ERROR(ldb): uncaught exception - LDAP error 1 LDAP_OPERATIONS_ERROR - <000004DC: LdapErr: DSID-0C09079A, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v23f0> <>
File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 469, in run
master = get_fsmo_roleowner(samdb, dn, short_name)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 42, in get_fsmo_roleowner
scope=ldb.SCOPE_BASE, attrs=["fSMORoleOwner"])
Could not find machine account in secrets database: Failed to fetch machine account password for DARAM from both secrets.ldb (Could not find entry to match filter: '(&(flatname=DARAM)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: dsdb_search at ../source4/dsdb/common/util.c:4705) and from /var/lib/samba/private/secrets.tdb: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
ERROR(ldb): uncaught exception - LDAP error 1 LDAP_OPERATIONS_ERROR - <000004DC: LdapErr: DSID-0C09079A, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v23f0> <>
File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 469, in run
master = get_fsmo_roleowner(samdb, dn, short_name)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 42, in get_fsmo_roleowner
scope=ldb.SCOPE_BASE, attrs=["fSMORoleOwner"])
Could not find machine account in secrets database: Failed to fetch machine account password for DARAM from both secrets.ldb (Could not find entry to match filter: '(&(flatname=DARAM)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: dsdb_search at ../source4/dsdb/common/util.c:4705) and from /var/lib/samba/private/secrets.tdb: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
ERROR(ldb): uncaught exception - LDAP error 1 LDAP_OPERATIONS_ERROR - <000004DC: LdapErr: DSID-0C09073B, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1772> <>
File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 469, in run
master = get_fsmo_roleowner(samdb, dn, short_name)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/fsmo.py", line 42, in get_fsmo_roleowner
scope=ldb.SCOPE_BASE, attrs=["fSMORoleOwner"])
This script was tested with Debian Jessie and Stretch
Server info: detected (command and where to look)
This server hostname = sambaDC (hostname -s and /etc/hosts and DNS server)
This server FQDN (hostname) = sambaDC.domain.com (hostname -f and /etc/hosts and DNS server)
This server primary dnsdomain = domain.com (hostname -d and /etc/resolv.conf and DNS server)
This server IP address(ses) = 131.192.176.40 (hostname -i (-I) and /etc/networking/interfaces and DNS server
The DC with FSMO roles = (samba-tool fsmo show)
The DC (with FSMO) Site name = (samba-tool fsmo show)
The Default Naming Context = (samba-tool fsmo show)
The Kerberos REALM name used = DOMAIN.COM (kinit and /etc/krb5.conf and resolving)
The Ipadres of DC win2012DC-Site2.domain.com = 131.192.180.22
The Ipadres of DC win2012DC-Site1.domain.com = 131.192.176.20
131.192.176.18
--Barry Adkins
More information about the samba
mailing list