Proton VPN 主页

使用 VPN 时的 DNS 泄露

阅读
1 分钟
类别
连接

所有 Proton VPN 应用均包含 DNS 泄露防护功能,旨在防止您访问的网站等识别您的真实 DNS 地址。但在某些有限的情况下,您的计算机可能会绕过这些防护,导致第三方能够看到您实际使用的 DNS 服务器的 IP 地址。

在本文中,我们将解释什么是 DNS、它的工作原理,以及为何手动配置 DNS 设置可能会导致我们的 DNS 泄露防护无法正常工作。

什么是 DNS?

每个互联网连接都会被分配一个唯一的数字标识符,即互联网协议 (IP) 地址。人类的大脑并不擅长记忆冗长的数字串,因此我们使用更易于人类理解的文本字符串,也就是域名,来识别互联网资源 (例如网站和游戏服务器)。

域名系统(DNS)就像一本全球电话簿,将对人类友好的网址翻译成计算机使用的 IP 地址。

举例来说,如果网址 example.com 的 IP 地址是 123.456.789.012,在浏览器的网址栏中输入 123.456.789.012 就会转到 example.com。(实际上,一个 IP 地址可以映射到多个网站,一个域名也可以映射到多个 IP 地址。但归根结底,这就是 DNS 的作用。)

DNS 与隐私

DNS 解析是将域名转换为对应 IP 地址的过程。该过程由 DNS 服务器执行,而这些服务器默认由您的互联网服务提供商(ISP)运营。

世界上几乎所有 ISP 都会记录其客户的 DNS 查询日志,从而了解您的浏览历史。虽然 ISP 可以通过其他方式追踪您的互联网活动,但大多数 ISP 仅限于保留 DNS 日志。

虽然通常并非默认行为,但您所访问的网站有可能看到用于解析 DNS 查询的 DNS 服务器的 IP 地址,而正是该查询将您引导至其网站。掌握这一信息后,他们 (或其他任何监视该网站的人) 便可以联系您的 ISP,要求其透露发出该 DNS 查询的客户所对应的 IP 地址。

由于 DNS 解析由您的 ISP 执行,网站只需知道您所用 DNS 服务器的 IP 地址,即可确定您所在的国家/地区。如果您使用 VPN(新窗口) 或 代理来隐藏真实 IP 地址,但您 ISP 的 DNS 服务器 IP 地址暴露在外,那么这种不一致就会让网站知道您正试图掩盖真实身份。

DNS、Proton VPN 与 DNS 泄露防护

Proton VPN 通过运行自己的 DNS 服务器来应对这一威胁。与所有其他互联网流量一样,DNS 查询会通过 VPN 隧道路由到我们的服务器上进行解析。

在外界看来,您的 DNS 地址与 VPN 服务器的 IP 地址不同,但两者属于同一个数据中心,因此与 VPN 服务器的实际位置高度一致。(请注意,IPv6 连接目前会被直接阻断,这对您的互联网体验没有影响。)

Proton VPN 不记录 DNS 查询,根据瑞士法律,也不能被强制开始记录。我们同样不会记录用户的 IP 地址。

进一步了解 Proton VPN 的威胁模型

All our apps implement DNS leak protection, using firewall(新窗口) rules and other platform-specific techniques to ensure no internet traffic – including DNS queries – can enter or exit your device outside the VPN interface.

然而,在少数情况下,DNS 查询可能会被路由到 VPN 隧道之外。

第三方 DNS 服务

手动将设备的全局 DNS 设置配置为使用第三方 DNS 服务,例如 Google Public DNS、Cloudflare 或 OpenNIC,会增加出问题的可能性,因为自定义设置可能会覆盖我们的 DNS 泄露防护措施。

因此,我们强烈建议不要在 Proton VPN 中使用第三方 DNS 服务。以下是在所有主流平台上停用自定义 DNS 配置的指南。

Windows 10

1. 依次前往 开始 → 设置 → 网络和 Internet → 您的网络接口 (例如 WiFi 或 以太网) → 相关设置 → 更改适配器选项。

2. 右键点击您的网络接口 → 属性→ Internet 协议版本 4 (TCP/IPv4)→ 属性。

Windows IPv4 设置

3. 确保自动获得 DNS 服务器地址已被选中,然后点击确定。

启用自动获得 DNS 服务器地址

4. 如果您有 IPv6 连接(或者不确定是否有),请对Internet 协议版本 6 (TCP/IPv6) 重复步骤 2 和步骤 3。

macOS

打开设置应用并前往 网络 → 选择您的网络接口 (例如 WiFi 或 以太网) → 详细信息… → DNS 标签页。选择任何第三方 DNS 服务器 (如果有的话),然后点击 – 按钮将其移除。完成后点击 好。

手动编辑 IP 设置

Linux

