HQY

×

Windows Server DNS 完全指南【一】

hqy hqy 发表于2026-05-27 23:14:45 浏览4 评论0

抢沙发发表评论

Windows Server DNS 完全指南【二】


图片



目录

  1. 6. DNS 转发与解析
  1. 7. DNS over HTTPS (DoH)
  2. 8. DNS 日志与诊断
  3. 9. 故障排除



6. DNS 转发与解析

6.1 条件转发器

针对特定域名使用指定的上游 DNS 服务器,常用于解析内部域名。

步骤:

  1. 1. 在 DNS 管理器中右键 "条件转发器" → "新建条件转发器"

图片

  1. 2. DNS 域:输入要转发的域名,如 corp.contoso.com
  2. 3. 主服务器 IP 地址:输入上游 DNS 服务器 IP,如 10.0.0.10 → 点击 添加
  3. 4. 选择复制范围(建议 "域内所有 DNS 服务器")→ 下一步 → 完成

图片

多域名转发:可以为不同域名配置不同的转发目标,实现精细控制。

6.2 全局转发器

所有非权威查询都转发到指定的上游 DNS(常用于替代根提示)。

步骤:

  1. 1. 在 DNS 管理器中右键服务器节点(如 DC01)→ 属性
  2. 2. 转发器 选项卡:
    • • 点击 "编辑" 添加转发器 IP(如 8.8.8.81.1.1.1
    • • 设置 超时时间(默认 5 秒)
  3. 3. 确定

图片

6.3 根提示配置

包含根 DNS 服务器地址,解析外部域名时使用。通常默认配置无需修改。

查看/修改步骤:

  1. 1. DNS 管理器中右键服务器节点 → 属性 → 根提示 选项卡
  2. 2. 查看列表中的根服务器
  3. 3. 如需更新 → 点击 "复制从" 可以从网络获取最新根提示

图片

6.4 DNS 缓存管理

清除服务器缓存:

  • • 右键服务器节点 → 清除缓存

图片

6.5 递归查询控制(PowerShell 备查)



1
2
3
4
5

# 禁用递归(服务器变为纯权威模式)
Set-DnsServer -NoRecursion $true
# 启用递归
Set-DnsServer -NoRecursion $false

6.6 清除客户端缓存(CMD)



1
2
3
4
5
6
7
8
9
10

# 清除本地 DNS 缓存
ipconfig /flushdns
# 查看缓存内容
ipconfig /displaydns
# 同时刷新 DHCP 并重新注册
ipconfig /release
ipconfig /renew
ipconfig /registerdns

6.7 常用 PowerShell 命令(备查)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 查看全局转发器
Get-DnsServerForwarder
# 添加全局转发器
Add-DnsServerForwarder -IPAddress "8.8.8.8","1.1.1.1"
# 查看条件转发器
Get-DnsServerConditionalForwarderZone
# 添加条件转发器
Add-DnsServerConditionalForwarderZone -Name "corp.contoso.com" `
    -MasterServers 10.0.0.10 -ReplicationScope "Domain"
# 清除服务器端缓存
Clear-DnsServerCache -Force


7. DNS over HTTPS (DoH)

作用:DoH 将 DNS 查询封装为 HTTPS 流量,防止网络窃听和中间人攻击,保护 DNS 通信隐私。

7.1 什么是 DoH?

DoH(DNS over HTTPS)通过 HTTPS 加密 DNS 查询和响应(RFC 8484),防止网络窃听和篡改。

DoH
DNSSEC
作用
加密传输通道
验证数据完整性
关系
互补,结合使用效果最佳
互补,结合使用效果最佳

⚠️ 不要对加入 AD 域的计算机启用"需要 DoH",会导致域内名称解析全面失败。

7.2 前置条件

  • • Windows Server 2025(安装 2026-02 安全更新 KB5075899 或更高)
  • • 有效的 SSL/TLS 证书(SAN 包含 DNS 服务器 FQDN)
  • • TCP 443 端口可用
  • • DoH 公测注册:https://aka.ms/doh-preview

7.3 配置步骤(PowerShell)

前置条件:Windows Server 2025 + 2026-02 安全更新 (KB5075899),且服务器已有有效期内的 SSL/TLS 证书(SAN 包含 DNS 服务器 FQDN)。系统自动处理证书绑定,无需手动 netsh http add sslcert 操作。



1
2
3
4
5
6

# 启用 DoH(系统自动关联证书)
Set-DnsServerEncryptionProtocol -EnableDoh $true `
    -UriTemplate "https://dns.contoso.com/dns-query"
# 重启 DNS 服务使配置生效
Restart-Service -Name DNS

? 不指定 -UriTemplate 时,系统自动生成 https://<服务器FQDN>/dns-query。最多配置 3 个 URI 模板,用 | 分隔,支持多节点 DoH 场景。

7.4 验证 DoH 配置



1
2
3
4
5
6
7
8

# 检查 DoH 状态
Get-DnsServerEncryptionProtocol
# 验证证书绑定
netsh http show sslcert
# 验证端口监听
netstat -an | findstr :443

7.5 DoH 客户端配置(GUI)

设置路径(Windows 10/11/Server):



1
2
3
4
5
6
7
8

Windows 设置 → 网络和 Internet → 以太网(或其他适配器)
→ DNS 设置 → 点击"编辑"
→ 选择"手动"
→ 输入 DNS 服务器 IP(如 192.168.1.1)
→ 首选 DNS 加密:选择以下一项:
   • 仅已加密(DoH):最安全
   • 首选已加密,允许未加密:推荐
   • 仅未加密:不推荐

组策略路径(企业环境):



1
2

计算机配置 → 管理模板 → 网络 → DNS 客户端
→ 配置基于 HTTPS 的 DNS (DoH) 名称解析 → 启用

⚠️ 警告:对加入 AD 域的计算机勿设为"需要 DoH"——会导致域内名称解析全面失败。

7.6 性能计数器(PowerShell 备查)



1
2
3
4
5

# 查看所有 DoH 计数器
Get-Counter -Counter "\DNS-over-HTTPS\*"
# 查看每秒请求数
Get-Counter "\DNS-over-HTTPS\DoH Requests Received/sec"


8. DNS 日志与诊断

作用:通过日志记录和诊断工具了解 DNS 服务器运行状态、排查解析故障、分析查询性能。

8.1 日志类型一览

日志类型
说明
默认状态
审核日志 (Audit)
区域操作、配置变更等操作记录
默认启用,通过事件查看器查看
分析日志 (Analytic)
详细的 DNS 查询/响应记录(发送/接收的每个数据包)
默认禁用,通过事件查看器启用(需先开启"显示分析和调试日志"视图)
事件日志
DNS 服务器运行时事件(启动/停止等)
默认启用

8.2 查看 DNS 事件日志

最常用的故障排查手段。

步骤:

  1. 1. 打开 事件查看器服务器管理器 → 工具 → 事件查看器
  2. 2. 左侧树:应用程序和服务日志 → Microsoft → Windows → DNS-Server
    • • Audit:审核日志(操作记录,默认启用)
    • • Analytic:分析日志(需在 DNS-Server 节点右键 → 视图 → 勾选"显示分析和调试日志"后才可见)
  3. 3. 点击相应日志,右侧查看事件列表
  4. 4. 双击事件查看详情

图片

8.3 常用审核事件

以下为最常用的审核事件,完整列表请参考 Microsoft Learn 官方文档。

事件 ID
类别
说明
513
区域操作
区域被删除
514
区域操作
区域设置被更新
515
资源记录
资源记录创建
516
资源记录
资源记录删除
517
资源记录
同一名称的所有记录被删除
519
动态更新
DDNS 记录创建(来自客户端)
520
动态更新
DDNS 记录删除(来自客户端)
521
老化
记录被老化/清理
525
DNSSEC
区域签名完成
526
DNSSEC
区域解除签名
528
DNSSEC
DNSSEC 密钥滚动开始
529
DNSSEC
DNSSEC 密钥滚动完成
536
缓存操作
DNS 缓存被清除
540
配置
根提示被修改
541
配置
服务器设置被修改
548
服务器操作
DNS 服务收到重启请求
551
服务器操作
统计信息被清除
552
服务器操作
老化清理开始
554
服务器操作
老化清理中止

8.4 启用分析日志(GUI)

分析日志记录每个 DNS 查询的详细信息,用于深度排障。会产生大量日志,仅排障时临时开启,生产环境勿长期启用。

步骤:

  1. 1. 在 应用程序和服务日志 → Microsoft → Windows → DNS-Server 节点,右键单击 DNS-Server,选择 视图,然后勾选 显示分析和调试日志
  2. 2. 此时会显示 Analytic(分析)日志节点
  3. 3. 右键 Analytic → 属性
  4. 4. 选择 启用日志记录 → 确定

图片

图片

? 日志默认写入文件:%SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-DNSServer%4Analytical.etl

⚠️ 如果选择循环覆盖方式,弹出"查询错误"提示是正常现象,日志本身仍会正常记录。

8.5 常用诊断命令

nslookup(CMD / PowerShell):



1
2
3

nslookup www.contoso.com
nslookup www.contoso.com 192.168.1.1
nslookup 192.168.1.100

ipconfig(CMD):



1
2
3

ipconfig /flushdns        # 清除本地 DNS 缓存
ipconfig /displaydns     # 查看缓存内容
ipconfig /all            # 查看完整 IP 配置

Test-DnsServer(PowerShell 备查):



1
2
3
4
5

# 测试 DNS 服务器是否正常运行
Test-DnsServer -IPAddress 192.168.1.1
# 测试 DNS 服务器并验证指定区域
Test-DnsServer -IPAddress 192.168.1.1 -ZoneName "contoso.com"

Resolve-DnsName 来自 DnsClient 模块(内置于 Windows,无需额外安装)。

8.6 网络抓包分析

当其他手段无法定位问题时,使用 netsh trace 抓取完整网络流量。



1
2
3
4
5
6
7
8
9
10

# 启动抓包
netsh trace start capture=yes tracefile=C:\nettrace.etl
# 清除本地 DNS 缓存(确保重现查询)
ipconfig /flushdns
# 重现问题
# 停止抓包
netsh trace stop

? 生成的 .etl 文件路径会在 netsh trace stop 输出中显示,用 Wireshark 或网络监视器打开分析。

8.7 查看统计信息(PowerShell 备查)



1
2
3
4
5
6
7
8

# 查看 DNS 服务器性能计数器
Get-Counter -Counter "\DNS\*"
# 查看区域统计
Get-DnsServerStatistics -ZoneName "contoso.com"
# 清空统计重新计数
Clear-DnsServerStatistics -ZoneName "contoso.com"


9. 故障排除

作用:汇总常见 DNS 问题及对应解决方案,帮助快速定位和恢复服务。

9.1 客户端无法解析域名 — 排查流程



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

步骤 1: 检查 IP 配置
   → 运行 ipconfig /all
   → 确认 DNS 服务器 IP 是否正确指向你的 DNS 服务器
步骤 2: 检查网络连通性
   → ping <DNS 服务器 IP>
步骤 3: 测试 DNS 解析
   → nslookup www.contoso.com
步骤 4: 指定 DNS 服务器直接测试
   → nslookup www.contoso.com <DNS 服务器 IP>
步骤 5: 清除缓存重试
   → ipconfig /flushdns
   → nslookup www.contoso.com
步骤 6: 查看缓存状态
   → ipconfig /displaydns

9.2 常见问题与解决方案

问题症状
可能原因
解决方案
所有域名解析失败
DNS 客户端服务未启动
检查 DNS Client 服务状态
特定域名解析失败
转发器配置错误
检查 DNS 服务器转发器设置
解析结果不正确
缓存了过期记录
ipconfig /flushdns
内网域名解析失败
DNS 后缀配置错误
检查连接特定 DNS 后缀
区域传输失败
防火墙阻止 TCP 53
开放 TCP 53 端口
DNSSEC 验证失败
信任链未建立
检查 DS 记录是否正确注册
DoH 配置后域内解析失败
AD 域控制器不支持 DoH
确认 DNS 服务器未对域控制器 IP 启用 DoH

9.3 DNS 服务器不响应 — 排查清单

□ DNS 服务是否运行?
   → Get-Service DNS(应为 Running)

□ 区域数据是否加载?
   → Get-DnsServerZone

□ 区域传输是否正常?
   → 检查主辅服务器序列号是否一致

□ 递归查询是否工作?
   → nslookup www.microsoft.com <服务器IP>

□ 转发器配置是否正确?
   → Get-DnsServerForwarder

□ 防火墙是否允许 DNS 流量?
   → 检查 UDP/TCP 53 端口

□ 检查递归超时设置
   → Get-DnsServerSetting | Select-Object RecursionTimeout

9.4 区域传输问题

问题
原因
解决方案
AXFR 被拒绝
主服务器安全设置过于严格
检查"区域传输"选项卡允许列表
序列号相同
辅助服务器未同步
主服务器增加序列号后触发刷新
传输超时
防火墙阻止 TCP 53
开放 TCP 53 端口

9.5 递归查询问题



1
2
3
4
5
6
7
8
9
10

nslookup
server <根服务器IP,如 198.41.0.4>
set norecursion
.
# 测试转发器
nslookup
server <转发器IP>
set norecursion
www.microsoft.com

9.6 快速排查命令速查



1
2
3
4
5
6
7
8
9
10
11

# 客户端快速诊断
ipconfig /flushdns
ipconfig /registerdns
ipconfig /displaydns
# DNS 服务器状态
nslookup www.contoso.com
nslookup www.contoso.com <DNS服务器IP>
# 端口连通性测试
Test-NetConnection -ComputerName <DNS服务器IP> -Port 53


A. DNS 端口参考

端口
协议
用途
53
UDP
DNS 查询(客户端→服务器)
53
TCP
DNS 响应 + 区域传输
443
TCP
DNS over HTTPS (DoH)(本质是 HTTPS)




打赏

本文链接:https://www.kinber.cn/post/6578.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客