我会尽量简短但翔实的讲解。
我目前无法将 OSX lion (10.7.4) 机器绑定到我们的 AD。OSX kerberos (heimdal) 无法找到 KDC 服务。
但是我可以将 Linux 和 Windows 计算机绑定到 AD,在同一网络中没有任何问题
AD 控制域 DNS,所有相关的 _kerberos._tcp.x.domain.com 和 _kpasswd SRV DNS 记录都在那里,从 OSX 机器尝试时可以正常解析。定义的端口已开放用于服务,并可从 OSX 手动访问。
当我在 OSX 中尝试 kinit 时,我可以通过第一次身份验证(错误的密码立即失败),但是当提供正确的密码时,kinit 会在等待一段时间后失败,并显示“无法到达 KDC”。
- 所有机器都运行 NTP 并且具有正确的时间。
- 测试期间,机器之间的网络没有防火墙
- Linux 和 Windows 机器没有任何问题
- 我尝试过使用和不使用 /etc/krb5.conf - OSX 默认不需要它
- 在 krb5.conf 中,我使用了我们的一台 Linux 机器的工作配置。
- dsconfigad 失败,仅显示“目录服务器连接失败”
我对此有点困惑。OSX 就像找不到 KDC 一样,而同时我的装有 Windows 7 的测试机器和一些 Linux(centos 6 和 debian 6)机器却没有任何问题。相同的网络,相同的配置。
我在某个地方缺少一些重要的配置,但我无法找出它是什么。
答案1
发生这种情况的原因有很多种,尽管正如您所说,这似乎与 AD 有关。我最初会尝试一些简单的事情,因为有时问题的原因并不总是很明显。
尝试重新生成您的 AD 首选项文件:
cd /Library/Preferences/DirectoryService
sudo mv ActiveDirectoryDynamicData.plist ActiveDirectoryDynamicData.plist.old
sudo killall DirectoryService
这将备份并重新创建首选项。如果这不起作用,请检查您从此命令中获得了哪些 AD 信息:
dscl /Active\ Directory/All\ Domains -list /Users
最后,您可以从调试日志中更好地了解问题的原因:
tail –f /Library/Logs/DirectoryService/DirectoryService.debug.log | grep
答案2
感谢您的建议,但最终这导致了路由错误。AD 有多个接口连接到不同的网络以在其中执行不同的任务。
如果 AD 也具有到网络 A 的接口,则从网络 A 连接到 AD 服务接口所在的网络 B 将无法工作,因为连接跟踪显然默认不以这种方式工作。
因此,我猜是用户错误。