如何测试 VPN

更新于 2026年9月21日 · 我们如何研究

要检查一家 VPN 有没有尽到本分,并不需要什么专业工具。这些检查大约十五分钟就能做完,而每次改动设置后都重做一遍,是这个领域里最有价值的习惯。

先记录一组基准数据

连接之前,先记下你的真实 IP 地址、ISP 名称、DNS 解析服务器,以及空载时的一次测速。没有基准数据,你就无法判断到底有没有变化。

1. 地址与 DNS

  1. 连接到另一个国家的服务器。
  2. 检查你的公网 IP 地址。它必须是 VPN 的地址,而不是你自己的。
  3. 做一次 DNS 泄漏测试。列出来的每一个解析服务器都应当属于 VPN。
  4. 检查有没有 IPv6 地址。要么一个都不出现,要么出现的是 VPN 的地址。
  5. 在你用的每一个浏览器里都做一次 WebRTC 检查;不同浏览器的结果并不一样。

2. 终止开关

  1. 向一个公网地址持续 ping,这样你能看到流量是否还在走。
  2. 不要正常断开,而是在任务管理器里强制结束 VPN 客户端进程。
  3. ping 必须立刻失败。如果还有回应,说明终止开关并没有在保护你。
  4. 再用禁用网卡的方式重做一遍,并在休眠与唤醒之后再测一次。

3. 协议对比

  1. 选定一台服务器,测试期间不要更换。
  2. 先用 WireGuard 测,再测 OpenVPN UDP,最后测 OpenVPN TCP。
  3. 每项测量做三次并取中位数,因为单次测量的波动很大。
  4. 在一天中网络繁忙的时段再测一次。拥堵对排名的影响,比协议本身还要大。

4. 重连时的表现

  1. 在手机上从 Wi-Fi 切到移动网络,看隧道能否撑住。
  2. 在应用里切换服务器,留意切换过程中保护是否出现空档。
  3. 开启自启动后重启,检查在隧道建立之前有没有什么流量跑出去。

如实记录结果

这也是我们要求自己达到的标准。凡是没有做过的测试,我们就直说没做,而不是给出一个数字。

记录为什么这很重要
日期与时间网络状况会变;没有日期的结果算不上结果
服务器位置与协议没有这些信息,这个数字就无法被重现
你的基准数据没有对照的速度数字说明不了任何问题
测试次数与中位数单次测量会被噪声主导
你没有测试的部分任何测试记录里最诚实的部分

本站为什么没有速度对比图

可重复的吞吐量测试需要受控的环境、多次重复和有文档记载的步骤。我们没有做过这样的测试,因此不发布速度数据、评分,也不发布由此推导出来的排名。上面的方法能让你测自己的线路,这比别人在另一个大洲测出来的数字更有用。

每项检查对应的独立工具

这些都不是我们的,也都不是联盟链接。它们是上述检查通常会用到的公开工具,这样你可以自己复现本页的任何结果,而不必只凭信任。

独立的测试工具,按它们能回答什么问题分组。

你要检查什么工具它能告诉你什么
DNS 泄漏dnsleaktest.com是哪些解析服务器回应了你的查询。请运行扩展测试:标准测试可能漏掉只在负载下才出现的解析服务器。
DNS 解析服务器详情BrowserLeaks DNS解析服务器的归属方和位置 —— 这才是判断它属于 VPN 还是属于你的 ISP 的依据。
WebRTC 泄漏BrowserLeaks WebRTC浏览器是否通过 WebRTC 暴露了本地或公网地址。请在你用的每个浏览器里都测一遍 —— 各家结果并不一样。
公网 IP 与地理位置BrowserLeaks IP网站实际看到的地址,IPv4 和 IPv6 的结果分开显示。
IPv6 与 BT 地址ipleak.net两套协议栈在同一个页面上,另外还有 BT 地址检查,显示你的 BitTorrent 客户端公告的 IP —— 而不是浏览器用的那个。
吞吐量与延迟Speedtest by Ookla对你自己挑选的服务器测下载、上传和 ping,因此路由是已知的。取多次测量的中位数。
面向流媒体的吞吐量Fast.com由 Netflix 提供的测试,除了空闲延迟还会报告加载时延迟 —— 预测卡顿的正是后面这个数字。
协议本应做什么WireGuard协议自身的规范和论文,用来把厂商的说法与设计本身对照,而不是与营销文案对照。
OpenVPN 的行为OpenVPNUDP 和 TCP 两种传输方式的官方文档,包括对终止开关很重要的重连行为。
自己验证隧道Wireshark抓包工具,用来确认流量确实是从隧道网卡出去的,没有任何东西绕过它。

常见问题

我怎么知道我的 VPN 真的在起作用?
要检查三件事,而不是一件。你的公网地址应该已经改变;显示出来的每一个 DNS 解析服务器都应属于 VPN 而不是你的 ISP;并且看不到任何来自你自己线路的 IPv6 地址。仅仅是 IP 变了,是这三者中最弱的一条,因为 DNS 和 IPv6 会独立于它泄漏,而正是这两者会悄悄让其余的努力失效。
我该怎么测试终止开关?
先对一个你自己控制的地址发起持续 ping,然后在任务管理器里结束 VPN 客户端进程,而不是通过界面正常断开。ping 应当立刻失败。正常断开测的是顺利路径,而终止开关并不是为那种情况存在的;结束进程才是对崩溃的复现。
我测出来的速度为什么波动这么大?
服务器负载、时段、路由和你自己的本地网络在每次测试之间都会变化,其中任何一项都可能比 VPN 更能左右结果。固定服务器,至少测三次,取中位数而不是最好的一次,并在繁忙时段再测一遍。单次读数描述的是一个瞬间,而不是一条连接。
我应该多久重新测一次?
在任何会改变路径的事情之后:客户端更新、系统更新、换了服务器或换了网络。泄漏集中出现在重连和配置变更前后,而不是凭空发生,所以真正值得测试的时机就是某样东西刚变动之后。
大多数指南忽略了什么,而我应该去测?
切换的那一刻。大多数检查都是在隧道已连接且闲置时做的,而那正是最不容易出问题的状态。强制重连一次、让机器休眠再唤醒、在 Wi-Fi 和移动数据之间切换,然后看那几秒钟里发生了什么 —— 泄漏真正发生的地方就在那里。