跳到主要内容

大多数打开 VPN 断网保护(Kill Switch)的人,从来没有确认过它是否真的有效。这个设置就放在应用里,打着一个勾,于是大家都以为问题解决了。而隧道真正掉线的那一刻,往往恰好是糟糕的时机:火车进了隧道、酒店 Wi-Fi 抽风、笔记本刚刚唤醒。如果这时断网保护没有尽职,你的设备就会悄悄改走普通连接,所有依赖 VPN 的应用瞬间暴露。

本文教你如何做一次可信的 VPN Kill Switch 测试:搭一个小小的测试环境,做五个刻意制造故障的演练,用秒数衡量任何空档,并知道结果出来后该怎么办。如果想先了解背景,请读什么是 VPN Kill Switch;本文是它的动手篇。

Kill Switch 测试必须证明什么

Kill Switch 只有一个任务:无论出于什么原因,只要加密隧道消失,就阻断普通互联网流量,而不是让它裸奔。因此一次合格的测试要分别证明三件事。

  1. 对各种故障都有反应。 礼貌地关闭应用,与应用崩溃、Wi-Fi 掉线或电脑休眠,是完全不同的情况。
  2. 反应足够快。 几秒钟的延迟,足以让聊天应用、后台同步和浏览器标签页发出数据。
  3. 允许你恢复。 隧道回来后,流量应当无需手动处理就能恢复,至少应有清楚的提示。

注意,这个测试并不试图证明世界上每个数据包都受到保护,也不证明 VPN 在其他方面十全十美。它只检验一张安全网。其他检查,例如 IP 地址泄漏测试,覆盖的是别的漏洞。

还要知道,“Kill Switch”并不是单一技术。有的应用用防火墙规则实现,阻断除 VPN 服务器之外的所有流量;有的依赖系统功能,阻止不经 VPN 的连接;还有的只监视隧道,并关闭指定的程序。三者在下面的演练里表现各不相同,这正是需要测试的原因。

三种 Kill Switch 及其区别

类型 工作方式 优点 需要测试的弱点
系统级阻断 操作系统拒绝 VPN 之外的连接 应用崩溃后依然有效 需要在系统设置里开启,而不只是应用里
基于防火墙规则 VPN 应用添加规则,阻断除 VPN 流量外的一切 覆盖设备上所有应用 崩溃后规则可能残留,直到清除前一直断网
应用级监视 应用盯着隧道,并关闭指定程序 温和,针对特定应用 应用自身崩溃时失效,只覆盖你列出的程序

知道你的应用属于哪一类,就知道哪个演练最重要。Android 关于 VPN 设置的帮助页面和微软的 Windows VPN 文档,都描述了这幅图景中系统级的部分。请查阅应用自己的帮助,看它采取哪种方式,并注意不同版本措辞可能不同。

五分钟搭好测试环境

你需要三样能让故障“看得见”的工具。

  • 持续 ping。 打开终端或命令提示符,对一个众所周知的公网地址开始持续 ping。每一条回复都是流量仍在流动的证据。Windows 上用 ping -t 1.1.1.1;macOS 和 Linux 上用 ping 1.1.1.1。让它在看得见的窗口里一直运行。
  • 浏览器标签页中的 IP 检测页面,随时可以刷新。连接 VPN 之前,记下它显示的地址,这是你的基准,做法同 IP 泄漏那篇文章。
  • 秒表,用手机上的时钟就行,用来给各个事件计时。

手机上没有终端,可以用 IP 检测页面,再配合流媒体视频或语音通话来观察流量何时停止。

然后连接 VPN。确认 ping 有回复,并且 IP 页面显示的地址与基准不同。这就是“健康”状态。下面每个演练都从这里开始,并以重新连接、回到此状态结束,再做下一个。

有两条规则能保证测试诚实。第一,一次只做一个演练。第二,边做边把发生的事记进一个简单的表里;屏幕沉默十秒钟之后,记忆是不可靠的。

五个故障演练

请按这个顺序做,每个演练都从健康状态开始。

演练一:关闭网络

这是最常见的真实故障:Wi-Fi 掉线,或手机失去信号。

  1. 从健康状态开始,关闭 Wi-Fi,或者把路由器断电十秒。
  2. 观察 ping 窗口。它应当停止回复(这是正常的,因为完全没有连接)。
  3. 重新打开 Wi-Fi,并盯紧。设备现在又有了连接,但 VPN 还没重建隧道。
  4. 在最初那几秒里,ping 应当仍然失败或超时。如果在 VPN 重连之前就有回复,并且 IP 页面显示你的基准地址,说明 Kill Switch 没通过这一项。
  5. VPN 重连后,确认回复恢复,IP 页面再次显示 VPN 地址。

有意思的时刻就是第 4 步:从“网络回来了”到“隧道回来了”之间的那几秒,那就是泄漏窗口。用秒表计时:Wi-Fi 重连时开始,VPN 报告已连接时停止。

