使用Samba将Ubuntu桌面连接到Active Directory域的问题

我一直在尝试添加一个Ubuntu桌面到我们的公司领域,取得了有限的成功。 我已经尽可能按照https://help.ubuntu.com/community/ActiveDirectoryWinbindHowto上的指导(包括跟随设置Kerberos的链接)。 我可以使用kinit从我们的区议会获得一张票:

localuser@HOSTNAME: sudo kinit adminuser Password for [email protected]: Warning: Your password will expire in 5 days on Sun 18 Sep 2016 08:58:05 AEST localuser@HOSTNAME: sudo klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: [email protected] Valid starting Expires Service Principal 12/09/16 09:57:10 12/09/16 19:57:10 krbtgt/[email protected] renew until 13/09/16 09:56:57 

它甚至可以看到我的密码在5天内到期。 但是当我尝试join域时,我得到以下内容:

 localuser@HOSTNAME: sudo net ads join -k Kinit for HOSTNAME$ to access cifs/[email protected] failed: Cannot contact any KDC for requested realm Using short domain name -- DOMAIN Joined 'HOSTNAME' to dns domain 'domain.com.au' kerberos_kinit_password [email protected] failed: Cannot conact any KDC for requested realm DNS update failed: kinit failed: Cannot contact any KDC for requested realm 

奇怪的是,域对象被创build,重新启动后,我可以看到lastLogonTime更新到桌面启动的时间。

我也尝试使用smbclient来testing。 在这里,我发现一些奇怪的东西 如果我指定了服务器名称,它将起作用,但如果我指定了FQDN,则只能部分工作:

 localuser@HOSTNAME:~$ smbclient -kL //dc01 OS=[Windows Server 2012 R2 Standard 9600] Server=[Windows Server 2012 R2 Standard 6.3] Sharename Type Comment --------- ---- ------- ADMIN$ Disk Remote Admin C$ Disk Default share IPC$ IPC Remote IPC NETLOGON Disk Logon server share SYSVOL Disk Logon server share OS=[Windows Server 2012 R2 Standard 9600] Server=[Windows Server 2012 R2 Standard 6.3] Server Comment --------- ------- Workgroup Master --------- ------- localuser@HOSTNAME:~$ smbclient -kL //dc01.domain.com.au OS=[Windows Server 2012 R2 Standard 9600] Server=[Windows Server 2012 R2 Standard 6.3] Sharename Type Comment --------- ---- ------- ADMIN$ Disk Remote Admin C$ Disk Default share IPC$ IPC Remote IPC NETLOGON Disk Logon server share SYSVOL Disk Logon server share Connection to dc01.domain.com.au failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND) NetBIOS over TCP disabled -- no workgroup available 

我正在Windows 10 Professional上托pipe的Hyper-V虚拟机中运行Ubuntu Desktop 16.04 LTS。 我们的域名是2008年的function级别,我们的域名都是2012 R2。 我已经安装了下列软件包:

 sudo apt install krb5-user libnss-winbind libpam-winbind ntp ntp-doc samba smbclient ssh-server vim vim-doc winbind 

DNS和NTP都可以使用; ntpq -p列出我的DC。 我对configuration文件所做的更改:

/etc/krb5.conf – 我们有两个使用的DNS域名; 我还没有尝试过使用第二个域,但是我已经把它放在这里准备。 此外,一个Wireshark跟踪显示桌面试图通过UDP连接,并没有得到任何答案,然后将尝试约20秒后与TCP,并得到一个直接的答案,所以我禁用UDP。

 [logging] default = FILE:/var/log/krb5.log [libdefaults] default_realm = DOMAIN.COM.AU udp_preference_limit = 0 [domain_realm] .domain.com.au = DOMAIN.COM.AU domain.com.au = DOMAIN.COM.AU .domain2.com.au = DOMAIN.COM.AU domain2.com.au = DOMAIN.COM.AU 

/etc/samba/smb.conf – 由于testparm在抱怨默认的“syslog = 0”行,所以我删除了它。 此外,由于这台计算机没有任何打印机共享,我已经删除了默认的共享部分([打印机]和[打印$])。

 [global] client ntlmv2 auth = yes client signing = yes client use spnego = yes encrypt passwords = yes idmap config * : backend = autorid idmap config * : range = 1000000 - 1999999 kerberos method = secrets and keytab realm = DOMAIN.COM.AU restrict anonymous = 2 security = ads template homedir = /home/%D/%U template shell = /bin/bash winbind enum groups = yes winbind enum users = yes winbind use default domain = yes workgroup = DOMAIN 

任何想法在哪里寻找麻烦? 尽pipe已将日志logging部分添加到我的krb5.conf文件中,但是没有创build日志文件,所以我似乎无法获得有关Kerberos中发生的事情的任何详细信息。 我希望有人比我能指出我的下一个检查方向是正确的。

这可能是一个DNS问题。 检查DC01.domain.com.au服务器的DNS:

 $ nslookup DC01 # or dig if you prefer $ nslookup DC01.domain.com.au $ nslookup wxyz # IP address 

同样,使用正确的DNSsearchpath,确保您的客户端在DNS正向和反向上正确parsing:

 $ nslookup HOSTNAME $ nslookup HOSTNAME.domain.com.au $ nslookup wxyz # IP address 

尝试强制使用特定的KDC,至less对于join。 这样做并不理想,但是在发生DNS问题时可能会有所帮助。

/etc/krb5.conf

 [realms] DOMAIN.COM.AU = { kdc = dc01.domain.com.au } 

/etc/smb.conf

 [global] password server = dc01.domain.com.au 

也尝试net ads join -U adminuser而不是-k选项。

我见过的例子有udp_preference_limit = 1而不是udp_preference_limit = 0但这可能没有关系。

login/etc/krb5.conf仅用于服务器端,我相信。