Windows Server 2025 / 配置 DNS 转发器并验证外部查询

在域名系统(DNS,Domain Name System)服务器 DC1 的“属性 → 转发器”中添加经过批准的上游 DNS,即可将需要继续解析的查询交给该服务器处理。域客户端仍使用内部 DNS;外部名称能否成功解析,还取决于路由、出站访问和递归设置。

区分内部名称与外部连通性

完成 DC1 实验区域与记录配置后,向 172.24.50.10 查询 fs1.lab.example.test 应得到 172.24.50.20。www.microsoft.com 则需要外部解析路径。添加转发器本身不会创建网络路由或互联网访问。

完全隔离、没有路由、网络地址转换(NAT,Network Address Translation)或允许的 DNS 出站路径时,内部名称可以正常解析,而外部查询失败是预期的拓扑限制。先确认内部查询和 DC1 的授权出站路径。不要为了演示转发而将 DHCP 实验网络接入办公网络;DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用于自动配置网络参数。

记录现有配置

在 DC1 上以管理员身份打开 Windows PowerShell,确认 DNS 角色和 DnsServer 模块可用。完整保存 Get-DnsServerForwarder 与 Get-DnsServerRecursion 的输出,包括地址列表、配置顺序、超时、根提示使用情况,以及递归和重新排序选项。编辑前也要记录界面中的值。前两条命令读取本机服务器,第三条通过 .10 检查内部名称:

Get-DnsServerForwarder
Get-DnsServerRecursion
Resolve-DnsName 'fs1.lab.example.test' -Type A -Server 172.24.50.10

常规转发器处理没有最终本地答案、也未由其他优先路径接管的查询。条件转发器则针对特定命名空间,不要为 DC1 已经作为权威服务器托管的同名区域再创建条件转发器。DNS 转发与回退文档解释了路径选择。回退到根提示需要允许递归和根提示使用、网络可达,并且仍有剩余解析时间;转发器无响应不代表一定能使用根提示。

添加经过批准的上游 DNS

  1. 取得适合实验实际路由或 NAT 设计的已批准 DNS 地址,确认 DC1 的出站规则允许使用它,不要随意复制公共 DNS 地址。
  2. 通过 dnsmgmt.msc 打开 DNS 管理器,确认服务器为 DC1。右键单击服务器,选择“属性 → 转发器 → 编辑”。
  3. 添加批准的地址,等待界面显示验证状态并检查结果;验证错误时,先检查目标和连通性。单击“确定”保存,再在属性中应用修改。
  4. 保留现有转发器、超时和根提示选项。其他值的修改应属于单独的设计决定。

避免循环:DC1 不应转发给自身,也不应转发给会把相同问题送回 DC1 的解析器。检查新地址是否已经在列表中。若使用 PowerShell,应区分追加转发器与替换整个列表。保存后重新运行第一段的两条 Get 查询,确认只有预期值发生变化。

比较发往同一服务器的内部与外部查询

在 CLIENT1 打开 PowerShell,用 -Server 172.24.50.10 明确将两条查询发往 DC1。保持相同的 A 记录类型和目标服务器,不必先修改客户端网卡的默认 DNS:

Resolve-DnsName 'fs1.lab.example.test' -Type A -Server 172.24.50.10
Resolve-DnsName 'www.microsoft.com' -Type A -Server 172.24.50.10

第一条应返回 172.24.50.20。外部路径经过允许且正常时,第二条应取得 A 响应;外部服务的地址可能变化,不要要求某个固定 IP。如果只有第二条失败,检查 DC1 到上游 DNS 的访问和递归设置;如果递归因策略而关闭,应先审视设计,再决定是否修改。如果两条都超时,先检查 CLIENT1 到 DC1 的路径、DNS 服务及其访问规则。

外部查询成功并不能证明具体由哪个转发器回答,因为结果可能来自缓存或其他允许的路径。要直接验证上游,重复 www.microsoft.com 查询,仅将 -Server 的值换为实际批准的上游地址。从 DC1 测试,并在允许时与 CLIENT1 对比。两者的出站规则可能不同,客户端无法直连上游并不证明 DC1 也无法使用它。

区分区域错误、缓存与配置恢复

修改转发器不能修复本地权威区域中的错误记录。NXDOMAIN 表示名称不存在,NODATA 表示该名称没有所请求类型的记录;这通常是最终响应,不会触发换用另一个转发器。REFUSED 表示查询被拒绝,超时表示未及时收到响应,SERVFAIL 表示未能完成解析。DNS 服务器排错指南有助于把本地数据错误与递归、连通性问题分开。

客户端缓存与 DNS 服务器缓存彼此独立。确需清理时,应先评估影响,只处理相关缓存,再重复相同名称、类型和目标服务器的查询。要撤销本次实验,重新打开 DC1 的“属性 → 转发器 → 编辑”,仅移除本次新增的地址。对照初始记录核对剩余列表与选项,保留其他人的无关修改,并按预期连通性重新验证内部与外部查询。不要给域客户端添加公共备用 DNS 来掩盖内部服务发现故障。