若要检查可能干扰 Active Directory 复制的域名系统 (DNS) 设置,可以首先运行基本测试,确保 DNS 对你的域正常运行。 运行基本测试后,可以测试 DNS 其他方面的功能,包括资源记录注册和动态更新。
尽管可以在任何域控制器上运行此基本 DNS 功能测试,但我们通常会在可能遇到复制问题的域控制器上运行此测试,例如,在事件查看器目录服务 DNS 日志中报告事件 ID 1844、1925、2087 或 2088 的域控制器。
运行域控制器基本 DNS 测试
基本 DNS 测试检查 DNS 功能的以下方面:
- 连接:该测试确定域控制器是否已在 DNS 中注册、是否可以通过 命令联系,以及是否建立了轻型目录访问协议/远程过程调用 (LDAP/RPC) 连接。 如果域控制器上的连接测试失败,则不会针对该域控制器运行其他测试。 在运行任何其他 DNS 测试之前会自动执行连接测试。
- 基本服务:该测试确认以下服务是否正在运行且在受测的域控制器上可用:DNS 客户端服务、网络登录服务、密钥分发中心 (KDC) 服务和 DNS 服务器服务(如果 DNS 已安装在域控制器上)。
- DNS 客户端配置:该测试确认是否可访问 DNS 客户端计算机的所有网络适配器上的 DNS 服务器。
- 资源记录注册:该测试确认每个域控制器的主机 (A) 资源记录是否已在客户端计算机上配置的至少一个 DNS 服务器中注册。
- 区域和起始授权机构 (SOA):如果域控制器正在运行 DNS 服务器服务,则该测试将确认 Active Directory 域区域及其起始授权机构 (SOA) 资源记录是否存在。
- 根区域:检查根 (.) 区域是否存在。
必须至少拥有企业管理员成员身份或同等身份才能完成这些过程。
可以使用以下过程来验证基本 DNS 功能。
若要验证基本 DNS 功能,请执行以下操作:
在要测试的域控制器上或安装了 Active Directory 域服务 (AD DS) 工具的域成员计算机上,以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。
在“开始搜索”中,键入 ldp。
在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
在命令提示符下键入以下命令,然后按 ENTER 键:
dcdiag /test:dns /v /s:<DCName> /DnsBasic /f:dcdiagreport.txt
请将 <DCName> 替换为域控制器的实际可分辨名称、NetBIOS 名称或 DNS 名称。 或者,可以键入 /e:(而不是 /s:)来测试林中的所有域控制器。 /f 开关指定一个文件名,在前一个命令中为 dcdiagreport.txt。 如果要将该文件放在当前工作目录以外的位置,可以指定文件路径,例如 /f:c:reportsdcdiagreport.txt。在记事本或类似的文本编辑器中打开 dcdiagreport.txt 文件。 若要在记事本中打开该文件,请在命令提示符下键入 notepad dcdiagreport.txt,然后按 ENTER。 如果已将该文件放在其他工作目录,请包含该文件的路径。 例如,如果已将该文件放在 c:reports 中,请键入 notepad c:reportsdcdiagreport.txt,然后按 ENTER。
滚动到文件底部附近的 Summary 表。
记下 Summary 表中报告“Warn”或“Fail”状态的所有域控制器的名称。 通过搜索字符串“DC: DCName”(其中 DCName 是域控制器的实际名称),尝试查找明细部分来确定域控制器是否存在问题。
如果你发现某个地方明显需要做出配置更改,请相应地做出更改。 例如,如果你发现某个域控制器的 IP 地址明显不正确,可以更正它。 然后重新运行测试。
若要验证配置更改,请相应地使用 /e: 或 /s: 开关重新运行 Dcdiag /test:DNS /v 命令。 如果未在域控制器上启用 IP 版本 6 (IPv6),则应该预料到该测试的主机 (AAAA) 验证部分会失败,但如果未在网络上使用 IPv6,则不需要这些记录。
验证资源记录注册
目标域控制器使用 DNS 别名 (CNAME) 资源记录来定位其源域控制器复制伙伴。 虽然运行 Windows Server 的域控制器(从 Windows Server 2003 Service Pack 1 (SP1) 开始)可以通过使用完全限定域名 (FQDN) 或 NetBIOS 名称(如果失败)来定位源复制伙伴,但别名 (CNAME) 资源记录的存在是预期的,应验证 DNS 是否正常工作。
可以使用以下过程来验证资源记录注册,包括别名 (CNAME) 资源记录注册。
验证资源记录注册
- 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。 在“开始搜索”中,键入 ldp。
- 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
可以使用 Dcdiag 工具通过运行dcdiag /test:dns /DnsRecordRegistration
命令来验证对域控制器定位至关重要的所有资源记录的注册。
此命令验证 DNS 中以下资源记录的注册:
- 别名 (CNAME):基于全局唯一标识符 (GUID) 的资源记录,用于定位复制伙伴
- 主机 (A):包含域控制器 IP 地址的主机资源记录
- LDAP SRV:用于定位 LDAP 服务器的服务 (SRV) 资源记录
- GC SRV:用于定位全局目录服务器的服务 (SRV) 资源记录
- PDC SRV:用于定位主域控制器 (PDC) 模拟器操作主机的服务 (SRV) 资源记录
可以使用以下过程单独验证别名 (CNAME) 资源记录注册。
验证别名 (CNAME) 资源记录注册
- 打开 DNS 管理单元。 若要打开 DNS,请单击“开始”。 在“开始搜索”中键入 dnsmgmt.msc,然后按 ENTER。 如果出现“用户帐户控制”对话框,请确认其中显示了所需操作,然后单击“继续”。
- 使用 DNS 管理单元定位任何运行 DNS 服务器服务的域控制器,其中的服务器托管与域控制器的 Active Directory 域同名的 DNS 区域。
- 在控制台树中,单击名为 _msdcs.Dns_Domain_Name 的区域。
- 在详细信息窗格中,验证是否存在以下资源记录:名为 Dsa_Guid._msdcs.<Dns_Domain_Name> 的别名 (CNAME) 资源记录,以及 DNS 服务器名称的相应主机 (A) 资源记录。
如果别名 (CNAME) 资源记录未注册,请验证动态更新是否正常运行。 使用下一部分中的测试来验证动态更新。
验证动态更新
如果基本 DNS 测试显示 DNS 中不存在资源记录,请使用动态更新测试来确定网络登录服务为何未自动注册资源记录。 若要验证 Active Directory 域区域是否配置为接受安全动态更新并执行测试记录 (_dcdiag_test_record) 的注册,请使用以下过程。 测试后会自动删除测试记录。
验证动态更新
- 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。 在“开始搜索”中,键入 ldp。 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
- 在命令提示符下键入以下命令,然后按 ENTER 键:
dcdiag /test:dns /v /s:<DCName> /DnsDynamicUpdate
请将 <DCName> 替换为域控制器的可分辨名称、NetBIOS 名称或 DNS 名称。 或者,可以键入 /e:(而不是 /s:)来测试林中的所有域控制器。 如果未在域控制器上启用 IPv6,则应该预料到该测试的主机 (AAAA) 资源记录部分会失败,这是未启用 IPv6 时的正常情况。
如果未配置安全动态更新,可以使用以下过程进行配置。
启用安全动态更新
- 打开 DNS 管理单元。 若要打开 DNS,请单击“开始”。
- 在“开始搜索”中键入 dnsmgmt.msc,然后按 ENTER。 如果出现“用户帐户控制”对话框,请确认其中显示了所需操作,然后单击“继续”。
- 在控制台树中,右键单击适用区域,然后单击“属性”。
- 在“常规”选项卡上,验证区域类型是否为“Active Directory 集成”。
- 在“动态更新”中,单击“仅安全”。
注册 DNS 资源记录
如果 DNS 资源记录未出现在源域控制器的 DNS 中,而你已验证动态更新并想要立即注册 DNS 资源记录,可以使用以下过程强制手动注册。 域控制器上的网络登录服务将注册在网络上定位域控制器所需的 DNS 资源记录。 DNS 客户端服务将注册别名 (CNAME) 记录指向的主机 (A) 资源记录。
手动注册 DNS 资源记录
- 以管理员身份打开命令提示符。 若要以管理员身份打开命令提示符,请单击“开始”。
- 在“开始搜索”中,键入 ldp。
- 在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“继续”。
- 若要在源域控制器上手动启动域控制器定位符资源记录的注册,请在命令提示符下键入以下命令,然后按 ENTER:
net stop netlogon && net start netlogon
- 若要手动启动主机 (A) 资源记录的注册,请在命令提示符下键入以下命令,然后按 ENTER:
ipconfig /flushdns && ipconfig /registerdns
- 在命令提示符下键入以下命令,然后按 ENTER 键:
dcdiag /test:dns /v /s:<DCName>
请将 <DCName> 替换为域控制器的可分辨名称、NetBIOS 名称或 DNS 名称。 查看测试的输出,确保通过 DNS 测试。 如果未在域控制器上启用 IPv6,则应该预料到该测试的主机 (AAAA) 资源记录部分会失败,这是未启用 IPv6 时的正常情况。