IP泄漏保护的完整指南

使用VPN的主要原因之一是隐藏您的真实IP地址。使用VPN时,您的互联网流量经过加密,然后发送到VPN提供商运行的VPN服务器,然后再退出互联网.

这意味着外部观察者只能看到VPN服务器的IP地址,而不能看到您的真实IP地址。因此,他们发现您的真实IP地址的唯一方法是说服您的VPN提供商将其移交给他们(好的提供商使用诸如使用共享IP之类的可靠措施,并且不保留任何日志,以使其尽可能地困难)。.

不幸的是,有时即使使用VPN,网站也有可能检测到您的真实IP地址.

本文旨在回答:什么是IP泄漏?即使我已连接到VPN,为什么我的IP也泄漏?如何解决该问题??

如何测试DNS泄漏或IP泄漏

要确定您是否遭受IP泄漏:

1.在不运行VPN的情况下访问ipleak.net。记下您看到的所有IP地址(或仅打开窗口),因为这些是您的真实IP地址.

这是没有VPN的情况下支持IPv6的办公室连接的样子。如果您的连接不支持IPv6,那么您只会看到IPv4地址。如我们所见,WebRTC正确报告了真实的IPv6地址。如果我们没有IPv6功能,它将改为报告我们的IPv4地址.

WebRTC还会报告专用地址(IANA专用地址或特殊地址),但这与我们无关。这些专用地址是内部地址,仅由您的本地网络使用.

即使WebRTC在VPN运行时确实返回了真实的“专用IP”地址,也不构成隐私风险,因为这些IP地址无法用于从Internet上识别您的身份.

2.打开您的VPN。尽管并非绝对必要,但连接到其他国家/地区的VPN服务器可以更轻松地发现IP泄漏.

3.在浏览器中打开“私人/隐身”窗口,再次访问ipleak.net,然后将结果与未运行VPN时获得的结果进行比较.

  • 如果常规IPv4地址是您的真实IPv4地址,则说明VPN未打开或无法正常工作.
  • 您可以忽略WebRTC检测到的专用IP。正如已经讨论的那样,这些都不会对您的在线隐私构成威胁,因此不算作IP泄漏(无论如何,实际上都是).
  • 如果ipleak.net网页上的任何其他地址与您的真实地址匹配,则表明VPN正在运行,但正在以某种方式泄漏您的IP地址.

好的

从英国连接到美国VPN服务器,以下是我们希望看到的结果.

  • IPv4地址已更改为VPN服务器的位置。所以VPN正在工作.
  • IPv6已被禁用或阻止,以防止常规IPv6泄漏.
  • WebRTC未检测到我们的真实IPv4或IPv6地址。我们可以忽略“私人使用”地址,因为它不会威胁我们的隐私.
  • 使用的DNS服务器不属于我们的ISP,并且已在正确的国家/地区解析.

如果DNS解析在VPN服务器所在的位置附近,则强烈建议VPN服务在该服务器上运行其自己的DNS服务器.

如果您看到多个DNS收件人仅位于更广阔的国家或地区,则表明DNS转换可能是由第三方DNS解析器(例如Google DNS)执行的.

只要我们假设DNS请求是通过VPN连接发送的,并因此由VPN服务器代理(这是一个相当安全的假设,尽管您永远不会知道),这就不是问题。.

不幸的是,对于最终用户而言,通常没有简单的方法来知道由第三方解析器处理的DNS请求是由VPN服务代理还是直接发送到解析器。因此,您只需要在此服务器上信任您的提供商(或切换到肯定运行其自己的DNS服务器的提供商).

值得注意的是,Google DNS使用位于荷兰和比利时的服务器来解析所有欧洲DNS请求。因此,如果您连接到英国,法国或罗马尼亚的VPN服务器,但DNS服务器位于比利时,这就是原因。这不是问题(只要我们假设DNS请求已被代理且未直接发送给Google).

不好

这是当您从英国连接到德国的VPN服务器时不想看到的示例.

  • IPv4地址已更改为德语,因此VPN处于基本级别.
  • 但是,我们仍然可以看到真实的常规IPv6地址。这意味着我们经常发生IPv6泄漏(或只是“ IPv6泄漏”).
  • WebRTC还报告了我们的真实IPv6地址。所以我们有一个WebRTC IPv6泄漏.
  • DNS地址不在德国,但也不属于我们的真实ISP。因此它们不会构成DNS泄漏.

下面我们解释什么是不同类型的IP泄漏以及如何解决它们。但是,在所有情况下,一种通常不成文但推荐的解决方案是将VPN服务更改为不会泄漏的服务.

定期的IPv6泄漏

了解IPv4

