WireGuard 对比 OpenVPN
更新于 2026年9月21日 · 我们如何研究
WireGuard 和 OpenVPN 用截然相反的思路解决同一个问题。WireGuard 小巧、取向明确、速度快。OpenVPN 体量大、可配置性强、支持面极广。两者都是靠谱的选择,只是失效的方式不同。
架构
下面这些实际取舍,都源自设计上的差异。
| 代码规模 | 参考实现大约 4,000 行代码 | 数万行代码,另外还依赖 OpenSSL |
|---|---|---|
| 加密算法的选择 | 固定:ChaCha20-Poly1305、Curve25519、BLAKE2s | 协商决定:AES-128/256-GCM、ChaCha20-Poly1305 等 |
| 传输方式 | 仅 UDP | UDP 或 TCP |
| 握手 | 一次往返 | 完整的 TLS 协商 |
| 运行在 | 内核模块,或者高效的用户态实现 | 用户态 |
| 漫游 | 端点地址可以在不重新握手的情况下改变 | 通常需要重新连接 |
这在实际中意味着什么
速度与耗电
WireGuard 的加密套件小而固定,又在内核层实现,因此每个数据包的处理更轻,重连也更快。在手机上,这表现为更长的续航和几乎瞬时的唤醒。ChaCha20 在没有 AES 硬件加速的处理器上同样很快,很多较老的移动芯片都属于这种情况。我们没有做过自己的吞吐量测试,因此不发布速度数据。
穿越防火墙
这是 OpenVPN 明显的优势。WireGuard 只支持 UDP,所以只要网络丢弃 UDP,它就被彻底挡住。OpenVPN 可以跑在 443 端口的 TCP 上,在那里很难把它和普通 HTTPS 区分开。如果你经常出差,或者要用受限的企业、酒店网络,这一点比单纯的吞吐量更重要。
隐私设计
WireGuard 会维护一张对端表,记录每个密钥最近使用的端点地址。在个人服务器上这没什么特别。但在商业服务里,这意味着服务商必须再加一层地址管理,免得用户的 IP 在内存里停留得比必要更久。不要想当然,去问服务商是怎么处理的;另见日志解读。
该选哪一个
- 在任何允许 UDP 的网络上,默认使用 WireGuard。
- 当 UDP 被封锁或连接不稳定时,使用 OpenVPN TCP。
- 如果路由器固件不支持 WireGuard,就使用 OpenVPN UDP。
据 ZoogVPN 所述
ZoogVPN 的帮助中心在 Windows、macOS、iOS、Android、Linux 和路由器上都列出了 WireGuard 与 OpenVPN(UDP 和 TCP),所以在两者之间切换不需要更换服务商。
ZoogVPN 在所有主流平台上都支持 WireGuard、OpenVPN UDP 和 OpenVPN TCP,另外还有 IKEv2/IPsec 以及两种面向受限网络的自有传输方式。
$2.49/月+ 3 个月免费
2 年套餐
设备数不限30 天保证
联盟链接 — 我们可能获得佣金,你无需为此额外付费。请参阅联盟披露。所示价格为 VPN Sherlock 发布时的数据;购买前请在结算页确认当前条款。