跳到主要内容

搜索“WireGuard vs OpenVPN”,你会看到许多带着自信数字的图表,而这些数字多半是在别人的电脑、网络和服务器上测出来的,很难说明你自己会遇到什么情况。更有帮助的是弄清两种协议为何不同,以及怎样自己动手测试。

本文是更宽泛的 WireGuard 与 OpenVPN 概览 的姊妹篇。那一篇把两者全面并排比较,这一篇只围绕标题里的两个问题:速度与安全。我们看速度差距到底由什么造成,“更安全”对一个协议来说能意味着什么、不能意味着什么,以及一套公平比较的方法。内容只讲协议的一般原理,不涉及任何具体服务提供哪些协议。

先定义清楚“速度”和“安全”

人们对这两个词用得很随意,使比较失去意义。比较之前,先把它们各自拆开。

速度至少包含五个部分:

  1. 吞吐量,即大文件传输时的下载和上传速率。
  2. 延迟,每次往返的时间,对通话、游戏和远程桌面很重要。Cloudflare 关于延迟的文章解释了这个概念。
  3. 启动时间,从点击连接到能够承载流量所需的时间。
  4. 恢复时间,从 Wi-Fi 切换到移动数据,或从休眠唤醒后,隧道多快恢复。
  5. 电量与 CPU 开销,决定协议在手机或旧笔记本上用起来是否舒服。

安全至少包含五个部分:

  1. 密码学强度,底层算法是否经过充分研究、是否稳固。
  2. 攻击面,攻击者可以瞄准的代码量和选项有多少。
  3. 配置错误风险,有多容易落入弱配置。
  4. 历史记录,设计与代码被公开审查了多久。
  5. 隐私处理,周边系统会保存哪些关于谁连接过的信息,这和协议本身一样取决于运营方。

没有哪个协议在每一项上都胜出。有用的问题是:哪几项对你重要。

速度差距真正来自哪里

WireGuard 更快时,背后有具体原因。了解这些原因,你就知道差距何时会缩小到零。

  • 在系统中的位置。 在支持的平台上,WireGuard 被设计成存在于操作系统的网络代码内部。OpenVPN 则是普通程序,所以每个数据包要在内核和程序之间来回穿越。这种穿越需要时间,在高速链路或处理器较弱时最明显。
  • 短而固定的握手。 WireGuard 用几条消息的紧凑交换完成建立,OpenVPN 要进行更完整的 TLS 协商。这更多地体现在启动和重连时间上,而不是吞吐量上。
  • 固定的小型算法清单。 WireGuard 只使用设计者选定的一套现代算法,不花时间协商,也没有较慢的退路。OpenVPN 可以使用多种算法,实际用哪个取决于配置。
  • 空闲时的行为。 WireGuard 在没有数据要发时保持安静,这有利于省电,也让网络切换更快。文章 VPN 会耗电吗 讲了更全面的情况。
  • 多核利用。 各实现把工作分摊到多个处理器核心的能力不同。单个核心被占满,是用户空间隧道常见的限制。

接下来是差距可能消失的原因:

  • 你的宽带才是瓶颈。 在 50 Mbps 的连接上,两种协议都不是限制因素,几个百分点的差别淹没在正常波动里。
  • 服务器负载和距离占主导。 繁忙或遥远的服务器,造成的损害比任何协议选择都大。为什么用 VPN 后网速会变化 对此有讲解。
  • 设备对某种算法没有加速。 有些芯片加速 AES,另一些对 ChaCha20 处理得更好。结果取决于硬件,而不是协议的品牌。
  • Wi-Fi 质量。 信号弱或信道拥挤造成的丢包和抖动,会盖过协议之间的差别。

简而言之,差距在高速连接、移动设备和切换网络时最大,在慢速线路和拥挤的 Wi-Fi 上最小。

“更安全”能意味着什么,不能意味着什么

关于协议安全性的说法很容易被过度简化。下面是设计上的真实差别。

攻击面

WireGuard 的作者把它描述为小型代码库,小到一个人就能读完并审查,白皮书解释了其设计。代码越少,漏洞藏身的地方越少,审查也更便宜。OpenVPN 是个更大的项目,部分原因是它支持许多选项,并依赖单独的 TLS 库。更大的攻击面本身不是缺陷,但意味着要维护更多需要打补丁的内容。

可能配错的选择更少

使用 OpenVPN 时,配置可能选了陈旧的加密算法、跳过证书校验,或者启用了会削弱隧道的功能。WireGuard 去掉了其中大部分决定:只有一套算法,没有什么要协商。这让它更难被配置得很糟。另一面是僵硬:如果某个算法被发现有弱点,WireGuard 的做法是发布协议的新版本,而不是切换一个设置,运营方和客户端需要一起升级。

