我有一台 Ubuntu 机器,用于 cifs 文件共享,它使用 Samba。它已加入 Active Directory 域。我们正在使用受信任的域。我们有一个相当大的 AD 基础设施,其中包含许多子域。此机器已加入其中一个子域。
我的问题是,我每隔 10 秒就会在 log.winbindd-dc-connect 中收到此错误(见下文)。有趣的是,cifs 确实可以工作,但似乎性能受到了影响。我确实看到这台机器的 CPU 一直很高。我认为日志错误和性能下降是相关的。只是想知道是否有人见过这种情况。
我更喜欢 Windows 而不是 Linux,因此对 Samba 的了解非常有限。我会边学边做。提前谢谢您。
[2017/03/20 17:26:22.225186, 0, pid=19851] ../source3/libsmb/cliconnect.c:1921(cli_session_setup_spnego_send) Kinit for xxxxxx 访问 cifs/[电子邮件保护]失败:无法联系请求领域的任何 KDC
答案1
该错误告诉您,您的系统正在尝试通过域控制器进行身份验证,但无法进行身份验证,因为没有可用的域控制器。由于每 10 秒一次,因此其中许多可能是重试,因为系统会继续尝试访问 SAMBA 共享。
我注意到您的身份验证请求中最后一个 LOCAL 是大写的 - 尝试将其改为小写(因为地址的主机名部分也是小写的)。我以为 Samba 不区分大小写,但我以前也遇到过大小写问题。
继续验证此系统与 KDC 之间的连接/带宽。考虑 ping 时间、丢包率等。
然后验证系统和域控制器之间的任何防火墙上的 TCP 端口 139 和 445 以及 UDP 端口 137 和 138 在出站和入站方向是否都处于打开状态。检查防火墙日志以查看这些范围内的数据包是否由于 proc/网络负载而被丢弃。如果防火墙受到严重影响,请考虑在与 Ubuntu 系统相同的子网中设置只读 DC,这样身份验证流量就不必跨过防火墙。RDC 每天只需要同步几次,而不是不断传递身份验证请求。因此它应该可以减轻防火墙负载。
答案2
我最近遇到了这个错误,我想提供我的解决方案,因为我在谷歌上搜索时没有看到它。我尝试添加到 Active Directory 的服务器名称在 DNS 中定义为别名。一旦我将服务器的别名切换为其主 DNS 名称,我就能够将服务器添加到 AD。