每个Internet连接都有一个唯一的数字地址,称为Internet协议(IP)地址。 IP地址(或仅“ IP”)由连接设备的Internet提供商(ISP)分配.

直到最近,整个Internet都使用Internet协议版本4(IPv4)标准来定义IP地址。这支持最大32位Internet地址,该地址转换为可分配的2 ^ 32 IP地址(约42.9亿).

不幸的是,由于最近几年互联网使用的空前增长,IPv4地址即将用完。实际上,从技术上讲,他们已经这样做了,尽管变通办法意味着IPv4距离死亡还很遥远。目前,绝大多数互联网地址仍在使用IPv4标准.

了解IPv6

尽管已经部署了各种缓解策略来延长IPv4的保质期,但真正的解决方案是以新标准IPv6的形式出现的。这利用了128位网址,从而将网址的最大可用数量扩展到2 ^ 128(约3400亿亿!)。在可预见的将来,这应该使我们获得IP地址.

但是,采用IPv6的速度一直很慢-主要是由于升级成本,对后向能力的担忧以及过于懒惰。因此,尽管所有现代操作系统都支持IPv6,但绝大多数ISP和网站仍未打扰.

这导致支持IPv6的网站采用双层方法。从仅支持IPv4的地址连接时,它们将提供IPv4地址,但是从支持IPv6的地址连接时,它们将提供IPv6地址。.

这导致支持IPv6的网站采用双层方法。当连接到仅支持IPv4的地址时,它们将提供IPv4地址。但是当从支持IPv6的地址连接时,它们将提供IPv6地址.

在IPv4地址开始用尽之前,使用仅IPv4的连接没有任何缺点.

IPv6 VPN泄漏

不幸的是,许多VPN软件尚未赶上IPv6。当您从启用IPv6的Internet连接连接到启用IPv6的网站时,VPN客户端将通过VPN接口路由您的IPv4连接,但完全不知道是否正在建立IPv6连接.

因此,该网站不会看到您的真实IPv4地址,但会看到您的IPv6地址。可以用来识别您的身份.

解决方案

1.使用具有IPv6泄漏保护功能的VPN客户端

这些天,所有好的VPN客户端都提供IPv6泄漏保护。在大多数情况下,这是通过在系统级别禁用IPv6来确保根本无法进行IPv6连接来完成的。这是一个懒惰的解决方案,但效果很好.

VPN应用程序在技术上给人留下了深刻的印象,它们可以通过VPN接口正确路由IPv6连接。这是一个更为优雅的解决方案,并且无疑是所有VPN应用程序的未来.

如果您的VPN提供商的自定义软件不能阻止常规的IPv6泄漏,那么您可以改用第三方应用。适用于Windows的OpenVPN GUI,适用于macOS的Tunnelblick,适用于Android的OpenVPN和适用于iOS(和其他平台)的OpenVPN Connect,均提供有效的IPv6泄漏防护.

2.在系统上手动禁用IPv6

防止IP泄漏的最可靠方法是在系统级别(如果可能)禁用IPv6。请查看有关如何在所有设备上禁用IPv6的指南,以获取有关如何执行此操作的说明.

DNS泄漏

DNS泄漏是IP泄漏的最著名形式,因为它曾经是最常见的泄漏。近年来,大多数VPN服务已达到标准,但在我们的测试中,我们发现DNS泄漏的频率降低了.

动态名称系统(DNS)用于将我们熟悉的网址(URL)转换为易于理解和记忆的“真实”数字IP地址。例如,将域名www.proprivacy.com转换为其IPv4地址104.20.239.134。因此,从本质上讲,DNS只是一本精美的电话簿,它将URL与其对应的IP地址进行匹配.

此DNS转换过程通常由您的互联网提供商(ISP)运行的DNS服务器执行。对于较大的ISP,可能会在您附近(例如您所在城市的某个地方)解决DNS查询的地理位置问题,但这并非总是如此.

可以肯定的是,DNS查询将在您的ISP所在的国家(即您自己的国家)得到解决。但是,无论在哪里解析DNS查询,它都不会位于您的家庭IP地址。但…

隐私风险

您的ISP可以看到您正在做什么

是您的ISP解决您的DNS查询,因此:

  1. 它知道他们来自的IP地址.
  2. 它知道您访问的网站,因为它是将您键入的URL转换为IP地址的网站。世界各地的大多数ISP都会保留此信息的日志,它们可能会或可能不会与您的政府或警察部队共享这些信息,但通常可以强迫他们共享这些信息。.

现在……在通常情况下,这实际上并没有太大关系,因为是您的ISP直接将您连接到您访问的IP地址。因此,无论如何,它知道您访问了哪些网站.

