本文提供了优化驻留在客户端站点外部的域控制器或全局目录的位置的步骤。
原始 KB 数: 306602
总结
Windows 中的域控制器定位器机制始终首选位于正在搜索域控制器的客户端站点中的域控制器。 通过域控制器实现这一点,该域控制器为其所在站点注册特定的站点域控制器定位器 DNS SRV 资源记录。
此外,域控制器可以为其他没有域控制器但离该域控制器的站点最近的站点注册特定于站点的域控制器定位器 DNS SRV 资源记录。 此类角色包括托管同一域或全局目录的角色。 此机制可确保客户端在客户端站点中没有域控制器的情况下找到最近的域控制器。
如果同一角色中的所有域控制器(即托管同一域或正在全局编录)在特定站点中不可用,位于同一站点中的客户端将故障转移到:
- 如果配置为使用,则为“下一个最近的站点”。 客户端需要成功联系到域控制器,以确定下一个最近的站点。
- 在 Site-Less 记录列表中注册的域控制器。
默认情况下,所有可写 DC 都注册了无站点名称的记录,因此客户端可能会尝试在远程网络中响应速度缓慢的 DC,或者由于路由限制而根本无法访问这些 DC。 因此,只有那些与站点无关的 DNS 记录中的域控制器才应该在与网络连接良好且受到良好监控的情况下存在,这样才能确保它们具有良好的正常运行时间。 Read-Only DC 默认仅在它们所在的站点中注册特定于站点的 DNS 记录。 它们不会自动覆盖其他网站。
详细信息
以下信息描述了在为特定站点提供服务的所有域控制器/全局编录不可用时,应使用的建议配置来优化域控制器或全局编录的位置。 “第一部分”介绍了中心辐射型拓扑的配置。 “第 II 部分”描述了其他拓扑的配置。
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请单击下面的文章编号,查看相应的 Microsoft 知识库文章:322756 如何备份和还原 Windows 中的注册表
第 I 部分:中心辐射型拓扑
本部分中的建议基于中心辐射型拓扑中的以下假设:
最好是,如果附属站点中的所有域控制器和全局目录都不可用,那么在该站点中搜索域控制器或全局目录的客户端会切换到位于中心枢纽而不是另一个附属站点中的域控制器或全局目录。 此解决方案适用于具有单个中心站点或多个中心中心的拓扑,以适应与卫星客户端故障转移的中央站点无关的情况。
为了实现此行为,卫星办公室中的域控制器和全局目录不应注册通用(非特定于站点的)域控制器定位器 DNS 记录。 这些记录仅由中心中心的域控制器和全局目录注册。 当客户端找不到为站点提供服务的域控制器和全局目录时,它们会使用这些通用(非特定于站点)的域控制器定位器 DNS 记录来尝试查找任何域控制器或全局目录。
配置域控制器或全局目录以不注册无站点记录
使用注册表编辑器手动配置
-
启动注册表编辑器(Regedt32.exe)。
-
请找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters -
在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
值名称:DnsAvoidRegisterRecords 数据类型:REG_MULTI_SZ
将值设置为“引用表”部分中指定的以回车分隔的助记符列表。
-
退出注册表编辑器。
管理模板组策略
使用“DC 定位器 DNS 记录未被 DC 注册”Net Logon 服务组策略。 为此,请指定“参考表”部分中列出的以空格分隔的助记符列表。
引用表
下表包含域控制器定位器 DNS 记录的助记符、类型和所有者名称,这些记录不应由卫星域控制器和全局目录注册,以优化域控制器的定位。
域控制器特定的记录
| 助记符 | 类型 | DNS 记录 |
|---|---|---|
| LDAP IP地址 | 一个 | <DnsDomainName> |
| Ldap | SRV | _ldap._tcp。<DnsDomainName> |
| DcByGuid | SRV | _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName> |
| Kdc | SRV | _kerberos._tcp.dc._msdcs.<DnsDomainName> |
| 直流 | SRV | _ldap._tcp.dc._msdcs.<DnsDomainName> |
| Rfc1510Kdc | SRV | _kerberos._tcp.<DnsDomainName> |
| Rfc1510UdpKdc | SRV | _kerberos._udp.<DnsDomainName> |
| Rfc1510Kpwd | SRV | _kpasswd._tcp。<DnsDomainName> |
| Rfc1510UdpKpwd | SRV | _kpasswd._udp。<DnsDomainName> |
适用于全局目录的特定记录
| 助记符 | 类型 | DNS 记录 |
|---|---|---|
| Gc | SRV | _ldap._tcp.gc._msdcs.<DnsForestName> |
| GcIpAddress | 一个 | gc._msdcs。<DnsForestName> |
| GenericGc | SRV | _gc._tcp.<DnsForestName> |
第 II 部分:其他拓扑
如果当本地域控制器和全局目录不可用时故障转移到中央中心不符合要求,则可以使用以下配置。
如果站点 A 中的客户端(例如运行Microsoft Exchange Server 的服务器)故障转移到站点 B 中的域控制器和全局目录,则管理员可以在站点 B 中配置部分或所有域控制器和全局目录,以便在站点 A 中的域控制器和全局目录不可用时为站点 A 注册特定于站点的记录。 为了确保站点 A 中的客户端仅在站点 A 的域控制器和全局目录不可用时才选择站点 B 的域控制器和全局目录,站点 B 中为站点 A 提供服务的域控制器和全局目录应注册优先级较低(绝对值较高)的 SRV 记录。
注意
优先级设置将应用于域控制器注册的所有 SRV 记录。 因此,当管理员为域控制器设置较低优先级时,必须谨慎,因为域控制器会将较低优先级用于特定于站点的记录,包括其自身站点的记录。
配置域控制器以注册不同站点的特定于站点的记录
使用注册表编辑器手动配置
-
启动注册表编辑器(Regedt32.exe)。
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters -
在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
值名称:SiteCoverage 数据类型:REG_MULTI_SZ
将值设置为域控制器需要注册的站点名称列表,列表以空格分隔。
-
退出注册表编辑器。
管理模板组策略
使用 “域控制器定位器的 DNS SRV 记录覆盖的站点” 的 Net Logon 服务组策略。 为此,请指定域控制器应注册的以空格分隔的站点名称列表。
将全局编录配置为为其他站点注册特定于站点的记录
使用注册表编辑器手动配置
-
启动注册表编辑器(Regedt32.exe)。
-
找到并单击下列注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters -
在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
值名称:GcSiteCoverage 数据类型:REG_MULTI_SZ
设置值为全局目录应注册的以空格分隔的站点名称列表。
-
退出注册表编辑器。
管理模板组策略
使用“指定 GC 定位器 DNS SRV 记录涵盖的站点”的 Net Logon 服务组策略,方法是指定全局编录应为其注册的以回车符分隔的站点名称列表。
将域控制器配置为使用特定优先级注册 SRV 记录
使用注册表编辑器手动配置
-
启动注册表编辑器(Regedt32.exe)。
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters -
在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
值名称:LdapSrvPriority 数据类型:REG_DWORD
将值设置为优先级的所需值。 退出
-
退出注册表编辑器。
管理模板组策略
使用“域控制器定位符 DNS SRV 记录中的优先级设置”Net Logon 服务组策略。