历史记录

OpenVPN 已经部署了很长时间,使用量很大,其缺陷多年来在公开场合被发现并修复,管理员也很熟悉它的脾性。WireGuard 较新,但已经过审查,其密码学设计也被研究人员分析过。这两点都不意味着“牢不可破”,只是说明曾经有更多的眼睛看过。

身份与密钥处理

OpenVPN 通常用证书认证,往往还配合用户名和密码。WireGuard 用公钥标识每台设备,服务器必须事先知道每个客户端的密钥。这种模型简单而稳固,但也意味着服务器会保存一份密钥清单,以及分配给每个客户端的内部地址。服务如何处理这份清单,比如地址是动态分配还是按用户固定,是运营方的决定,会影响隐私。这是该向服务商询问的问题,不是协议固有的属性。

两种协议都不决定的事

两种协议都对你的设备与服务器之间的流量加密。至于运营方记录什么、服务器归谁所有、收到法律请求时怎么办、DNS 查询是否漏到隧道之外,它们都不负责。这些取决于信任与配置,详见 VPN 服务商能看到你的什么信息。再强的协议用在疏忽的服务上,仍然是疏忽的服务。

自己动手做一次公平测试

你不必轻信任何人的图表。这个测试大约三十分钟,需要一个测速网站或应用,以及一个允许在两种协议间切换的 VPN 应用。如果你的应用只提供一种,就无法比较,也不要靠猜,直接用默认设置。这个流程用来测量你自己的连接,所以请把得到的数字视为仅属于该环境。

  1. 固定条件。 每次测试都用同一台设备、同一个网络、同一个服务器位置。关闭其他设备上的大型下载和视频流。
  2. 关闭 VPN,测量基线。 每隔一分钟跑一次测速,共三次。每次记录下载、上传和延迟。
  3. 用第一种协议开启 VPN。 等它显示已连接后,用同样的测试再跑三次。
  4. 换第二种协议重复。 完全断开,修改设置,重新连接,再测三次。
  5. 给连接计时。 用秒表测量从点击连接到网页加载出来的时间,每种协议三次。
  6. 测试网络切换。 在 VPN 已连接时关闭 Wi-Fi,让手机回退到移动数据,数一数多少秒后网页重新能打开。每种协议做三次。
  7. 在一天中的另一个时间重复。 服务器负载全天都在变化,早晨或晚上的第二轮测试,能看出第一次的结果是不是偶然。
  8. 如果可以,记录耗电情况。 在手机上,记下每种协议正常使用一小时前后的电量百分比和亮屏时间。

用虚构数字演示的例子

以下数字是编出来用于说明如何解读结果的,并不是任何服务的实测值。

测试项(3 次平均) 关闭 VPN 协议 A 协议 B
下载(Mbps) 92 78 71
上传(Mbps) 41 35 33
延迟(ms) 14 32 36
连接耗时(秒) 无 2 6
Wi-Fi 断开后恢复(秒) 无 3 9

怎么读:与不用 VPN 相比,两种协议都损失了速度,这是正常的,因为流量走了更远的路径并被加密。协议 A 的下载比协议 B 高约 9%,这是真实的,但很小,重复测试时可能缩小甚至反转。大得多的差距在启动和恢复时间上,这对一整天在 Wi-Fi 和移动数据间切换的人影响最大。对一个坐在固定位置、只启动一次 VPN 的人来说,这个差别几乎不算什么。

怎样合理解读结果

  • 忽略很小的差距。 测速结果每次自然波动几个百分点。除非持续重复出现,否则把低于约 10% 的差别视为平手。
  • 看多次测试中的规律。 总是重连更快的协议,是真实的发现;只赢了一次下载测试的协议,只是噪声。
  • 既和对方比,也和基线比。 如果关闭 VPN 时的数字本来就低,问题出在底层连接。帮助指南 为什么我的 VPN 很慢 会逐一梳理常见原因。
  • 留意稳定性。 稍慢但从不掉线的协议,用起来可能比更快却时断时续的更舒服。
  • 测你真正会做的事。 如果你主要打视频电话,延迟和抖动比下载峰值更重要;如果你下载大文件,吞吐量最重要。
  • 更新后重新测。 应用和服务器都会变,去年的结果可能不再成立。
  • 同时做泄漏和断线保护检查。 快但会泄漏的隧道不是好隧道。如何测试 VPN 把泄漏、速度和断线保护的测试放在了一起。

