从 Windows Server 2022 开始,DNS 客户端支持 DNS-over-HTTPS (DoH)。 启用 DoH 后,Windows Server 的 DNS 客户端和 DNS 服务器之间的 DNS 查询会通过安全的 HTTPS 连接传递,而不是以纯文本形式传递。 通过加密连接传递 DNS 查询,可以防止不受信任的第三方拦截。
配置 DNS 客户端以支持 DoH
只有当为网络接口选择的主 DNS 服务器或辅助 DNS 服务器位于已知 DoH 服务器列表中时,您才能将 Windows Server 客户端配置为使用 DoH。 您可以将 DNS 客户端配置为需要 DoH、请求 DoH 或仅使用传统的纯文本 DNS 查询。 要将 DNS 客户端配置为在具有桌面体验的 Windows Server 上支持 DoH,请执行以下步骤:
从Windows设置控制面板中,选择 网络和互联网。
在网络和互联网页面上,选择 以太网。
在 Ethernet (以太网) 屏幕上,选择要为 DoH 配置的网络接口。
在 Network (网络) 屏幕上,向下滚动到 DNS settings (DNS 设置 ),然后选择 Edit (编辑 ) 按钮。
在 Edit DNS settings (编辑 DNS 设置) 屏幕上,从 Automatic or manual IP settings (自动或手动 IP 设置) 下拉列表中选择 Manual (手动)。 此设置允许您配置 Preferred DNS (首选 DNS) 和 Alternate DNS (备用 DNS 服务器)。 如果这些服务器的地址存在于已知 DoH 服务器列表中,则将启用 Preferred DNS encryption(首选 DNS 加密 )下拉列表。 您可以在以下设置之间进行选择,以设置首选的 DNS 加密:
仅加密 (DNS over HTTPS)。 选择此设置后,所有 DNS 查询流量都将通过 HTTPS 传递。 此设置为 DNS 查询流量提供最佳保护。 但是,这也意味着如果目标 DNS 服务器无法支持 DoH 查询,则不会进行 DNS 解析。
首选加密,允许未加密。 选择此设置后,DNS 客户端将尝试使用 DoH,然后回退到未加密的 DNS 查询(如果无法)。 此设置为支持 DoH 的 DNS 服务器提供最佳兼容性,但如果 DNS 查询从 DoH 切换到纯文本,则不会向您提供任何通知。
仅限未加密。 流向指定 DNS 服务器的所有 DNS 查询流量均未加密。 此设置将 DNS 客户端配置为使用传统的纯文本 DNS 查询。
选择 Save (保存 ) 以将 DoH 设置应用于 DNS 客户端。
如果使用 cmdlet 使用 PowerShell Set-DNSClientServerAddress
为客户端配置 DNS 服务器地址,则 DoH 设置将取决于服务器的回退设置是否在已知 DoH 服务器列表中。 目前,您无法使用 Windows Admin Center 或 sconfig.cmd 在 Windows Server 2022 上为 DNS 客户端配置 DoH 设置。
通过组策略配置 DoH
Windows Server 2022 本地和域组策略设置包括 配置基于 HTTPS 的 DNS (DoH) 名称解析 策略。 您可以使用它来配置 DNS 客户端以使用 DoH。 此策略位于节点中 Computer Configuration\Policies\Administrative Templates\Network\DNS Client
。 启用后,可以使用以下设置配置此策略:
允许 DoH。 如果指定的 DNS 服务器支持该协议,则将使用 DoH 执行查询。 如果服务器不支持 DoH,则会发出非加密查询。
禁止 DoH。 将阻止将 DoH 与 DNS 客户端查询一起使用。
需要 DoH。 将要求使用 DoH 执行查询。 如果配置的 DNS 服务器不支持 DoH,则名称解析将失败。
不要为加入域的计算机启用“需要 DoH”选项,因为 Active Directory 域服务严重依赖 DNS,因为 Windows Server DNS 服务器服务不支持 DoH 查询。 如果需要加密 Active Directory 域服务网络上的 DNS 查询流量,请考虑实施基于 IPsec 的连接安全规则来保护此流量。 有关更多信息,请参阅 使用 IKEv2 保护端到端 IPsec 连接 。
确定已知服务器列表中有哪些 DoH 服务器
Windows Server 附带了一份已知支持 DoH 的服务器列表。
您可以使用 Get-DNSClientDohServerAddress
PowerShell cmdlet 确定此列表中有哪些 DNS 服务器。
已知 DoH 服务器的默认列表如下:
服务器所有者 | DNS 服务器 IP 地址 |
---|---|
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
谷歌 | 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 |
四 9 | 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::fe:9 |
将新的 DoH 服务器添加到已知服务器列表中
您可以使用 Add-DnsClientDohServerAddress
PowerShell cmdlet 将新的 DoH 服务器添加到已知服务器列表中。 指定 DoH 模板的 URL,以及是否允许客户端在安全查询失败时回退到未加密的查询。 此命令的语法为:
Add-DnsClientDohServerAddress -ServerAddress '<resolver-IP-address>' -DohTemplate '<resolver-DoH-template>' -AllowFallbackToUdp $False -AutoUpgrade $True
将名称解析策略表与 DoH 一起使用
您可以使用名称解析策略表 (NRPT) 配置对特定 DNS 命名空间的查询,以使用特定的 DNS 服务器。 如果已知 DNS 服务器支持 DoH,则与该域相关的查询将使用 DoH 执行,而不是以未加密的方式执行。