什么是 DNS 泄漏,以及如何解决

在某些操作系统(例如 Windows)中连接 VPN 时,请求并不总会通过 VPN 连接的 DNS 服务器。某些网站可能因此发现您的 IP 地址和 DNS 服务器位于不同国家,使您的匿名性面临风险。


什么是 DNS 服务器

DNS 服务器的主要用途是将网站域名转换为其对应的 IP 地址。简单来说,当您在浏览器中输入 Google.com 时,DNS 服务器会查询该域名对应的 IP 地址,随后通过该 IP 地址加载网页。

以下示例展示了 Whoer.net 网站检测 DNS 服务器的结果。

DNS 泄漏:显示了互联网服务提供商的真实 DNS 服务器


示例显示,我们已经连接 VPN 并隐藏 IP 地址(IP 属于英国),但 DNS 服务器仍暴露了真实位置(美国)。

在这种情况下,问题源于 Windows DNS 服务的工作原理。连接 VPN 后,默认会向 VPN 服务器的 DNS 发送请求。Windows DNS 服务随后等待 2 秒,如果没有收到响应,就向 Windows 操作系统列表中的下一个 DNS 服务器发送请求。后续 DNS 服务器恰好属于您的互联网服务提供商,但优先级低于 VPN 服务器的 DNS。

VPN 服务器的 DNS 可能因距离您较远而无法及时响应请求,而您的网络提供商的 DNS 位于本地城市。此外,从网络提供商到 VPN 服务器的信号传输质量也可能产生影响。

解决方法:强制使用所需的 DNS 服务器。这样,我们就明确告诉操作系统仅使用指定的 DNS 服务器,Windows DNS 服务列表中也就不会包含真实互联网服务提供商的 DNS 服务器。

如何在 Windows 中隐藏您的 DNS

如何在 Mac OS X 中隐藏您的 DNS

如何在 Ubuntu(Linux)中隐藏您的 DNS

如何在 Linux 服务器中隐藏 DNS

我们的 VPN 客户端 Secure Kit 可以自动防止 DNS 泄漏。了解更多有关 Secure Kit.



如何在 Windows 中隐藏真实 DNS

在任意版本的 Windows 中执行以下操作。

如何隐藏 DNS:控制面板


如何隐藏 DNS - 查看网络状态和任务


如何隐藏 DNS - 更改适配器选项


右键点击 Windows 网络连接,然后选择「属性」。

如何隐藏 DNS:网络连接属性


如何隐藏 DNS - TCP/IPv4 协议属性


指定 Google 或 OpenDNS 的公共 DNS 服务器。

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

这些 DNS 服务器通常被识别为位于美国。在这种情况下,任何网站都不会显示您的真实 DNS。

为了实现完全匿名,我们建议使用我们的 DNS 服务器。「我的账户」中列出了每个 VPN 线路的 DNS 服务器。这样,您的 DNS 服务器就会始终与您的 IP 地址位于同一国家/地区。

在 Android 4.x 上添加新的 VPN 连接


执行上述操作后,Windows 中的真实 DNS 服务器将被隐藏。

真实 DNS 已隐藏,DNS 泄漏已解决



如何在 Mac OS X 中隐藏真实 DNS

要在任意版本的 Mac OS X 中强制指定 DNS,请执行以下步骤:

如何在 Mac OS 中隐藏 DNS - 系统偏好设置


如何在 Mac OS X 中隐藏 DNS:网络


在下一个窗口底部点击锁形图标,允许修改设置。您需要输入 Mac OS X 账户密码。

如何在 Mac OS X 中隐藏 DNS:允许编辑


选择您用于访问互联网的连接,通常为 Wi-Fi 或 Ethernet,然后点击“高级”。

如何在 Mac OS X 中隐藏 DNS - 高级设置


输入 Google 或 OpenDNS 的公共 DNS 服务器。

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

这些 DNS 服务器通常被识别为位于美国。在这种情况下,任何网站都不会显示您的真实 DNS。

为实现完全匿名,我们建议使用我们的 DNS 服务器。在账户的“订阅” -> “DNS”选项卡中,您会看到推荐与我们的 VPN 服务器配合使用的 DNS 服务器。每条 VPN 线路都有对应的 DNS 服务器。这样,您的 DNS 服务器所在国家就会始终与 IP 地址一致。

如何在 Mac OS X 中隐藏 DNS - 输入 DNS


执行上述操作后,Mac OS X 中的真实 DNS 服务器将被隐藏。

真实 DNS 已隐藏,DNS 泄漏已解决



如何在 Ubuntu 中隐藏真实 DNS

要解决基于 Linux 的 Ubuntu 操作系统中的 DNS 泄漏,请打开「连接」。

在 Ubuntu 中编辑连接以解决 DNS 泄漏


选择您的互联网连接,然后点击「编辑」。

修改 Ubuntu 的互联网连接以消除 DNS 泄漏


选择:

  1. 「IPv4 设置」选项卡
  2. 自动(DHCP,仅地址)
  3. 指定 DNS 服务器。例如,可以使用 Google 或 OpenDNS 的公共 DNS 服务器

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

在 Ubuntu 中输入 DNS 服务器,以解决 DNS 泄漏


在 Linux 中,需要重启网络配置才能使更改生效。

点击「网络管理」。

在 Ubuntu 中禁用网络以解决 DNS 泄漏


将显示“连接已断开”的消息。

在 Ubuntu 中断开连接以解决 DNS 泄漏


随后再次点击「网络管理」,以启用连接。

在 Ubuntu 中启用网络以解决 DNS 泄漏


完成这些操作后,您的真实 DNS 服务器将被隐藏。

真实 DNS 已隐藏,DNS 泄漏已解决




如何在 Linux 服务器上隐藏真实 DNS

仅当您认为自己属于以下用户时,才执行后续操作 有经验的 Linux 用户。我们提醒您,如果缺乏 Linux 管理知识,手动修改存在风险。注意:我们不承担由此产生的后果。

以 root 用户身份登录服务器(也可使用普通用户,但必须具备通过 sudo 执行命令的权限)。

输入以下命令。可能需要输入操作系统账户的密码。这里使用 nano 文本编辑器。如果尚未安装,请使用其他编辑器修改,或安装 nano。

sudo nano /etc/resolv.conf

编辑 resolv.conf 文件以消除 Linux 中的 DNS 泄漏


  1. 如果安装了 resolvconf,此文件会提示:重启操作系统后,文件中的所有更改都会丢失,设置将恢复为默认的 127.0.1.1。由于这里只是临时修改 DNS,这正符合我们的需要。
  2. 记下此文件中默认的 DNS 服务器,然后修改 DNS。例如,可以使用 Google 或 OpenDNS 的 DNS 服务器。

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

在 Linux 中指定 DNS 服务器,以解决 DNS 泄漏


要在 nano 编辑器中保存,请按:

  1. 按 Ctrl+X 退出编辑器
  2. 按 Y 键保存文件更改
  3. 按 Enter 确认保存到同一个文件

要使更改生效,需要重启网络接口。

  • 在 Debian 和 Ubuntu 中输入以下命令:
  • sudo /etc/init.d/networking restart
  • 对于 CentOS 和 Red Hat Linux,请输入命令:
  • sudo /etc/init.d/network restart

网络接口将重新启动,DNS 泄漏问题会被消除。

重启计算机以恢复原来的 DNS 服务器。

真实 DNS 已隐藏,DNS 泄漏已解决




向我们提问