在 DNS 服务器中通过 HTTPS 监视 DNS (预览版)

重要

Windows Server 上支持 DoH (DNS over HTTPS) 的 DNS 服务器目前处于预览版。 这些与预发行产品相关的信息在发布前可能进行重大修改。 Microsoft 不对此处提供的信息作任何明示或默示的担保。

本文讲解如何使用事件日志和性能计数器监视 DNS 服务器上的 DNS over HTTPS (DoH) 活动。

在 DNS 服务器上启用 DoH 时,需要了解加密的 DNS 流量,以便进行容量规划、性能分析和作感知。 由于 DoH 流量已加密,因此传统网络监视工具无法检查 DNS 查询。 本文中所述的 DoH 特定事件和性能计数器可帮助你跟踪加密的查询活动、测量吞吐量以及识别 DoH 服务的潜在问题。

DoH 通过在 HTTPS 中封装 DNS 消息来加密 DNS 流量。 若要详细了解 DoH 的工作原理,请参阅 使用 DNS 通过 HTTPS 进行 DNS 加密

先决条件

在开始之前,请确保具备:

  • 安装了 2026-02 安全更新(KB5075899)或更高版本的 Windows Server 2025。
  • 在 DNS 服务器上启用和配置基于 HTTPS 的 DNS(请参阅在 DNS 服务器中通过 HTTPS 启用 DNS)。
  • 对托管 DNS 服务器服务的 Windows Server 的管理员或等效访问权限。
  • 基本了解 Windows 事件查看器和性能监视器。

查看服务器日志

系统默认启用审核日志。 这些日志不会显著影响 DNS 服务器性能。 DNS 服务器审核事件在 DNS 服务器上启用启动、关闭和更改跟踪。 查看 DoH 日志:

  1. 选择 “开始 ”按钮,键入 事件查看器,然后从最佳匹配列表中打开 事件查看器

  2. 在事件查看器中,转到 应用程序和服务 > DNS 服务器

  3. 若要筛选 DoH 特定事件,请右键单击 DNS 服务器,选择“筛选当前日志”,然后在“筛选”对话框中,在“所有事件 ID”字段中输入以下 DoH 事件 ID: 597, 598, 599, 600, 601, 602, 603 选择 “确定 ”以应用筛选器。

服务器事件

下表汇总了 DoH 审核事件。

事件编号 类型 类别 级别 事件文本
822 已注册 DoH URL 通过HTTPS传输的DNS 信息 Successfully started HTTP server for DNS-over-HTTPS (DoH) server. The DoH server is listening on following URL(s): %1
823 DoH 初始化失败 通过HTTPS传输的DNS 错误 The DNS server could not initialize the HTTP server for DNS-over-HTTPS (DoH) and failed with error code %1.
824 DoH 会话失败 通过HTTPS传输的DNS 错误 The DNS server could not create the HTTP server session for DNS-over-HTTPS (DoH) and failed with error code %1.
825 DoH 创建 URL 失败 通过HTTPS传输的DNS 错误 The DNS server could not register the URL: %1 for the DNS-over-HTTPS (DoH) server and failed with error code %2.
826 DoH 创建请求队列失败 通过HTTPS传输的DNS 错误 The DNS server could not create the HTTP request queue for DNS-over-HTTPS (DoH) and failed with error code %1.
827 DoH 配置 通过HTTPS传输的DNS 信息 The configuration for DNS-over-HTTPS (DoH) server are: %1
828 DoH 已关闭 通过HTTPS传输的DNS 信息 The DNS-over-HTTPS (DoH) server has shut down gracefully.
829 DoH 关闭错误 通过HTTPS传输的DNS 错误 The DNS-over-HTTPS (DoH) server has shut down due to an error and failed with error code %1.

查看分析事件

默认情况下,不会启用分析事件,需要启用它们才能查看特定于 DoH 的分析事件。 DoH 分析事件提供有关加密 DNS 查询和响应活动的详细信息,例如查询名称、类型、响应代码和处理时间。 可以使用以下步骤查看跟踪加密查询和响应活动的 DoH 特定事件:

若要启用 DNS 诊断日志记录,请执行以下作:

  1. 应用程序和服务日志 > Microsoft > Windows > DNS-Server 节点中,右键单击 DNS-Server,选择 “视图”,然后选择“ 显示分析和调试日志”。 将显示分析日志。

  2. 右键单击分析,然后选择属性

  3. 如果要从事件查看器查询和查看日志,请选择当达到最大事件日志大小时,选择不覆盖事件(手动清除日志),选中启用日志记录复选框,然后在系统询问是否启用此日志时选择确定

  4. 如果要启用循环日志记录,请选择根据需要覆盖(最先从旧事件开始),然后选择启用日志记录。 选择 “确定”后,将显示 查询错误 。 即使显示此错误,也会进行日志记录。 此错误仅表示无法查看当前正在事件查看器中记录的事件。

  5. 选择 “确定” 以启用 DNS 服务器分析事件日志。

    显示 DNS 服务器分析日志的“日志属性”窗口的屏幕截图,其中显示了启用日志时可能丢失事件的警告消息。