但是,VPN服务器会代理您的Internet连接,以防止ISP看到您在Internet上的活动。除非它仍在解决您的DNS查询,否则在这种情况下它仍可以(间接)看到您访问的网站.

可以追踪到

网站可以查看和记录直接连接到它们的DNS服务器的IP地址。他们不会以这种方式知道您的唯一IP地址,但是他们会知道哪个ISP解决了DNS查询并定期创建发生时间的时间戳.

如果他们(或例如警察)想要识别访客,则只需询问ISP“谁在此时向此地址发出了DNS请求?”。

同样,在正常情况下,这无关紧要,因为网站仍然可以看到您的唯一IP地址。但是,当您使用VPN隐藏IP地址时,它将成为“取消匿名” VPN用户的重要手段.

DNS泄漏如何发生

从理论上讲,当使用VPN时,所有DNS请求都应通过VPN发送,您可以在其中由VPN提供商内部处理,也可以代理给第三方,后者只会看到请求来自VPN服务器.

不幸的是,操作系统有时无法通过VPN接口路由DNS查询,而是将其发送到系统设置中指定的默认DNS服务器(除非您手动更改了DNS设置,否则它将是ISP的DNS服务器).

解决方案

1.使用具有DNS泄漏保护功能的VPN客户端

许多VPN客户端使用“ DNS泄漏保护”功能解决了此问题。这使用防火墙规则来确保无法将DNS请求发送到VPN隧道之外。不幸的是,这些措施并不总是有效的.

我们不明白为什么“ DNS泄漏保护”通常是用户可选的功能,默认情况下未启用.

同样,适用于Windows的OpenVPN GUI,适用于macOS的Tunnelblick,适用于Android的OpenVPN和适用于iOS(和其他平台)的OpenVPN Connect都提供了良好的DNS泄漏防护.

2.禁用IPv6

请注意,这只是部分解决方案,因为它绝不能防止IPv4 DNS泄漏。但是,即使具有DNS泄漏保护功能的VPN应用也无法阻止DNS泄漏的主要原因之一是,它们仅将DNS请求发送到IPv4 DNS服务器.

由于大多数DNS服务器仅保留IPv4,因此通常可以避免这种情况。但是提供IPv6连接的ISP通常也提供IPv6 DNS服务器。因此,如果客户端仅在VPN接口外部阻止IPv4 DNS请求,则IPv6可以通过.

3.更改您的DNS设置

任何不通过VPN接口路由的DNS查询(如应有的那样)将被发送到系统设置中指定的默认DNS服务器.

除非已经进行了更改,否则将从您的ISP自动获取DNS服务器地址(IPv4和IPv6,如果可用)。但是您可以更改它,我们在此处提供了说明.

请注意,更改DNS设置并不能真正“解决” DNS泄漏问题。只是您将DNS请求泄漏给了第三方解析器,而不是ISP.

幸运的是,现在有一些非常好的针对隐私的DNS服务,这些服务不保留任何日志。它们还通过基于HTTPS(DoH)的DNS或基于TLS(DoT)的DNS的DNS加密来保护DNS请求,没有它们,您的ISP仍然可以看到DNS请求,即使它没有处理它们.

有关此主题的更多信息,以及推荐的免费和私有DNS服务列表,请参见此处.

Linux用户注意事项

在Linux中手动进行VPN设置,无论使用NetworkManager,CLI OpenVPN客户端,strongSwan还是任何其他方式,都无法提供DNS泄漏保护。幸运的是,您可以采取一些步骤来解决此问题,尽管它们会使VPN设置过程复杂化.

您可以修改resolvconf以将DNS推送到VPN的DNS服务器,也可以手动配置iptables防火墙以确保所有流量(包括DNS请求)都不会将Linux计算机离开VPN隧道。请参阅本文后面有关构建自己的防火墙的注释,以获取更多有关此内容的信息。.

WebRTC泄漏

WebRTC泄漏现在是我们在测试中看到的最常见的IP泄漏形式。严格来说,WebRTC泄漏是浏览器问题,而不是VPN问题,这导致许多VPN提供商将自己与不容易解决的问题拉开了距离。.

我们认为,这还不够。确实,我们认为发布隐藏在提供商帮助部分内的“如何禁用WebRTC”指南也不够好,或者.

什么是WebRTC泄漏?

WebRTC是HTML5平台,可在用户的浏览器窗口内实现无缝的语音和视频通信。现在,几乎所有主要平台上的几乎所有现代浏览器都支持WebRTC,包括Chrome,Firefox,Opera,Edge,Safari和Brave.

在iOS中是一个例外,其中只有Safari支持WebRTC(至少没有其他插件).

