我正在为一个将samba4部署到1400个远程站点的客户build立一个testing环境,并且遇到了一个问题。 毕竟,我的工作是遇到问题,然后解决问题。
我已经configuration了一个密码复制策略,以允许某些帐户在RODC上caching,然后将这些帐户填充到RODC:
sles-shire:~ # samba-tool rodc preload 'win7-shire$' --server main.adlab.netdirect.ca Replicating DN CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca Exop on[CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2] sles-shire:~ # samba-tool rodc preload 'win7-shire-2$' --server main.adlab.netdirect.ca Replicating DN CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca Exop on[CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[1] sles-shire:~ # samba-tool rodc preload 'bilbo' --server main.adlab.netdirect.ca Replicating DN CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca Exop on[CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2]
我知道这些凭据正在RODC上caching,因为如果我放弃站点链接,我可以logincaching的用户,但不是一个不同的用户:
michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U michael Enter michael's password: session setup failed: NT_STATUS_IO_TIMEOUT michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U bilbo Enter bilbo's password: Domain=[MAIN] OS=[Unix] Server=[Samba 4.1.1-SerNet-SuSE-7.suse111] smb: \> ls . D 0 Mon Nov 18 16:09:44 2013 .. D 0 Mon Nov 18 16:11:15 2013 main.adlab.netdirect.ca D 0 Wed Nov 20 17:54:13 2013
所以身份validation工作正常! 但是,当我尝试login到Windows 7电脑(WIN7的SHIRE),我得到的错误:
发生内部错误。
啧啧。 谢谢。 如果我使用不正确的密码,我会得到:
用户名或密码不正确。
所以authentication正在发生,但Windows 7不喜欢的东西 。 我在事件日志中看到这些错误,我认为它们与这个问题有关:
安全系统检测到服务器ldap / sles-shire.main.adlab.netdirect.ca的身份validation错误。 来自身份validation协议Kerberos的失败代码是“发生内部错误。(0xc00000e5)”。
安全系统检测到服务器DNS / sles-shire.main.adlab.netdirect.ca的身份validation错误。 来自身份validation协议Kerberos的失败代码是“发生内部错误。(0xc00000e5)”。
如果我已经login并尝试使用networking服务,我会得到:
安全系统检测到服务器cifs / sles-shire.main.adlab.netdirect.ca的身份validation错误。 来自身份validation协议Kerberos的失败代码是“发生内部错误。(0xc00000e5)”。
我在服务器上的krb5.conf:
[libdefaults] default_realm = MAIN.ADLAB.NETDIRECT.CA dns_lookup_realm = true dns_lookup_kdc = true [realms] [logging] kdc = FILE:/var/log/krb5/krb5kdc.log admin_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON
这是真正的踢球者:
当站点链接启动时,行为仍然会发生。 我可以使用未在RODC上caching的帐户login域PC,但是如果它们位于RODC上,则会出现相同的错误。
我已经确保AD DNS中的所有适当的SRVlogging已经到位。 我已经通过将分支办公室中的Windows 2008 R2 DC推广到RODCangular色并确保Windows和Samba RODC都存在所有相应的DNSlogging来保证这一点。
(有些需要手动添加,因为它们还没有被桑巴join:
SRV _ldap._tcp.${SITE}._sites.DomainDnsZones.${DNSDOMAIN} ${HOSTNAME} 389 SRV _ldap._tcp.${SITE}._sites.ForestDnsZones.${DNSFOREST} ${HOSTNAME} 389
)(必须closures括号)
那么…什么坏了,我该如何解决?
> dsquery * "CN=SLES-SHIRE,OU=Domain Controllers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName servicePrincipalName ldap/SLES-SHIRE; ldap/4116d553-d66b-4c8b-9a60-90380ac69c04._msdcs.main.adlab.netdirect.ca; ldap/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca; HOST/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca; ldap/SLES-SHIRE.main.adlab.netdirect.ca; ldap/SLES-SHIRE.main.adlab.netdirect.ca/MAIN; HOST/SLES-SHIRE.main.adlab.netdirect.ca/MAIN; RestrictedKrbHost/SLES-SHIRE.main.adlab.netdirect.ca; RestrictedKrbHost/SLES-SHIRE; GC/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca; HOST/SLES-SHIRE.main.adlab.netdirect.ca;HOST/SLES-SHIRE; > dsquery * "CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName servicePrincipalName TERMSRV/WIN7-SHIRE.main.adlab.netdirect.ca; TERMSRV/WIN7-SHIRE; RestrictedKrbHost/WIN7-SHIRE; HOST/WIN7-SHIRE; RestrictedKrbHost/WIN7-SHIRE.main.adlab.netdirect.ca; HOST/WIN7-SHIRE.main.adlab.netdirect.ca;
这是一个很长的一段时间,但我会尝试:在安全级别设置方面,在我看来,win7和基于samba的RODC之间有些不兼容。 我也假设在Win 7上的一些默认的安全设置是太严格的,桑巴舞不支持。 我将尝试通过更改本地策略来放宽win 7上的安全设置:计算机configuration – > Windows设置 – >安全设置 – >本地策略 – >安全选项。
常见的嫌疑人包括但不限于:
Microsoftnetworking客户端:数字签名通信(如果服务器同意)Microsoftnetworking客户端:向第三方SMB服务器发送未encryption的密码networking安全:LAN Manager身份validation级别networking安全:LDAP客户端签名要求networking安全:基于NTLM的最低会话安全性基于SSP包括安全的RPC)客户端要求消息机密性要求NTLMv2会话安全性要求128位encryption
看起来问题可能与所有与探索/testing安装相关的死angular和松动导线有关。
在恢复环境并从实际configuration过程重新执行AD和RODC设置之后,此场景完美无缺地工作!