我最近添加了一个新的 Server 2012 DC,并使之前的 2003 DC 脱机。Server 2012 DC 现在是网络上唯一的 DC。我还添加了一个别名 (CNAME),以便可以使用旧服务器的 DNS 名称访问新服务器。
我现在在事件日志中看到一个错误和几个警告,我怀疑这些警告与一些“剩余”或其他尝试同步到旧服务器的配置有关。其中一个事件是:[错误] Kerberos 事件 ID 4 - Kerberos 客户端从服务器 new-srvr$ 收到 KRB_AP_ERR_MODIFIED 错误。使用的目标名称是 cifs/old-srvr。
我希望有人可以对此提供更多解释并给出可能的解决方案。
更新:添加更多细节 在将 2003 DC 脱机之前,我确实使用 dcpromo 将其降级。但是,我确实必须使用强制选项,因为我收到了与 DomainDnsZones 和 fSMORoleOwner 相关的错误。不确定为什么,因为我确实验证了所有这 5 个角色都已将所有权转移到新服务器:架构主控域命名主控基础设施主控相对 ID (RID) 主控 PDC 模拟器我遵循了指南这里。
其次,我添加 CNAME 的原因是为了 SMB,而不是与域相关。我希望客户端能够继续使用 \old-server,所以我遵循了说明这里。
我想知道这对 DC 来说是否是一种“危险”的做法,不能/不应该这样做。
答案1
“我还添加了一个别名(CNAME),以便可以使用旧服务器的 DNS 名称访问新服务器。”
不错的尝试,但KRB_AP_ERR_MODIFIED
错误是 Kerberos 告诉您 $#@! 关闭的方式,因为名称不匹配。所有主机名、DNS A 记录和 SPN 都必须匹配。在这种情况下不能使用 CNAME/别名记录。
(更具体地说,客户端使用托管客户端希望连接到的服务的计算机的 DNS 名称为 Kerberos 构建 SPN。如果该 SPN 未在 AD 中的计算机对象上注册(实际上不会注册),因为新 DC 的名称与旧 DC 不同,所以 Kerberos 将无法工作。)
您需要对旧的 DC 执行元数据清理。
https://technet.microsoft.com/en-us/library/Cc816907(v=WS.10).aspx
向下滚动到文章的底部,其中解释了如何使用 ntdsutil 执行元数据清理。
删除该 CNAME。删除指向旧服务器的现有 DNS 记录。其中包括 A 记录、SRV 记录、PTR 记录等。
检查每个域成员并确保他们使用新域控制器的 IP 地址作为其唯一的 DNS 解析器。