我有 2 个站点:BEZA(数据中心)BEOM(办公室)
在两个站点中,都有 2 个域控制器(安装了 DNS)。我已将 DC 分配给特定站点。
当我尝试解析域时,我从 4 个 dc 中的 1 个获取随机记录。因此,当您尝试在站点 BEZA 上针对 ldap 进行身份验证时,它实际上使用了 BEOM 上的 DC。今天我们在 BEOM 中的 DC 遇到了问题。BEZA 中的所有应用程序都无法再进行身份验证。如果我执行几次 ipconfig /flushdns,我就会得到正确的(本地)DC ip。我如何“强制”DNS 返回与应用程序/用户位于同一站点的 DC 记录?
谢谢!
答案1
答案是不需要。可以不为办公室 (BEOM) 注册 DNS 记录,这样数据中心中的应用程序始终只有其本地 DNS 记录。并且 BEOM 站点中的客户端将始终首先使用其 DC,因为它们将这些 DC 用于 DNS。但是,如果域控制器在 DNS 中注册,则这些记录将在域查询中返回。这种方法对于中心辐射型拓扑非常常见。
不过,该问题不太可能由直接 DNS 查找引起,因为 DC 定位器过程比 DNS 查询复杂得多。
如何优化位于客户端站点之外的域控制器或全局目录的位置
https://support.microsoft.com/en-us/kb/306602
“DC 定位器 DNS 记录未被 DC 注册”Net Logon 服务组策略。
答案2
When I try to resolve the domain, I get random records, from 1 of the 4 dc's. So it could be that, when you try to authenticate against ldap on site BEZA, it actually uses a DC on BEOM
- 这有点转移注意力。使用 nslookup 或 dig 之类的工具在 DNS 中查询域名与定位要进行身份验证的域控制器不同。通过 nslookup 或 dig 在 DNS 中查询域名应该会返回所有域控制器,无论站点如何。这是正常且预期的行为。这并不意味着您的客户端或应用程序将使用随机 DC 进行身份验证。
您是否已创建子网并将其与 Active Directory 站点和服务中的相应站点关联?
当您正确配置 ADS&S 时,域控制器将在 DNS 中注册站点特定记录。当 AD 客户端向 DNS 查询 DC 的位置时,如果这些子网已在 ADS&S 中定义,则将根据客户端子网返回本地 DC。然后,客户端将与该站点创建“关联”,以便后续登录使用该站点中的 DC。这适用于域控制器定位器进程。您的应用程序的行为方式可能完全是另一回事。
答案3
也许我解释得不对,但这更像是 DNS 问题,而不是实际的 AD 问题。
我有软件可以对我的域名 (intra.mydomain.com) 发出 LDAP 请求。当我在 BEOM 中对 intra.mydomain.com 执行 nslookup 时,我希望得到 BEOM 的 DC。当我在 BEZA 中对 intra.mydomain.com 执行 nslookup 时,我希望得到 BEZA 的 DC。
这不起作用。但显然,那是因为我的子网优先级设置不太好,那是因为它匹配了错误的 IP 部分。10.101。1.1 而不是 10。101.1.1. 可以使用以下命令修复此问题:
Dnscmd /Config /LocalNetPriorityNetMask 0x0000FFFF
现在,当我查询 intra.mydomain.com 时,我会得到来自同一位置的 DC。