加密 DNS 详解:DoH 和 DoT 到底隐藏了什么 — 以及为什么 VPN 的 DNS 很重要

加密 DNS 详解:DoH 和 DoT 到底隐藏了什么 — 以及为什么 VPN 的 DNS 很重要
每次你访问一个网站时,你的设备都会执行一项大多数人从未想过的安静查询:它会问 “这个域名的 IP 地址是什么?” 这就是 DNS — 互联网的电话簿 — 在网络历史的大部分时间里,这个问题和它的答案都以明文传输,任何位于你和 DNS 服务器之间的人都能读取。加密 DNS 解决了这个问题。本指南解释它的工作原理、它精确保护什么、留下什么暴露,以及它与你可能已经在运行的 VPN 有何关系。
为什么明文 DNS 是隐私问题
当你通过 HTTPS 连接到网站时,你会话的内容是加密的。但首先发生的 DNS 查询通常不是。你的互联网服务提供商 — 或同一网络上的任何人 — 都可以监视这些查询,并构建你访问的域名的完整列表,即使他们无法读取页面本身。
明文 DNS 会造成两种不同的伤害。第一种是监控:你的 ISP 可以通过你解析的域名记录甚至变现你的浏览历史。第二种是篡改:因为查询未经认证,网络可以重定向或阻止查询 — 这正是许多基于 DNS 的审查和 hostile Wi-Fi 上提供的虚假登录页面背后的机制。加密 DNS 通过对查询进行加密和完整性保护来同时解决这两个问题。
DoH 与 DoT:两种加密查询的方式
有两种主流标准,它们之间的区别主要在于使用哪个端口,因此也决定了它们在网上的可见程度。
DNS over HTTPS (DoH) 将 DNS 查询封装在普通的 HTTPS 流量中,通过 443 端口发送,已在 RFC 8484 中标准化。因为它看起来像任何其他 Web 请求,网络很难单独识别并阻止它 — 这正是浏览器采用它的原因。它通常是你在 Firefox、Chrome 或 Edge 中开启的选项。
DNS over TLS (DoT) 将同样的查询封装在 TLS 中,但使用专用端口 853。这使得网络管理更清爽 — 管理员可以明确查看和控制 DoT 流量 — 但也使限制网络更容易直接阻止它。DoT 在操作系统和路由器层面很常见(例如 Android 的专用 DNS)。
两者都提供相同的核心保护:查询在传输过程中被加密并经过认证,因此无法被悄然更改。DoH 优先隐藏于普通流量中;DoT 优先实现干净的网络管理。对于追求隐私的个人,DoH 通常是更具弹性的选择。
加密 DNS 实际隐藏了什么 — 以及没有隐藏什么
这里需要诚实,因为加密 DNS 经常被过度宣传。它能很好地解决一个特定问题,但其他问题仍未触及。
它隐藏了什么:
DNS 查询的内容对你的 ISP 和本地网络上的其他人隐藏 — 他们再也无法读取你解析的是哪些域名。
答案的完整性 — 网络无法悄悄将你的查询重定向到恶意或被审查的目的地。
它没有隐藏什么:
目标 IP 地址。 查询之后,你的设备仍会连接到该 IP,你的 ISP 会看到连接。仅从一个知名的 IP,他们往往就能推断出网站。
TLS 握手时的服务器名称(SNI)。 除非使用 Encrypted Client Hello,否则你连接的域名在 HTTPS 连接本身的第一个数据包中仍然可见 — 与 DNS 分开。
解析器看到的查询。 加密 DNS 转移了你的信任,而非消除信任。无论解析器由谁运营 — Cloudflare 的 1.1.1.1、Google 的 8.8.8.8、Quad9 或你的 ISP — 他们都会看到每一次查询。选择拥有真正隐私政策的解析器。
一般元数据。 即使查询被加密,时间、流量和连接模式仍会泄露信息。
加密 DNS 对网络隐藏了你查询的网站 — 但随后的连接仍会泄露大量信息,而你选择的解析器则能看到一切。它只是基础保护,不是隐身斗篷。
加密 DNS 与 VPN:它们解决不同层
人们经常问加密 DNS 是否能替代 VPN。不能 — 它们作用于不同范围,理解这一点可以避免一个常见错误。
加密 DNS 仅保护你的 DNS 查询。VPN 则加密并隧道化你的所有流量 — 包括查询和随后的连接 — 到 VPN 服务器,因此你的 ISP 只能看到通往提供商的加密隧道,对里面的目的地一无所知。正确配置的 VPN 还会为你处理 DNS,将这些查询通过隧道路由到提供商自己的解析器。
正是这最后一个细节容易出问题。如果你的浏览器或操作系统在 VPN 激活时配置为将 DoH 发送到不同的提供商,你的 DNS 就可能滑出隧道 — 这就是典型的 DNS 泄漏,会将你的查询暴露给并非你预期的解析器,破坏 VPN。解决办法是让 VPN 管理 DNS,或者将加密 DNS 指向 VPN 自己的解析器,然后进行验证。
如何检查并设置
先测试泄漏。 运行 DNS 泄漏测试 — 包括本网站上的加密 DNS 和泄漏工具 — 以准确查看是哪个解析器在为你应答,以及它是否是你期望的那个。如果你正在使用 VPN 却看到 ISP 的解析器,说明存在泄漏。
有意识地开启加密 DNS。 在 Firefox、Chrome 或 Edge 中启用安全 DNS / DNS over HTTPS,并选择一个有信誉的解析器。在 Android 上,使用专用 DNS(DoT);在现代 Windows 和 Apple 系统中,操作系统层面提供加密 DNS。
使用 VPN 时,让它接管 DNS。 优先使用 VPN 内置的 DNS,使查询保留在隧道内,并禁用会将查询路由到其他地方的冲突浏览器 DoH 设置。
像重视它一样选择解析器 — 因为它确实重要。 Cloudflare、Google 和 Quad9 都公布了隐私政策并提供过滤版本;你的 ISP 解析器通常提供的隐私最少。解析器能看到你的查询,因此信任就是全部决策。
总结
加密 DNS 是最廉价的隐私升级之一:它能阻止 ISP 和本地网络读取和篡改你的查询,并且每个现代浏览器和操作系统都支持它。但它只是单一层保护。它不会隐藏随后的连接,并且会将你的信任转移到你选择的解析器上。将其与配置良好的 VPN 配对 — 让 VPN 接管你的 DNS,确保没有任何泄漏 — 你就能弥合任一工具单独留下的缺口。一如既往,不要假设它在工作;请测试并确认。
常见问题
DoH 和 DoT 有什么区别?
两者都加密你的 DNS 查询,但 DNS over HTTPS (DoH) 将查询封装在普通的 HTTPS 流量中,通过 443 端口发送,使其能够融入普通流量并难以被阻止;而 DNS over TLS (DoT) 使用专用端口 853,更便于网络管理,但也更容易被阻止。浏览器通常使用 DoH;操作系统和路由器通常使用 DoT,例如 Android 的专用 DNS。
加密 DNS 会向 ISP 隐藏我的浏览吗?
部分隐藏。它隐藏了 DNS 查询的内容,使 ISP 无法读取你解析了哪些域名,并防止篡改。但它不会隐藏你随后连接的目标 IP 地址,也不会隐藏 TLS 握手时的服务器名称,除非使用了 Encrypted Client Hello。要让 ISP 完全看不到,你需要一个能隧道化所有流量的 VPN。
如果使用加密 DNS,我还需要 VPN 吗?
它们解决不同层面的问题。加密 DNS 只保护你的 DNS 查询;VPN 会加密并隧道化你的所有流量,包括查询和随后的连接,并隐藏你的 IP 地址。加密 DNS 是有用的基线保护,但当你希望 ISP 和本地网络对你的目的地一无所知时,它无法替代 VPN。
什么是 DNS 泄漏?
DNS 泄漏是指你的 DNS 查询在 VPN 隧道之外传输 — 例如,当 VPN 处于活动状态时,你的浏览器或操作系统被设置为将 DNS over HTTPS 发送到另一个提供商。结果是一个并非你预期的解析器看到了你的查询,破坏了 VPN。你可以通过 DNS 泄漏测试检测它,并通过让 VPN 管理 DNS 来修复。
使用加密 DNS 时,谁可以看到我的 DNS 查询?
你选择的解析器 — 例如 Cloudflare 的 1.1.1.1、Google 的 8.8.8.8、Quad9 或你的 ISP — 仍然能看到每一次查询。加密 DNS 将你的信任转移给该解析器,而不是消除信任,因此选择一个拥有清晰且尊重隐私政策的解析器非常重要。不过,你的本地网络和 ISP 再也无法读取传输过程中的加密查询。



