在手机打开一个网站、或某个应用连接到它的服务器之前,必须先问一个简单的问题:“这个名字对应的 IP 地址是什么?”这个问题会发给域名系统,也就是 DNS。这种查询每分钟都会发生很多次,几乎悄无声息,却能透露您在网上做的很多事情。

本文讲解 DNS 会暴露什么、它如何被用来限制访问、加密 DNS(DoH 和 DoT)改变了什么、它如何与 VPN 配合,以及什么是“DNS 泄露”、如何检查。

DNS 是什么,会暴露什么

可以把 DNS 想象成互联网的电话簿。您输入一个名字,比如 example.com;DNS 解析器(通常由您的宽带运营商或移动运营商提供)查到对应的号码(IP 地址)并返回。然后您的设备连接到这个地址。

传统 DNS 设计于几十年前,这些查询是以明文发送的。这意味着路径上的任何一方,包括 Wi-Fi 网络的管理者和您的运营商,都可以看到:

  • 您查询了哪些域名,以及查询时间。
  • 哪些应用在运行,因为很多应用会在后台联系自己的服务器。
  • 长期的行为规律,例如您几点起床、每天使用哪些服务。

HTTPS 会加密网页内容,但不会加密这次查询。所以即使浏览器里显示了小锁图标,普通 DNS 仍可能暴露您访问的网站名称。

DNS 层面的访问限制如何运作

由于几乎每次连接都从 DNS 查询开始,DNS 就成了限制访问的一个简便环节。解析器可以返回错误的地址、返回错误信息,或者干脆不回应,应用就无法连接。

一个近期的例子:路透社 2026 年 2 月 12 日报道,部分与 WhatsApp 相关的域名从俄罗斯国家域名注册系统中消失,俄罗斯境内的设备不再能获得该应用的 IP 地址。没有地址,应用就无法连上自己的服务器。

DNS 只是实施限制的多个层面之一。网络还可以按 IP 地址过滤,或检查流量内容,因此仅仅修改 DNS 设置往往作用不大。本文只解释技术原理;在改变上网方式之前,请先了解当地法律。

加密 DNS:DoH 和 DoT

有两项标准可以加密设备与解析器之间的 DNS 查询和应答。

DNS over TLS(DoT)

IETF 于 2016 年 5 月发布的 RFC 7858 定义了基于 TLS 的 DNS。它用与 HTTPS 相同的 TLS 加密来包裹 DNS,并使用专用的 853 端口。由于端口独立,网络能看出您在使用加密 DNS,尽管无法读取查询内容。

DNS over HTTPS(DoH)

2018 年 10 月发布的 RFC 8484 规定了通过 HTTPS 发送 DNS 查询和应答,每一组查询与应答作为一次普通的 HTTP 交换来处理。在网络看来,DoH 与普通网页流量非常相似。

加密改变了什么,没改变什么

  • 它向 Wi-Fi 网络和路径上的其他方隐藏了您的查询。
  • **解析器仍然能看到查询。**您只是把信任从运营商的解析器转移到了您自己选择的解析器,所以请选择隐私政策让您放心的服务商。
  • **查询之后的连接依然可见。**您的设备仍要连接网站的 IP 地址,而这本身就能透露不少信息。

在您的设备上使用加密 DNS

安卓。谷歌于 2018 年 4 月 17 日宣布,在 Android P(Android 9)中支持基于 TLS 的 DNS,称为“私人 DNS”(Private DNS)。您可以在网络设置中找到它,通常位于“私人 DNS”一项,可以选择自动、关闭,或填写服务商的主机名。不同手机厂商的菜单名称略有差异。

**Chrome。**根据 Google Chrome 帮助中心,Chrome 的“使用安全 DNS”设置默认以自动模式开启。如果 Chrome 在此模式下查找网站遇到问题,会改用未加密的查询。如果您选择了自定义服务商,Chrome 则不会回退到未加密模式。在受管理的设备上,或开启了家长控制时,此功能不可用。

要点是:浏览器设置只保护该浏览器,而“私人 DNS”这类系统设置能覆盖设备的更多部分。

DNS 如何与 VPN 配合,什么是 DNS 泄露

VPN 连接后,您的设备应当把 DNS 查询通过加密隧道发送给 VPN 指定的解析器,而不是本地网络的解析器。这样,运营商只能看到您连接到了一台 VPN 服务器。

DNS 泄露是指部分查询仍然跑出了隧道,发给了运营商的解析器。VPN 依然承载着您的流量,但您访问的网站列表却暴露了。常见原因包括:

  • 设备或某个应用被设定为使用特定 DNS 服务器,而不理会 VPN 的设置。
  • 隧道重新连接的短暂间隙,例如从 Wi-Fi 切换到移动数据时,如果这段时间没有任何机制拦截流量。这正是 kill switch 要解决的问题,详见VPN kill switch 的作用。
  • 分流(split tunneling),即部分应用有意走普通连接。

安卓的“私人 DNS”和 VPN 可以同时开启。实际由哪个解析器应答,取决于系统和 VPN 应用,所以最可靠的办法是测试。

VPNRice 还在另一处用到 DNS:其广告和跟踪器拦截功能(视您的套餐而定)是一个 DNS 过滤器,可为设备上的应用拦截已知的广告、跟踪和恶意域名。

如何检查泄露

  1. 连接 VPN,然后在浏览器中打开一个 DNS 泄露测试页面。它会显示应答您查询的解析器。
  2. **用我们的 IP 查询工具查一查这些解析器地址。**如果在 VPN 开启时,它们属于您的家庭宽带运营商或移动运营商,就说明查询发生了泄露。
  3. 用我们的 WebRTC 泄露测试检查浏览器的其他方面,它检测的是另一种泄露:通过 WebRTC 暴露的地址。我们的检查 IP 与 WebRTC 泄露指南会解释测试结果。
  4. 切换网络后再测一次,例如从 Wi-Fi 切换到移动数据。

如果发现泄露,请检查浏览器或应用中是否有自定义 DNS 设置,更新 VPN 应用,然后再次测试。

要点回顾

  • DNS 查询会暴露您使用了哪些网站和服务;普通 DNS 不加密。
  • DNS 是实施限制的常见环节,但很少是唯一的环节。
  • DoT(RFC 7858)和 DoH(RFC 8484)能向网络隐藏查询,但解析器仍能看到。
  • 使用 VPN 时,查询应当走隧道;连接后和切换网络后都要测试。
  • 想了解 VPN 协议如何保护其余流量,请阅读我们的WireGuard 与现代 VPN 协议指南。