分析日志默认写入文件 %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-DNSServer%4Analytical.etl。 下一部分介绍 DNS 服务器审核和分析事件日志中显示的 DoH 事件。

DNS over HTTPS 分析事件

DoH 分析事件类似于标准 DNS 分析事件,但它们仅跟踪加密的查询和响应。 有关 DNS 服务器服务可用的日志的详细信息,请参阅 “启用 DNS 日志记录和诊断”。

下表介绍了 DoH 分析事件:

事件编号 类型 类别 事件文本
597 收到的加密查询 查找 QUERY_RECEIVED: Channel=%1; %2; InterfaceIP=%3; Source=%4; RD=%5; QNAME=%6; QTYPE=%7; XID=%8; Port=%9; Flags=%10; PacketData=%12; AdditionalInfo = VirtualizationInstanceOptionValue: %13; GUID=%14; %15
598 发送的加密响应 查找 RESPONSE_SUCCESS: Channel=%1; %2; InterfaceIP=%3; Destination=%4; AA=%5; AD=%6; QNAME=%7; QTYPE=%8; XID=%9; DNSSEC=%10; RCODE=%11; Port=%12; Flags=%13; Scope=%14; Zone=%15; PolicyName=%16; PacketData=%18; AdditionalInfo= %19; DataTag=%20; ElapsedTime=%21; GUID=%22; %23; %24;
599 加密响应失败 查找 RESPONSE_FAILURE: Channel=%1; %2; InterfaceIP=%3; Reason=%4; Destination=%5; QNAME=%6; QTYPE=%7; XID=%8; RCODE=%9; Port=%10; Flags=%11; Zone=%12; PolicyName=%13; PacketData=%15; AdditionalInfo = VirtualizationInstance: %14; ElapsedTime=%17; GUID=%18; %19
600 已拒绝加密查询 查找 IGNORED_QUERY: Channel=%1; %2; InterfaceIP=%3; Source=%4; Reason=%5
601 加密响应通道失败 查找 IGNORED_QUERY: Channel=%1; %2; InterfaceIP=%3; Source=%4; Reason=%5
602 收到的加密 DDNS 更新请求 动态更新 DYN_UPDATE_RECV: Channel=%1; %2; InterfaceIP=%3; Source=%4; QNAME=%5; XID=%6; Port=%7; Flags=%8; SECURE=%9; PacketData=%11
603 发送的加密 DDNS 更新响应 动态更新 DYN_UPDATE_RESPONSE: Channel=%1; %2; InterfaceIP=%3; Destination=%4; QNAME=%5; XID=%6; ZoneScope=%7; Zone=%8; RCODE=%9; PolicyName=%10; PacketData=%12

TCP 字段不适用于 DoH。 字段 Channel%1) 将替换它,并将 DoH 流量的值为 2。 有关请求或响应的补充信息(%2)遵循该 Channel 字段。 每个事件都包含详细信息,例如 HTTP 版本、请求 ID 和状态代码。 对于查询事件,补充信息遵循以下格式:

HTTP=Version:HTTP/2; Verb:POST; RequestID:{4987238521587782}

对于响应事件,格式包括 HTTP 状态:

HTTP=Version:HTTP/2; Verb:POST; RequestID:{4987238521587782}; Status:200

监控性能

下表描述了可用的 DoH 性能计数器:

计数器名称 类别 Description
接收的 DoH 请求数/秒 DNS-over-HTTPS(通过HTTPS进行的DNS) 测量服务器每秒接收的 DoH 查询数据包数
每秒发送的 DoH 响应数 DNS-over-HTTPS(通过HTTPS进行的DNS) 测量服务器每秒成功发送的 DoH 响应数据包数,包括来自权威数据的响应、缓存的数据、转发的响应、递归结果以及 HTTP 或 DNS 错误代码的响应
DoH 请求丢弃数/每秒 DNS-over-HTTPS(通过HTTPS进行的DNS) 由于服务器资源限制、数据包解析错误、速率限制、网络拥塞或安全策略,测量服务器每秒在正常处理前丢弃的传入 DoH 查询数量。

注释

DNS 服务器服务重启时,性能计数器会重置。

DoH 性能计数器将加密的 DNS 查询活动与传统 DNS 流量分开测量。 若要监视 DoH 性能,请在以下部分中选择首选方法。

若要使用性能监视器监视 DoH 性能计数器,请执行以下步骤:

  1. 选择 “开始”,键入 “性能监视器”,然后从结果中选择 “性能监视器 ”。

  2. 性能监视器中,选择 “添加 ”按钮(绿色加号)以添加计数器。

  3. 可用计数器列表中,展开DNS over HTTPS

  4. 选择要监视的 DoH 计数器:

    • 接收的 DoH 请求数/秒
    • DoH 响应发送速率/秒
    • DoH 请求已删除/秒
  5. 选择 “添加” ,将所选计数器添加到监视图。

  6. 选择 “确定 ”开始监视计数器。