首次登录加入 AD 的 Samba 框时速度很慢

首次登录加入 AD 的 Samba 框时速度很慢

我已将我的第一个 Debian 机器加入到 Active Directory (2008 R2)。它运行正常,我可以使用 AD 凭据登录,浏览 Samba 共享。

问题在于通过 ssh 登录(这是登录无头服务器的唯一方式)所花费的时间。大约需要 30 到 45 秒才能收到提示,随后几分钟内即可立即登录,然后再次需要很长时间才能登录(依此类推)。

  • 与 a 也是一样sudo
  • 但是(经过身份验证的)浏览共享速度很快,没有延迟。

AD 结构相当大,大约需要 3 分钟才能获取wbinfo -u,其中包含 365k 个条目。

我在日志中记录了以下一系列条目:

winbindd[3701]:   kinit succeeded but ads_sasl_spnego_krb5_bind failed: Cannot contact any KDC for requested realm
winbindd[3701]: [2014/03/31 11:00:38.393016,  0] ../source3/libads/sasl.c:994(ads_sasl_spnego_bind)

klist显示了正确的列表,并且/etc/krb.conf桑巴维基

The `/etc/samba/smb.conf` is quite standard:
[global]
realm = DOMAIN.EXAMPLE.COM
workgroup = DOMAIN
netbios name = MYDEBIAN
security = ADS
encrypt passwords = yes
wins server =  adserver.example.com
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = no
winbind enum groups = no
winbind nested groups = false
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
winbind use default domain = yes
preferred master = no
valid users = @it.security
admin users = @it.security
printing = bsd
printcap name = /dev/null

与登录相关的条目/etc/nsswitch.conf

passwd:         files winbind
group:          files winbind
shadow:         files
  • 是否可能是缓存配置错误?

  • 登录是否应该快速且没有缓存(换句话说 - 登录配置本身是否不正确并且某些缓存机制仅在我的情况下有帮助但隐藏了真正的问题?)

答案1

检查您的/etc/krb5.conf文件,确保您在以下位置设置了以下值

[libdefaults]

default_realm = DOMAIN.EXAMPLE.COM

[realms]

kdc = DC FQDN

admin_server = DC FQDN

[domain realm]

.domain.example.com = DOMAIN.EXAMPLE.COM

domain.example.com = DOMAIN.EXAMPLE.COM

另外,在您的smb.conf文件中添加以下内容:

password server = DC IP or FQDN

请参阅我的博客文章以获取更详细的说明:https://monklinux.blogspot.com/2017/09/how-to-samba-4-file-server-as-member.html

答案2

您报告的 30 - 45 秒延迟符合潜在的 DNS 名称解析问题。请确保此计算机可以解析目录服务器的 FQDN,并且它不必尝试 FQDN,超时失败,然后回退到使用 IP。

您应该能够通过从此问题客户端 ping 目录服务器的 FQDN 来测试这一点。您还可以使用“host”命令来解析主机名,而无需使用 ICMP(如果 ICMP 通过防火墙或类似程序受到限制):

# host domain.example.com

如果您确实遇到 DNS 解析问题,请确保此机器配置为在正确的域中搜索,并且名称服务器的顺序正确(例如,如果这是您的预期目标,它可能应该首先尝试目录名称服务器)。

至于这些配置的具体细节,您运行的 Debian 版本确实很重要 - 新版本使用与旧版本不同的名称解析技术。

相关内容