分流隧道的局限性

分流隧道的限制

2021年9月2日 功能

你已经来到我们分流隧道系列的中途!在第三部分,我们将稍微技术性地检查我们的分流隧道实现的一些限制,以及如何解决它们。

让我们直接进入分流隧道解决方案所面临的限制,我们同时也会提到如何应对这些限制。

名称解析

由于大多数平台上的 DNS 配置和使用方式,即使是被选择排除流量的应用程序,请求仍会在隧道内发送。

让我们使用游戏场景来看看这可能引发的问题

假设你身处日本,并连接到位于加州的 VPN 伺服器。为了在玩你最喜欢的线上游戏时实现低延迟,你使用分流隧道将游戏流量排除在外,让其不必穿越海洋。

和许多线上游戏一样,你所玩的游戏伺服器遍布全球,并使用 DNS 来分配伺服器给玩家。因此,游戏会选择离你 VPN 位置最近的伺服器,在这个例子中是加州的伺服器。

分流隧道的局限性

因此,尽管你的游戏流量正在穿越隧道多亏了分流隧道,但它却发送到了遥远的伺服器,这意味著你无法感受到分流隧道本应提供的性能提升。

有两种方法可以减轻这个问题

在游戏客户端启用 DoH/DoTHTTPS 上的 DNS/TLS 上的 DNS,以覆盖 VPN 伺服器上的 DNS 劫持。这样 DNS 流量将被加密并在你和配置的 DNS 伺服器间传送。你可以尝试使用我们的 DoH/DoT 服务,但如果我们的 DNS 伺服器距离你较远,那么就无法获得任何收益。连接到附近的 VPN 伺服器。在这种情况下,游戏伺服器仍会根据 VPN 伺服器的位置来选择。但是,由于你和伺服器在同一区域,最终选择的应该是一个靠近你们的游戏伺服器。

竞争网络软体在 Windows 中

如果你有多个应用程序内核驱动在竞争管理新的网络连接,可能会导致分流隧道停止工作。你会发现一些分流的应用程序处于离线状态。

可能会与分流隧道功能发生冲突的软体范例包括代理软体、防火墙和类似的安全软体。有时候,冲突是由于配置重叠造成的;有时候,仅仅是同时安装这些应用程序也可能导致冲突。

如果以这种方式导致分流隧道停止运作,那么只会影响分流的逻辑。安全性仍然得到保证,防泄漏保护也依然有效。换句话说,所有无法分流并且要进入隧道的流量都会安全阻挡。这与我们检查的其他分流隧道实现方式形成了鲜明对比。

此问题只能通过调整已安装应用程序的配置或其内部设置来解决。

本地通讯在 Windows 中

此问题仅在 Windows 的分流隧道实现中存在,因为出现了一些完美的适合条件。

存在著客户端软体尝试连接到本地主机的问题。被排除的应用程序通常无法连接到本地服务的 UDP 套接字。如果被排除的应用需要与本地机器上的守护进程进行通讯,并使用网络套接字进行通讯,这可能会造成问题。例如,如果被排除的应用尝试使用在本地机器上运行的代理服务。

对于这个问题没有通用的解决方法。你需要根据具体情况逐一调整配置。

连接生命周期在 Linux 中

此问题仅存在于我们在 Linux 上的分流隧道实现中。

从被排除的应用程序建立的大多数连接都依赖于 VPN 隧道的生命周期。但如果目的地地址位于本地网络,则会有例外情况,也就是说,与局域网中设备的连接。

因此,每当你切换 VPN 伺服器或明确断开 VPN 隧道时,受影响的连接将会中断。

我该如何使用 Mullvad 的分流隧道功能?

此功能目前可在 Windows、Android 和 Linux 版本的 Mullvad VPN 应用中使用。

你可以在 设置 gt 高级 gt 分流隧道 中找到这个设置。针对不同平台的具体细节,可以参见我们的 分流隧道指南。

接下来

此文章是关于分流隧道的五部分系列文章中的第三部分,全部由一位 Mullvad 开发者撰写。敬请期待下一部分,将讨论 分流隧道与流量泄漏。

如果你错过了之前的文章,欢迎你随意浏览:

什么是分流隧道?分流隧道何时有用?分流隧道的限制本文分流隧道会泄漏流量吗?安全分流隧道的基础

为普世隐私权而奋斗,Mullvad VPN

蜜糖商店奈飞
给我们留言