1. DNS 转发器概述
DNS 转发器是 DNS 服务器的一项功能,可以将特定域名的查询请求转发到指定的外部 DNS 服务器处理,而不再向上游根提示服务器查询。这对于以下场景特别有用:
- 内部域名解析:将内部域名(如 corp.local)转发到内部 DNS 服务器
- Internet 域名加速:将外部域名转发到 ISP 或公共 DNS(如 114.114.114.114、8.8.8.8)利用缓存加速
- 隔离 DNS 查询:控制哪些 DNS 服务器可以接收外部查询
条件转发器 vs 根提示
| 功能 | 条件转发器 | 根提示 |
|---|---|---|
| 作用范围 | 特定域名 | 所有无法本地解析的查询 |
| 转发方式 | 转发到指定服务器 | 从根服务器开始递归查询 |
| 适用场景 | 内部域、信任域 | 公网域名 |
| 查询效率 | 高(直接转发) | 中等(需经过多级查询) |
2. 配置条件转发器
1
DNS 管理器 → 右键 DNS 服务器(如 DC01)→ 属性
2
切换到转发器选项卡
3
点击编辑,在转发器 IP 地址列表中添加 114.114.114.114(主DNS)、8.8.8.8(备用DNS)→ 确定
4
点击新建,输入要转发的域名(如 corp.local),添加目标 DNS 服务器(如 192.168.20.1)→ 确定
5
确认条件转发器列表中包含 corp.local → 确定
PowerShell - 条件转发器配置
# 添加全局转发器(转发所有无法本地解析的查询)
Add-DnsServerForwarder -IPAddress "114.114.114.114", "8.8.8.8"
# 创建条件转发器:corp.local 转发到 192.168.20.1
Add-DnsServerConditionalForwarderZone `
-Name "corp.local" `
-MasterServers "192.168.20.1" `
-Recursive
# 创建另一个条件转发器:child.iehang.cn 转发到 DC02
Add-DnsServerConditionalForwarderZone `
-Name "child.iehang.cn" `
-MasterServers "192.168.10.253" `
-ReplicationScope "Domain"
# 查看所有转发器配置
Get-DnsServerForwarder
Get-DnsServerZone -Name "*"
3. 删除和修改转发器
PowerShell - 管理转发器
# 删除全局转发器
Remove-DnsServerForwarder -IPAddress "114.114.114.114"
# 删除条件转发器
Remove-DnsServerZone -Name "corp.local" -Force
# 修改条件转发器超时设置
Set-DnsServerConditionalForwarderZone `
-Name "corp.local" `
-ForwarderTimeout 5
4. 根提示配置
如果 DNS 服务器没有配置转发器,则使用根提示向公网根域名服务器(如 a.root-servers.net)发起递归查询来解析 Internet 域名。
PowerShell - 根提示管理
# 查看根提示
Get-DnsServerRootHint
# 在内网隔离环境中清空根提示(可选)
Remove-DnsServerRootHint -Name "a.root-servers.net"
# 更新根提示(从 Microsoft 获取最新根服务器列表)
Update-DnsServerRootHint
注意
在企业内部隔离网络(不连接 Internet)中,建议配置指向内部转发器的 DNS 服务器,而不是依赖根提示。因为根提示列表指向公网根服务器,内网 DNS 无法访问这些服务器。
5. 验证转发配置
PowerShell - 验证转发
# 测试条件转发(corp.local)
Resolve-DnsName -Name "server.corp.local" -Server "192.168.10.254"
# 测试公网域名解析
Resolve-DnsName -Name "www.baidu.com" -Server "192.168.10.254"
# 使用 nslookup 测试
nslookup www.baidu.com 192.168.10.254
6. 常见问题
Q1:条件转发器不生效
检查:1)目标 DNS 服务器是否可达(Test-NetConnection 192.168.20.1 -Port 53);2)条件转发器的域名是否完全匹配;3)查看 DNS 服务器日志排查。
Q2:转发器和根提示同时存在时优先级
条件转发器优先于根提示。当查询某个域名时,DNS 服务器先检查条件转发器列表,如果有匹配条目则转发;如果没有,则使用根提示进行递归查询。