哪种情况适合哪种选择

这些是倾向,不是规则,并假定你的应用两种都提供。

情境 倾向于 原因
在 Wi-Fi 与移动数据之间频繁切换的手机 WireGuard 启动与恢复快,省电
家里是高速光纤,笔记本性能够用 WireGuard 高速链路上较低的开销最有价值
慢速的共享 Wi-Fi 都可以 限制来自网络,而不是协议
某个网络上一种协议连不上 另一种 兼容性比偏好重要
需要非常特定的配置选项 OpenVPN 可调项更多,工具链久经使用
较旧的设备或路由器不支持 WireGuard OpenVPN 有什么可用就用什么
希望可能出错的设置越少越好 WireGuard 算法固定,几乎没什么可配错

当应用有合理的默认值时,就用默认值。默认值通常是因为能在最广泛的设备和网络上正常工作才被选中的。

局限与注意事项

  • 协议选择只是影响速度的因素之一。服务器负载、距离、设备和网络往往更重要。
  • 协议无法让一个不可信的服务变得可信。运营方仍然掌握哪些信息,请看 VPN 服务商能看到你的什么信息。
  • 不是你自己跑的、或没有说明测试方法的跑分,都是营销。要问清楚是谁测的、用什么硬件、测了几次。
  • 抗量子保护是另一个话题,关乎密钥交换,而不是这两个名称之间的选择,可参阅 后量子 VPN 加密。
  • 有些网络会阻断或限制特定类型的流量。如果某种协议在某个网络上连不上,请询问网络所有者,或改用其他连接。
  • 本文属于一般性科普,不涉及任何服务的协议支持、速度或安全性。

小结

WireGuard 在启动、重连和高速链路上往往更快,因为它精简、靠近操作系统运行,并使用固定的现代加密组合。OpenVPN 历史更长、更灵活,代价是代码更多、可能配错的设置更多。两者都不决定运营方记录什么,所以协议选择只是若干因素之一。要确定速度对你来说意味着什么,最可靠的办法是可重复的测试:条件一致、多次运行、看平均值,并且不仅关注原始下载速度,也关注启动和恢复时间。

如果你想要一张可以先在自己网络上试用、再决定是否依赖的通行证,价格页面 介绍了各选项的运作方式。

常见问题

WireGuard 真的比 OpenVPN 快吗?

通常是的,因为它更精简,运行在靠近操作系统网络核心的位置,并使用固定而高效的加密组合。但快多少取决于你的设备、服务器、距离和网络,在较慢的家庭宽带上,差别可能小到感觉不出来。

WireGuard 比 OpenVPN 更安全吗?

两者设计思路不同,并不是其中一个简单地更安全。WireGuard 代码更少,可能配错的选项也更少;OpenVPN 历史更长,也更灵活。两者都依赖研究充分的密码学,谨慎的配置比名称更重要。

怎样在自己的网络上公平地比较它们?

在同一网络、同一服务器、一天中同一时段,每次只改变一个变量,每项测试重复多次,比较平均值而不是单次结果。记录下载、上传、延迟,以及连接建立所需的时间。

为什么 WireGuard 连接得这么快?

它的握手短而固定,空闲时几乎不保留连接状态,所以暂停或切换网络后能很快恢复。OpenVPN 在开始时要协商更多内容,耗时更长。

本文会说明 XPASS 支持哪些协议吗?

不会。本文只对这两种协议做一般性比较。你的通行证可用的连接方式列在 My Pass 页面。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

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

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

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

查看通行证

继续阅读

VPN 安全

WireGuard 与 OpenVPN 有什么区别

WireGuard 和 OpenVPN 都能建立加密隧道,但设计、复杂度和灵活性不同。本文用通俗的方式比较,并说明该怎样选择。

阅读约 9 分钟

VPN 基础

什么是 VPN 协议?

VPN 协议规定了你的设备与 VPN 服务器如何连接并保护流量。本文用通俗的语言讲清楚它的含义和主要取舍。

阅读约 9 分钟

VPN 基础

为什么使用 VPN 后网速会变化

使用 VPN 会给网络路径增加距离、加密和另一段网络,所以速度常常会变化。本文解释原因、正确的测量方法,以及感觉变慢时可以尝试的做法。

阅读约 9 分钟

VPN 安全

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

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

阅读约 9 分钟

故障排除

VPN 为什么很慢?如何让它变快

VPN 变慢时的实用排查清单:先测速,再排除自己网络的问题,然后逐步处理 Wi-Fi、后台应用、设备设置和视频卡顿。

阅读约 7 分钟