为了通过防火墙等障碍物实现浏览器与浏览器的无缝通信,支持WebRTC的浏览器将您的真实IP地址广播到STUN服务器,该服务器保留用户的公共IP地址及其真实IP地址的列表.

希望与您(或任何爱管闲事的网站)发起WebRTC对话的任何人都可以请求您的真实IP地址,STUN服务器将简单地将其移交给您.

通常称为WebRTC泄漏,此问题有时也称为“ WebRTC错误”。由于它是WebRTC的有意且非常有用的功能,因此有点用词不当。但是对于试图隐藏真实IP地址的VPN用户来说,这确实是一个痛苦!

解决方案

1.在浏览器中禁用WebRTC

这是使用VPN时防止WebRTC泄漏的唯一100%有效的方法。即使您的VPN客户端可以有效缓解VPN泄漏,我们也建议您这样做.

在Firefox中,禁用WebRTC很容易。在网址栏中输入“ about:config”以输入Firefox的高级设置,搜索“ media.peerconnection.enabled”,然后双击该条目以将其值更改为false.

另外(在其他浏览器中),有多种浏览器插件可以禁用WebRTC,包括禁用WebRTC,uBlock,uBlock Origin和NoScript。一些VPN提供商在其自定义浏览器加载项中包含“禁用WebRTC”功能.

有关此主题的更完整讨论,请参见什么是WebRTC VPN“错误”以及如何修复它。?

2.使用可缓解WebRTC泄漏的VPN服务

WebRTC泄漏是浏览器问题,因此,唯一有效的预防方法是在浏览器中禁用WebRTC.

也就是说,VPN提供商可以使用防火墙规则并在客户端和VPN级别上加强设置,从而大大减少WebRTC泄漏的可能性。没有VPN提供商会保证这些措施能奏效,因为网站总是有可能实施旨在增加泄漏可能性的巧妙JavaScript代码。.

但是,我们发现某些VPN服务在防止VPN泄漏方面一直有效。即使如此,我们仍然建议在浏览器级别禁用WebRTC。只是为了安全起见.

VPN中断并杀死交换机

尽管从技术上讲这不是“ IP泄漏”,但问题恰恰是由于您没有VPN连接而引起的,但效果是一样的–您认为自己受到了VPN的保护,而实际上全世界都可以看到您的IP地址.

什么是VPN退出?

有时,VPN连接失败,通常是出于某些原因,即使是最好的VPN服务也无法控制。 。如果您的计算机在发生这种情况后仍保持与Internet的连接,则您的真实IP将被公开.

对于P2P下载者来说,这尤其是个问题,它们使BitTorrent客户端不在计算机上(通常是长时间)而仍在运行。如果VPN连接断开,则其真实IP会暴露给任何版权执法人员,这些执法人员会跟踪他们正在下载的种子.

对于移动用户来说,这也是一个问题,因为在WiFi和移动网络之间切换以及切换移动网络可能会导致VPN丢失.

解决方案

1.使用终止开关

当VPN不起作用时,kill开关会阻止您的设备连接到Internet。几乎所有现代的杀伤交换机实际上都是防火墙或系统级防火墙规则,它们会阻止VPN接口外部的所有Internet连接.

因此,如果VPN软件出现故障或需要重新连接,则将阻止对Internet的所有访问。确实,相同的防火墙规则可提供有效的DNS泄漏保护,并有助于缓解WebRTC泄漏.

终止开关现在是台式机VPN客户端中非常普遍的功能,尽管在移动应用程序中很少见。但是,Android 7+包含一个内置的终止开关,可与任何已安装的VPN应用配合使用.

VPN应用程序可以使用自己的防火墙来创建终止开关(以及其他泄漏防护),也可以修改系统的内置防火墙。我们更喜欢后一种解决方案,因为即使应用程序完全崩溃,kill开关也能幸免。但是任何杀戮开关总比没有好.

使用防火墙规则构建自己的终止开关和DNS泄漏保护

如我们所见,许多VPN应用程序使用其自己的防火墙规则或修改系统防火墙规则来创建终止开关并防止DNS泄漏。您完全有可能手动执行相同的操作.

操作系统和防火墙程序的详细信息有所不同,但是基本原理是:

1.添加一个规则以阻止您的Internet连接上的所有传出和传入流量.

2.为您的VPN提供商的IP地址添加一个例外.

3.为您的TUN / Tap适配器添加一条规则(如果使用OpenVPN,或者使用其他任何VPN设备),以允许VPN隧道的所有传出流量.

我们有使用Windows Comodo Firewall进行此操作的详细指南。 Mac用户可以使用Little Snitch进行相同的操作,而Linux用户和在DD-WRT路由器上运行VPN客户端的用户可以使用iptables.

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me