演练二:突然结束 VPN 进程

应用可能崩溃、被系统为省内存而杀掉,或者卡死。只礼貌关闭应用的测试会漏掉这种情况。

  1. 从健康状态开始,打开系统的任务管理器或活动监视器。
  2. 强制退出 VPN 应用或其后台进程,不要用正常的断开按钮。
  3. 观察 ping,并刷新 IP 页面。

预期结果因 Kill Switch 类型而异。系统级阻断应当在应用消失后依然阻断流量;基于防火墙规则的方式也应当阻断,不过有些会把规则留着,你可能需要重新打开应用才能恢复访问;应用级监视在这里常常失效,因为监视器跟着应用一起死了。无论发生什么,都记下来。如果 ping 回复持续,且 IP 页面显示你的基准地址,你就发现了真实的缺口。

之后重启 VPN 应用,确认网络恢复。残留阻断而没有应用来解除,是一个值得记录的可用性问题;解除方法见 Kill Switch 后无法上网。

演练三:休眠与唤醒

笔记本和手机一直在休眠,而且网络往往比 VPN 先醒来。

  1. 从健康状态开始,让设备休眠至少一分钟。
  2. 唤醒后立刻查看 ping 窗口和 IP 页面,不要等。
  3. 记录唤醒后第一次成功的 ping 回复,以及那一刻 VPN 是否已连接。

手机上,把屏幕锁定几分钟,后台留一个暂停的视频,然后解锁,看应用有没有掉线。笔记本上,合上盖子再打开,效果相同。如果唤醒后第一个回复来自你的基准地址,说明 Kill Switch 存在唤醒空档。这是常见的薄弱点,值得给服务商发一条反馈。

演练四:从 Wi-Fi 切换到移动数据

切换网络与失去网络不同。设备一直保持着连接,只是路径变了。

  1. 从 Wi-Fi 上的健康状态开始,打开移动数据,再关闭 Wi-Fi;或者边走边走出接入点的覆盖范围。
  2. 全程观察 ping 和 IP 页面,而不只是最后看一眼。
  3. 反过来做一遍:从移动数据加入 Wi-Fi 网络。

好的 Kill Switch 会在切换期间扣住流量,然后在隧道里继续;弱的则会让流量在短暂的时间里经新网络直接发出。对于在咖啡馆 Wi-Fi、火车和街头信号之间移动的旅行者,这是最接近现实的测试之一;日常设置见在公共 Wi-Fi 上连接 VPN。

演练五:阻断 VPN 服务器

这个演练模拟服务器不再响应,或网络阻断了隧道。

  1. 从健康状态开始,想办法切断与 VPN 服务器的连接,但不切断整个网络。在电脑上,用临时防火墙规则阻止 VPN 应用是一种方法;在手机上,可以换到已知会阻止 VPN 的网络。
  2. 观察 ping 窗口和应用状态。
  3. 看应用是否自行重连,期间是否持续阻断,是否告诉你发生了什么。

如果应用在重连失败期间让你的普通连接保持开放,说明在这种情况下 Kill Switch 没有保护你;如果它先阻断,再给出清楚的提示,说明这个功能在尽职。演练结束后,务必移除所有临时阻断。

解读结果

为每台设备填一张这样的表,并相互比较。

演练 空档期间流量是否被阻断 空档长度 是否自动恢复
1. 网络关闭再打开 是 / 否 秒 是 / 否
2. 强制退出应用 是 / 否 秒 是否需要重启应用
3. 休眠与唤醒 是 / 否 秒 是 / 否
4. Wi-Fi 切换到移动数据 是 / 否 秒 是 / 否
5. 服务器被阻断 是 / 否 秒 是 / 否

如何解读:

  • 全部为“是”,恢复很快: Kill Switch 在这台设备上按预期工作。
  • 一两项为“否”: 该功能只在某些条件下有效。要判断失败的条件是否与你实际使用设备的方式相符。经常换网络的咖啡馆用户关心演练四,坐在办公桌前的人则最关心演练三。
  • 大多数为“否”: 就当它不存在,不要用它保护任何敏感事务。

还要记录你的 Kill Switch 是阻断型(真正停止流量),还是仅通知型(只显示警告)。警告好过沉默,但它不是阻断。

各平台说明

各系统行为并不相同,请把以下内容当作检查提示,而不是保证。

  • Windows: 许多应用用防火墙规则实现这个功能,因此安全软件和其他防火墙可能干扰。平台细节见 Windows Kill Switch 指南。
  • macOS: Kill Switch 通常在应用内部或通过系统防火墙规则实现。每次大版本系统更新后都要重测。
  • Android: 系统提供“始终开启 VPN”设置,可阻止不经 VPN 的连接。如果你的应用支持,这是该平台上最强的保护。说明见 Android 始终开启的 VPN。
  • iPhone 和 iPad: 个人设备上,用来阻止 VPN 之外流量的系统工具比较有限,所以各应用不一。请测试手机上可行的演练:Wi-Fi 切换到移动数据、飞行模式,以及锁屏解锁。
  • 路由器: 在路由器上配置的 VPN 需要自己的规则,通常是隧道断开时阻止转发的防火墙设置。测试方法是断开隧道,然后观察路由器后面的设备。

