我的 Ubuntu 15.04 服务器上出现了一些间歇性身份验证问题。我已直接在此处询问此问题:Kerberos 加密类型错误
我的 Windows DC 目前是混合版本(我们正在努力淘汰较旧的 DC 并升级到最新版本。)我如何验证每个 Ubuntu 盒子正在向哪个 DC 进行身份验证?它只是使用 DNS 来查找 DC。每个盒子是否只要可用就会始终使用相同的 DC,还是会使用某种循环?由于问题是间歇性的,我很好奇它是否仅与某些 DC 有关。
答案1
默认情况下,您的系统将执行循环查找,包括 Kerberos。如果您想使用特定域控制器来排除故障,我建议添加 HOSTS 文件条目并将yourdomain.com
其指向特定控制器。这往往是一种比更新整个 Kerberos 配置更安全的方法。
编辑:
回应安迪的回答,编辑 sssd.conf 就可以了如果有问题的系统使用 sssd,并且问题出在 sssd 上。危险在于其他应用程序也可能使用域名进行绑定。因此,您可能会得到不一致的结果。这正是我建议使用 hosts 文件方法的原因。它会影响整个服务器,而不仅仅是一项服务。我发现这在具有多个管理员的环境中很有用,尤其是在/etc
不受版本控制的情况下。
答案2
应该可以使用 sssd.conf 中的“ad_server”选项指定一个 dc:
ad_server = dctotest.example.org
答案3
除了其他人所说的之外,krb5_child.log 还显示非常详细的信息(就 libkrb5 提供的程度而言):
{(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb](0x4000):[22284] 1446412085.69409:向 WIN.TRUST.TEST 发送请求(274 字节)
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb] (0x4000): [22284] 1446412085.69457: 向 dgram 192.168.122.90:88 发送初始 UDP 请求
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb](0x4000):[22284] 1446412085.70323:从 dgram 192.168.122.90:88 收到答复(100 字节)
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb](0x4000):[22284] 1446412085.70394:响应来自主 KDC
enter code h(Sun Nov 1 21:08:05 2015) [[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb] (0x4000): [22284] 1446412085.69409: Sending request (274 bytes) to WIN.TRUST.TEST
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb] (0x4000): [22284] 1446412085.69457: 向 dgram 192.168.122.90:88 发送初始 UDP 请求
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb](0x4000):[22284] 1446412085.70323:从 dgram 192.168.122.90:88 收到答复(100 字节)
(2015 年 11 月 1 日星期日 21:08:05)[[sssd[ldap_child[22284]]]] [sss_child_krb5_trace_cb](0x4000):[22284] 1446412085.70394:响应来自主 KDC