Win7客户端在samba4 RODC上缓存的凭据失败


9

我正在为要将samba4部署到1400个远程站点中的客户设置测试环境,但是遇到了问题。毕竟,遇到问题然后解决问题是我的工作。

活动目录

  • 林根和单个域:main.adlab.netdirect.ca
  • 在Windows 2008 R2上创建
  • 2008 FFL
  • 2008 DFL

总公司

  • AD1:Windows 2008 R2 DC
  • AD2:Windows 2008 R2 DC
  • Windows 7专业版客户端

分支机构

  • 具有Samba 4的SLES11SP2(已完全更新!)(来自Sernet的4.1.1-7.suse111软件包)
  • 将Samba 4配置为RODC

我已经配置了密码复制策略,以允许将某些帐户缓存在RODC上,然后将这些帐户填充到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上,因为如果我删除站点链接,则可以使用缓存的用户登录,但不能使用其他用户登录:

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

因此身份验证工作正常!但是,当我尝试登录Windows 7 PC(WIN7-SHIRE)时,出现错误消息:

发生内部错误。

真是 谢谢。如果我使用了错误的密码,则会得到:

用户名或密码不正确。

因此正在进行身份验证,但是Windows 7不喜欢某些东西。我在事件日志中看到了这些错误,并且我认为它们与该问题有关:

安全系统检测到服务器ldap / sles-shire.main.adlab.netdirect.ca的身份验证错误。身份验证协议Kerberos的失败代码为“发生内部错误。(0xc00000e5)”。

安全系统检测到服务器DNS / sles-shire.main.adlab.netdirect.ca的身份验证错误。身份验证协议Kerberos的失败代码为“发生内部错误。(0xc00000e5)”。

如果我已经登录并尝试使用网络服务,则会得到:

安全系统检测到服务器cifs / sles-shire.main.adlab.netdirect.ca的身份验证错误。身份验证协议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上缓存的帐户登录到域PC ,但是如果它们在RODC上,则会出现相同的错误。

我已经确保AD DNS中所有适当的SRV记录都到位。我通过将分支机构中的Windows 2008 R2 DC提升为RODC角色并确保Windows和Samba RODC都存在所有适当的DNS记录来确保这一点。

(有些是必须手动添加的,因为samba尚未添加它们:

SRV _ldap._tcp.${SITE}._sites.DomainDnsZones.${DNSDOMAIN} ${HOSTNAME} 389
SRV _ldap._tcp.${SITE}._sites.ForestDnsZones.${DNSFOREST} ${HOSTNAME} 389

)(必须放在方括号中)

那么……什么地方坏了,我该如何解决?


SPN信息

> 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;

Answers:


2

这是一个远景,但我会尝试:就安全级别设置而言,在我看来win7和基于samba的RODC之间有些不兼容。我还假设win 7上的某些默认安全设置过于严格,以致samba不支持。我将尝试通过更改本地策略来放松Win 7上的安全设置:“计算机配置”->“ Windows设置”->“安全设置”->“本地策略”->“安全选项”。

通常的嫌疑人包括但不限于:

Microsoft网络客户端:对通信进行数字签名(如果服务器同意)Microsoft网络客户端:向第三方SMB服务器发送未加密的密码网络安全:LAN Manager身份验证级别网络安全:LDAP客户端签名要求网络安全:基于NTLM SSP的最低会话安全性(包括安全的RPC客户端)要求消息保密要求NTLMv2会话安全要求要求128位加密


0

看起来问题可能与探索/测试安装相关的所有死角和松动的电线有关。

还原环境并从实际配置过程重新执行AD和RODC设置后,此方案可以完美运行而不会出现任何麻烦!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.