对于 XPASS 客户使用的免费 VPNclient 应用,请查看应用的设置和帮助,了解它在你的平台上提供哪些保护,不要假设有没列出的功能;下载页面附有官方版本的链接。

某个演练没通过怎么办

  1. 更新应用和操作系统,然后重做没通过的演练。
  2. 开启所有相关设置,包括系统级选项(如 Android 的阻止设置)和应用内单独的 Kill Switch 开关。
  3. 重启后再做一次,因为规则有时要重启才生效。
  4. 排查冲突: 其他安全软件、其他 VPN 以及路由器防火墙。
  5. 联系支持,说明具体演练、设备、系统版本、应用版本和你测得的空档。恢复方面见VPN 断开时如何重新连接。
  6. 用习惯弥补,直到问题解决:在不稳定的网络上避免敏感操作,并在已知的风险时刻(例如网络切换)之前先关闭重要应用。

局限与常见错误

  • 只测试礼貌的断开。 应用里的按钮是最容易的情形。真正的故障是崩溃、休眠和网络切换。
  • 凭感觉判断。 页面能加载会让人觉得是证据。请改用 ping 和 IP 页面来测量。
  • 忘记移除测试用的阻断。 残留的防火墙规则以后会造成“无法上网”的问题。
  • 以为通过一次就永远有效。 更新可能改变行为。大版本更新后要重测。
  • 指望 Kill Switch 解决一切。 它不能防止钓鱼、恶意软件或账号被盗,见 VPN 无法保护你的方面。
  • 只在一台设备上测试。 手机和笔记本是两种不同的情形。

小结

Kill Switch 测试,就是刻意切断隧道,然后看流量是否停止。用持续 ping、IP 页面和秒表搭一个简单的测试环境,再做五个演练:网络关闭再打开、应用突然退出、休眠与唤醒、Wi-Fi 切换到移动数据,以及服务器被阻断。记录流量是否被阻断、空档持续多久、是否自动恢复,然后在每台设备上以及更新之后重复。

如果你想要一个预付费的 VPN 套餐来做这些演练,可以在价格页面看到不会自动续费的各个选项。

常见问题

怎么判断 VPN 的 Kill Switch 真的有效?

在隧道被故意切断时,观察能暴露你地址的东西,比如对公网地址持续 ping,再加一个 IP 检测页面。有效的 Kill Switch 会在隧道掉线的瞬间阻断流量。如果页面仍能加载并显示你平时的地址,就说明失效。

Kill Switch 触发后完全断网正常吗?

正常。这正是预期行为:宁可阻断流量,也不让它在没有保护的情况下继续跑。重新连接 VPN,或关闭 Kill Switch,就能恢复平常的网络。

每台设备都要测试 Kill Switch 吗?

最好都测。这个功能在不同操作系统上实现方式不同,不同应用版本之间有时也不同,笔记本上通过并不代表手机也通过。

多长的空档才算可以接受?

理想情况是没有。实际测试中可能出现不到一秒的空档,但只要有任何一段时间里你的真实地址到达了网站或应用,就算泄漏。如果能量出整整几秒的空档,应当向服务商反馈。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

  • XPASS VPN 创始人
  • eSIMonline.asia 联合创始人
  • 7 年以上网络营销经验
  • Cojourney Visa 与 Cojourney Travel 创始人

短途出行或忙碌的一个月,需要 VPN?

XPASS 提供按天数计算的预付通行证。一次付款,不会自动续费。

查看通行证

继续阅读

VPN 安全

什么是 VPN 断网保护(Kill Switch)?

Kill Switch 能防止 VPN 断开时设备悄悄改用不受保护的连接。本文介绍它的原理,以及如何检查它是否有效。

阅读约 12 分钟

故障排除

VPN 断网开关触发后没网怎么办

Kill Switch 切断网络是在履行职责,但不该让你束手无策。本文讲如何恢复上网、找出触发原因,并减少重复断网。

阅读约 8 分钟

VPN 安全

如何自己评测 VPN:一份测试清单

许多 VPN 评测是为赚取佣金而写的。这份清单教你自己测试任何 VPN:哪些能验证,哪些不能,以及如何给结果打分。

阅读约 9 分钟

故障排除

VPN 断开时如何重新连接

VPN 连接偶尔会断开。这里是一套冷静、有序的做法,帮你安全地重新上线并找出原因。

阅读约 7 分钟

设备指南

Android 的始终开启 VPN(Always-on)详解

Android 始终开启 VPN 能让 VPN 从开机起自动连接,并在断开时阻止流量。本文讲清它的原理、设置位置和需要预期的副作用。

阅读约 9 分钟