知识库

DNS 泄露 —— 它是什么,以及浏览器诚实的局限

了解 DNS 泄露,以及为什么单靠浏览器无法说出你所用的解析器。

检测什么

在浏览器访问某个网站之前,它会请求一个 DNS 解析器把主机名转换成 IP 地址。“DNS 泄露”指的是这些查询发送到了 VPN 隧道之外的解析器 —— 例如你 ISP 的解析器 —— 从而把你的浏览行为暴露给你本想绕开的一方。

诚实的局限:DNS 解析发生在浏览器 fetch API 之下,因此运行在本页面上的 JavaScript 看不到实际应答的是哪个解析器。一个可信的 DNS 泄露测试,需要一台受控的权威 DNS 服务器,配合一个唯一主机名,在带外记录下解析器。在我们没有这样的端点时,我们会将此项检测报告为不可用,而不是去猜测。

为何重要

如果你的 DNS 请求泄露给了 ISP,那么即便 VPN 隐藏了你流量的内容,他们仍能记录你访问的域名。对注重隐私的用户而言,DNS 泄露会悄悄抵消掉使用 VPN 的大部分意义。

结果怎么看

对浏览器内声称的“未泄露”应持怀疑态度 —— 浏览器确实无法确认这一点。可靠的测试方式,是使用一项在服务端记录并向你展示所记录解析器 IP 的专门 DNS 泄露服务。

在这里,诚实的状态是“不可用”或“无法定论”;请把它当作提示,去用一款自带 DNS 端点的工具进行测试。

常见问题

为什么这项测试显示“不可用”?
因为网页无法观测到你的 DNS 解析器 —— 查询发生在操作系统层面,对 JavaScript 不可见。与其编造一个结果,我们选择诚实地报告这一局限。
真正的 DNS 泄露测试是如何工作的?
它们会解析一个由自家权威 DNS 服务器提供的、唯一的随机主机名,然后回读是哪些解析器 IP 请求了它。是这台服务器在服务端的观测 —— 而非浏览器 —— 揭示了泄露。
我该如何阻止 DNS 泄露?
使用一款通过自有解析器隧道传输 DNS 的 VPN,启用其防泄露或断网保护,并避免手动设置会绕过隧道的第三方解析器。

开始一键体检