每个 Linux 发行版和桌面环境都提供不同的界面来更改 DNS 设置(尽管通常非常相似)。例如,在 Ubuntu GNOME 中:

1. 依次前往 显示应用程序→ 全部→ 设置→ 网络,然后点击您的网络接口旁边的 齿轮图标。

查找您的网络连接

2. 前往 IPv4 和 IPv6 标签页。在 DNS 下,确保自动开关已开启,并删除您看到的任何 DNS 条目。完成后点击应用。

启用自动 DNS

Android 9+

Android 9+ 提供私有 DNS,这是一项系统级功能,可使用 DoT 自动保护设备与 ISP 的 DNS 服务器之间的连接 (如果您的 ISP 支持,详见下文),或允许您指定自定义 DNS 提供商。要停用私有 DNS:

1. 打开 设置应用,然后前往 连接→ 更多连接设置→ 私人 DNS→ 关闭。

在 Android 中关闭私人 DNS 模式

Chrome OS

前往 设置→ 选择您的网络接口(例如 WiFi 或 以太网。如果使用 WiFi,您还需要选择一个已知网络)→ 高级 → 名称服务器,并确保已选中 自动名称服务器。

在 Chromebook 上选择自动名称服务器

iOS 和较旧版本的 Android

在 iOS/iPadOS 以及早于 Android 9 Pie 的 Android 版本中,更改全局 DNS 设置的唯一方法是使用会创建虚拟 VPN 接口的第三方应用。

由于一次只能建立一个 VPN 连接,这些应用无论如何都无法与 Proton VPN 同时运行。

基于 HTTPS 的 DNS

基于 HTTPS 的 DNS(新窗口)(DoH)是一种加密标准,用于加密发送到 DNS 服务器的 DNS 查询。只有 DNS 提供商支持该标准时,DoH 才能正常工作,但目前越来越多的第三方 DNS 服务都提供该功能(ISP 则很少提供)。

遗憾的是,这会使使用第三方 DNS 服务的问题进一步复杂化,因为加密使得我们的软件无法看到 DNS 查询,从而很难阻止或重新路由这些查询。

因此,我们强烈建议不要在 Proton VPN 中使用 DoH(以及类似的基于 TLS 的 DNS 标准)。使用我们的应用时,所有 DNS 查询都会通过 VPN 连接发送到我们的服务器,因此无需 DoH 或 DoT 即可安全加密。

在桌面系统中,DoH 通常在浏览器内部实施,大多数现代浏览器(Safari 除外)都支持。在移动设备上,可以通过 Android 私人 DNS 或独立应用(如上文所述)来支持 DoH 和 DoT。

如何在桌面浏览器中停用 DoH

Firefox

前往 ≡ → 设置 → 隐私与安全 → 基于 HTTPS 的 DNS → 使用以下方式启用安全 DNS:并选择 关闭。

Chrome

点击三点竖椭圆图标 → 设置→ 隐私与安全→ 隐私与安全→ 安全→ 高级→ 选择 DNS 提供商 ,并确保在下拉菜单中选中 操作系统默认设置(如果可用)。

在 Chrome 中更改 DNS 提供商

(在 Chromebook 上,请前往 设置 → 隐私与安全 → 高级)

Edge Chromium

点击三点横椭圆图标 → 设置→ ≡→ 隐私、搜索和服务→ 安全,并确保 使用安全 DNS 指定如何查找网站的网络地址已关闭。

在 Edge 中停用安全 DNS

Brave

前往 ≡ → 设置 → 隐私与安全→ → 安全→ 高级,并确保 使用安全 DNS 为 关闭。

在 Chrome 中停用安全 DNS

您与 VPN 服务器的连接中断

如果您的设备与 VPN 服务器之间的连接中断,您可能会在没有 VPN 保护的情况下访问互联网。这尤其意味着 DNS 查询可能会被发送到系统的默认 DNS 服务器(可能由您的 ISP 运营)。

启用 终止开关功能即可轻松解决这一问题,该功能现已在我们的所有应用中提供。

如何检查 DNS 泄露

1. 打开我们的应用并连接到我们的其中一台服务器。为了进行 DNS 泄露测试,连接到另一个国家/地区的 VPN 会让 DNS 泄露更容易被发现。

2. 在浏览器中访问 DNSleaktest.com(新窗口)。您应该会看到所连接的 VPN 服务器的 IP 地址。选择标准 测试或扩展 测试。在本指南中,我们将选择扩展测试。

查看您的外部 IP 地址

3. 等待测试完成并查看结果。如果显示的 IP 地址是您真实 ISP 的地址,则说明存在 DNS 泄露。解决方案请参见上文。

DNS 泄露测试结果

请注意,Proton VPN 与世界各地的基础设施提供商合作,因此 ISP 可能是第三方提供商。只要该 IP 地址不属于您真实的 ISP,就不存在 DNS 泄露。