IP 地址与网络

DNS over HTTPS (DoH)

约 4 分钟阅读

什么是 DNS over HTTPS

DNS over HTTPS (DoH) 是将传统以明文传输的 DNS 查询通过 HTTPS 协议加密的技术。在 RFC 8484 中标准化,自 2020 年前后开始在主流浏览器中实现。

传统的 DNS 通信通过端口 53 的 UDP/TCP 以明文发送,运营商、网络管理员或同一网络上的攻击者可以轻松截获你正在访问哪些域名。DoH 将 DNS 查询通过端口 443 的 HTTPS 传输,使其与普通的 Web 通信无法区分,从而实现加密。

DoH 与 DoT 的区别

除了 DoH 之外,还有一种名为 DoT(DNS over TLS)的 DNS 加密方式。

DNS over HTTPS (DoH)
使用端口 443。与普通 HTTPS 流量混合,网络管理员难以阻止。可按浏览器单独配置。
DNS over TLS (DoT)
使用专用端口 853。可通过端口号识别为 DNS 流量。在操作系统级别配置,适用于所有应用程序。

从隐私角度来看,DoH 具有隐藏 DNS 通信存在本身的优势。另一方面,对于企业网络管理员来说,DoT 更容易识别和控制。

主流浏览器的设置方法

DoH 可以在主流浏览器中轻松启用。

  • Firefox:设置 → 隐私与安全 → 「DNS over HTTPS」部分启用。默认选择 Cloudflare 的 DoH 服务器。也可指定自定义 URL。
  • Chrome:设置 → 隐私和安全 → 安全 → 启用「使用安全 DNS」。如果运营商的 DNS 支持 DoH,会自动切换到 DoH。
  • Edge:与 Chrome 相同的步骤。设置 → 隐私、搜索和服务 → 安全 → 「使用安全 DNS」。
  • Safari:通过 macOS/iOS 设置中的配置描述文件启用 DoH。浏览器本身没有单独的设置项。

在操作系统级别配置 DoH 可以加密所有应用程序的 DNS 通信,而不仅仅是浏览器。在 Windows 11 上,可以在「设置 → 网络和 Internet → DNS 服务器分配」中指定支持 DoH 的服务器。

DoH 的注意事项与争议

DoH 在提升隐私的同时,也引发了一些争议。

  • DNS 提供商的集中化:启用 DoH 后,DNS 查询集中到 Cloudflare 和 Google 等少数提供商。有批评认为这只是将「谁在看什么」的信息从运营商转移到了 DNS 提供商。
  • 与企业网络的冲突:如果企业使用 DNS 过滤来阻止对恶意软件网站的访问,DoH 可能会绕过该过滤。
  • 对家长控制的影响:如果在家庭路由器上配置了基于 DNS 的内容过滤,启用 DoH 的设备将绕过该过滤。

VPN 与 DoH 配合使用时,理想的做法是通过 DoH 使用 VPN 提供商的 DNS 服务器。这样既能最大限度降低 DNS 泄漏风险,又能确保 DNS 通信的加密。

常见误解

启用 DoH 就能加密所有通信
DoH 加密的只是 DNS 查询部分。与网站的实际通信由 HTTPS (TLS) 负责。此外,目标 IP 地址在网络上仍然可见,因此不能实现完全匿名。
使用 DoH 运营商就什么都看不到了
DoH 可以隐藏域名查询,但目标 IP 地址对运营商仍然可见。TLS 握手时发送的 SNI(服务器名称指示)中也包含域名。要完全隐藏需要等待 ECH(加密客户端 Hello)的普及。

DoH 与 DoT 对比

DNS over HTTPS (DoH)

端口 443。混入 HTTPS 流量,难以阻止。可按浏览器配置。隐藏 DNS 通信的存在。

DNS over TLS (DoT)

端口 853。可识别为 DNS 流量。在操作系统级别适用于所有应用。网络管理员更容易控制。

分享

相关术语