使用单标签 DNS 名称的 Active Directory 域的最佳做法

总结

本文提供有关使用单标签 DNS 名称的 Active Directory 域服务 (AD DS) 域的部署和操作的信息。

原始 KB 数: 300684

本文提供了用于考虑重命名域的方案的应用程序兼容性信息。 通常,可以考虑此方法以删除单标签域名系统(DNS)配置。

出于以下原因,请创建新的具有完全限定 DNS 名称的 Active Directory 域(FQDN):

  • 不能使用互联网注册机构来注册单标签 DNS 名称。

  • 加入到单标签域时,客户端计算机(包括已加入域的和未加入域的)和域控制器(DC)需要额外配置,以便在单标签 DNS 区域中动态注册 DNS 记录。

  • 客户端计算机(已加入域、未加入域和Microsoft Entra ID 联接)和 DC 需要额外配置才能解析单标签 DNS 区域中的 DNS 查询。

  • 某些基于服务器的应用程序与单标签域名不兼容。 新发布的应用程序可能不支持单标签 DNS 名称,支持单标签 DNS 名称的应用程序可能会在未来删除该支持。

  • 将单标签 DNS 域名切换为完整域名 (FQDN) 并不简单,其过程可以选择以下两种方式:

    • 将用户、计算机、组和其他状态迁移到新林。

    • 重命名现有域。

      重要

      当前Microsoft应用程序不支持域名重命名。 因此,请勿尝试将单标签 DNS 名称重命名为 FQDN。

  • 在 Windows Server 2008 中,Active Directory 安装向导(Dcpromo.exe)警告不要创建具有单标签 DNS 名称的新域。 没有创建具有单标签 DNS 名称的新域的业务或技术原因。 在 Windows Server 2008 R2 及更高版本中,Active Directory 安装向导显式阻止创建此类域。

本文的早期版本列出了明确不支持域重命名的 Microsoft 应用程序。 目前,没有Microsoft应用程序支持域重命名。 因此,不再需要该列表提供的区别。

详细信息

单标签名称由单个单词组成,例如“contoso”。

最佳实践的 Active Directory 域名通常由一个或多个子域与顶级域结合而成。 句点(“.”)分隔这两个组件,如以下示例所示:

  • contoso.com
  • corp.contoso.com

顶级域占据域名中最右侧的标签。 有许多顶级域可用。 常见的顶级域包括以下示例:

  • .com
  • .net
  • .org
  • 双字母国家/地区代码顶级域(ccTLD),如 .nz
  • 泛型名称,如“local”。但是,在这些情况下,泛型名称可能会导致其他问题。

若要支持当前和将来的作系统和可靠应用程序,请使用两个或多个 Active Directory 域名标签。 有关无效的顶级域查询的示例,请参阅域名系统根级别的无效顶级域查询(安全与稳定顾问委员会)。

向 Internet 注册机构注册 DNS 名称

使用 Internet 注册机构为域最顶级内部和外部 DNS 命名空间注册 DNS 名称。 这些 DNS 命名空间包括任何 Active Directory 林的根域,除非这些名称是以前注册域的子域。 例如,林根域“corp.example.com”是内部“example.com”命名空间的子域。当您将 DNS 名称注册到互联网注册机构时,互联网 DNS 服务器会在某个时刻或在您的 Active Directory 林生命周期内解析您的域名。 此注册还有助于防止其他组织发生名称冲突。

指示客户端无法在单标签向前查找区域中动态注册 DNS 记录的症状

如果在环境中使用单标签 DNS 名称,客户端可能无法在单标签向前查找区域中动态注册 DNS 记录。 特定症状因不同版本的 Windows 而异,但可能包括以下症状:

  • 配置单标签域名后,DC 无法注册 DNS 记录。 DC 的系统日志一致记录 NetLogon 事件 ID 5781,“动态注册或删除与 DNS 域”intranet.example.com“关联的一个或多个 DNS 记录。 失败。”

  • 客户端收到类似于以下错误代码的 DNS 错误:

    • 0000232A DNS_ERROR_RCODE_SERVER_FAILURE
    • 0x0000251D DNS_INFO_NO_RECORDS
    • DNS_ERROR_RCODE_ERROR
    • 0x0000232A RCODE_SERVER_FAILURE
  • 为 DNS 动态更新配置的基于 Windows 的计算机不会在单标签 DNS 域中注册。 Windows 记录系统日志中的相应事件。

如何在使用单标签 DNS 区域时启用基于 Windows 的客户端发送查询和动态更新

基于 Windows 的计算机需要其他配置来支持 Active Directory 域的单标签 DNS 名称。 具体而言,在具有单标签 DNS 名称的域中,Active Directory 域成员上的 DC 定位器服务不使用 DNS 服务器服务来查找域控制器。 必须将此附加配置应用于所有林中的所有计算机。

请考虑以下配置:

  • 域成员计算机驻留在不包含任何单标签 DNS 域的林中。
  • DC 驻留在不同林中的单标签 DNS 域内。

在此配置中,你将看到以下默认行为:

  • 默认情况下,客户端计算机不使用 DNS 服务器服务来查找 DC。
  • 默认情况下,Windows DNS 客户端不会将更新发送到顶级域。

这些行为会导致 DNS 解析问题。 若要缓解这些问题,必须更改 Windows 客户端计算机的配置(已加入域、未加入域或Microsoft Entra ID 加入)以及域控制器(DC)。 若要更改配置,请使用本节中的两种方法之一。

重要

在使用任一方法之前,请确保 NetBIOS 名称解析在环境中正常工作。 否则,客户端无法访问具有单标签 DNS 名称的域。

方法 1:使用注册表编辑器

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表

步骤 1:更改 DC 定位器服务配置

在已加入域的 Windows 客户端计算机上,执行以下步骤:

  1. 在“搜索”框中,输入 regedit,然后选择 注册表编辑器
  2. 找到并选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters 子项。
  3. 在详细信息窗格中,找到该 AllowSingleLabelDnsDomain 条目。 如果条目不存在,请执行以下步骤:
    1. 选择编辑>新建>DWORD 值
    2. “名称 ”框中,输入 AllowSingleLabelDnsDomain
  4. 双击 AllowSingleLabelDnsDomain 条目,然后在 值数据中输入 1
  5. 关闭注册表编辑器,然后重新启动计算机。
步骤 2:更改 DNS 根区域或单标签 DNS 区域的动态更新配置

将这些更改应用于具有单标签 DNS 后缀的所有 DC 和 Windows 客户端(已加入域、未加入域或已加入 Microsoft Entra ID)。 如果具有单标签 DNS 名称的域是林根域,除非 ForestName 区域中已单独委派以下区域:_msdcs,否则请将这些更改应用到林中的所有 DC。 ForestName,_sites。 ForestName,_tcp。 ForestName 和 _udp。 ForestName

执行以下步骤:

  1. 在“搜索”框中,输入 regedit,然后选择 注册表编辑器
  2. 找到并选择 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient 子项。
  3. 在详细信息窗格中,找到该 UpdateTopLevelDomainZones 条目。 如果条目不存在,请执行以下步骤:
    1. 选择 编辑>新建>DWORD 值
    2. “名称 ”框中,输入 UpdateTopLevelDomainZones
  4. 双击 UpdateTopLevelDomainZones 条目,然后在值数据中输入 1
  5. 关闭注册表编辑器,然后重新启动计算机。

方法 2:使用组策略

使用组策略启用 更新顶级域区域 策略和 托管具有单个标签 DNS 名称策略的域的 DC 的位置 。 在 用户和计算机中的根域容器的文件夹位置下,或者在托管成员计算机和域中的 DC 计算机帐户的所有组织单位(OU)上配置这些策略。 使用下表中指定的值。

Policy 文件夹位置
更新顶级域区域 计算机配置\管理模板\网络\DNS 客户端
托管具有单个标签 DNS 名称的域的 DC 的位置 计算机配置\管理模板\系统\Net Logon\DC 定位符 DNS 记录

若要启用这些策略,请对根域容器执行以下步骤:

  1. 在组策略管理控制台(GPMC)中,双击要配置的域策略。 如果希望所有计算机的行为方式相同,请双击全局策略,例如 默认域策略

  2. 展开 计算机配置>管理模板>网络>DNS 客户端

  3. 在详细信息窗格中,双击使用单标签域名的 DNS 名称解析来查找 DC,而不是使用 NetBIOS 名称解析

  4. 选择 “已启用”,选择“ 应用”,然后选择“ 确定”。

  5. “管理模板”下,展开 “系统>网络登录>DC 定位符 DNS 记录”。

  6. 在详细信息窗格中,双击 托管具有单个标签 DNS 名称的域的 DC 的位置。

  7. 选择 “已启用”,选择“ 应用”,然后选择“ 确定”。

  8. 关闭组策略编辑器和 GPMC。

注意

可以使用配置服务策略(CSP)定义设置。 如需了解更多信息,请参阅以下文章:

检查 DNS 服务器,确保不会无意中创建根服务器。 DCpromo 向导可能会创建根服务器。 如果存在“.”区域,DCpromo 创建了根服务器。 若要使名称解析正常工作,可能需要删除此区域。

Windows 新增和修改的 DNS 策略设置

  • 更新顶级域区域

    如果启用此策略,则会在HKLM\Software\Policies\Microsoft\Windows NT\DNSClient注册表子项下创建一个REG_DWORD UpdateTopLevelDomainZones条目。 可以选择以下值之一。

    价值 Name Description
    0x1 已启用 计算机可以尝试更新 TopLevelDomain 区域。 如果启用 UpdateTopLevelDomainZones 此设置,则计算机会将动态更新发送到对计算机必须更新的资源记录具有权威性的任何区域,但根区域除外。
    0x0 Disabled 计算机无法尝试更新 TopLevelDomain 区域。 如果禁用此设置,则计算机不会将动态更新发送到根区域或对计算机必须更新的资源记录具有权威性的顶级域区域。 如果未配置此设置,则策略不会应用于任何计算机,并且计算机使用其本地配置。
  • 注册 PTR 记录

    此策略不是新策略,但它具有新的可能值。 如果启用此策略,则会在HKLM\Software\Policies\Microsoft\Windows NT\DNSClient注册表子项下创建一个REG_DWORD RegisterReverseLookup条目。 可以选择以下值之一。

    价值 Name Description
    0x2 仅当“A”记录注册成功时注册。 仅当计算机成功注册相应的“A”资源记录时,计算机才会尝试实现 PTR 资源记录注册。
    0x1 Register 无论"A"记录注册是否成功,计算机都尝试执行PTR资源记录注册。
    0x0 不注册 计算机永远不会尝试实现 PTR 资源记录注册。

参考