返回

写给正在三者之间做选择的人,也写给惯用协议在酒店、办公室或校园网里突然不工作的人。

WireGuard、OpenVPN 与 VLESS 对比

该用哪种协议、什么时候切换,以及为什么正确答案取决于你所在的网络,而不是你从哪家买的。

加密货币
  • WireGuard:最快、最轻、最容易被封,只走 UDP
  • OpenVPN:更慢更重,但能跑在 TCP 443 上,穿过 WireGuard 过不去的网络
  • VLESS:为看起来像普通 HTTPS 而生,需要第三方客户端,路由器上少见
  • 默认 WireGuard,UDP 被限的地方用 TCP 443 的 OpenVPN,两者都被封时用 VLESS
  • 隧道显示启用但接收字节为零,说明是 UDP 被封,不是服务器不好
  • 一个账户同时带三种协议,切换零成本,也不需要再买一次
无需账户配置在订单页面

先说结论,只想要这个的话看到这里就够了:默认用 WireGuard。网络封锁或限速 UDP 时,改用 443 端口上的 TCP 版 OpenVPN,酒店、办公室和校园网通常就是这么做的。两者都被封时用 VLESS,因为它就是为了看起来像普通网页流量而设计的。

完整版之所以重要,是因为这三者并不是在比谁质量更好。它们针对的是不同的问题。WireGuard 为速度与简洁而优化,OpenVPN 为兼容难缠的网络而优化,VLESS 为熬过流量检测而优化。只提供其中一种的服务商,等于替你提前决定了你被允许遇到哪一类问题。

下面的内容适用于任何服务商,不只是我们。我们自己的立场放在最后:三种协议的配置都在同一个账户里给你,而理由是一整节,不是一句口号。

这三者到底是什么

WireGuard 是一条现代隧道,在多数系统上位于内核之中。它大约四千行代码,使用一套固定的现代密码学、不做任何协商,并且只跑在 UDP 上。没有登录、没有会话建立、没有加密套件选择:客户端发出一个加密包,对端要么回应,要么不回应。

OpenVPN 更老、更庞大,也几乎可以无限配置。它能跑在 UDP 或 TCP 上、任意端口上,支持很多种加密算法,开头还能带一次完整的 TLS 握手。正是这种可配置性让它能穿过 WireGuard 过不去的网络,同时也让它更慢更重。

VLESS 在同样的意义上根本不算 VPN 隧道。它是 Xray 家族里的轻量代理传输,承载的是数据流而不是路由数据包,本身没有加密,底层依赖 TLS。它存在的目的就是与普通 HTTPS 无法区分。如果想看对这个协议的正经解释,/what-is-vless/ 在不推销任何东西的情况下讲清楚了。

速度、延迟与耗电

WireGuard 在这三项上都赢,而且差距不小。因为它体量小、位于内核、不协商任何东西,所以增加的延迟极低,在像样的硬件上能跑到接近你未加密线路的速度。在手机上它对电池也最友好:没东西要发时它就保持安静,也不维持一个话多的会话。

UDP 上的 OpenVPN 速度尚可,但明显更重:每个包的处理更多,因为运行在用户态而有更多上下文切换,开头的 TLS 握手也让连接建立更久。TCP 上的 OpenVPN 是慢的那一个,原因是结构性的。在 TCP 里再跑 TCP,意味着两层重传与拥塞控制互相打架,用来浏览没问题,在丢包链路上做大文件传输就很难受。

VLESS 处在中间,且高度依赖链路。协议开销极小,但套 CDN 的连接不是直连:你的流量先到 CDN 边缘再被转发,这一跳会体现为延迟。作为交换,CDN 边缘的连通性往往比直连线路更好,所以在直连路由糟糕的地区,实际效果可能比预期更快。

关于速度宣传的一句实话:在好网络上,三者通常都足够快,快慢并不决定什么。真正起决定作用的是网络糟糕的时候,而那时故障表现比跑分更重要。

抗审查能力,以及各自是怎么被发现的

WireGuard 是三者中最容易被识别和封锁的。它的握手在最初几个字节里有固定且有充分文档的形态,而且只跑 UDP,因此网络可以按特征封,也可以干脆丢弃发往未知目的地的 UDP。封 UDP 对网络几乎零成本,所以很多网络就这么干。WireGuard 是为速度和正确性设计的,不是为了隐藏,它的作者从未声称过相反的事。

OpenVPN 居中。它自己的握手同样可辨认,若干国家级过滤系统已经演示过直接识别它。但它可以跑在 TCP 443 端口上,也就是与每一条 HTTPS 连接从同一个端口离开设备,仅凭这一点就能穿过大量按端口而非按内容过滤的网络。面对会检查载荷的系统,这层伪装比看上去要弱。

TLS 之上的 VLESS 是三者中最强的,也正是为此而生。流量是一个 TLS 会话,握手指纹可以做得与常见浏览器一致,而在套 CDN 的情况下,目标地址同时也在为成千上万个普通网站服务。REALITY 更进一步,用一个真实且无关站点的真实握手来回应主动探测。

这些都不是承诺。只允许白名单目的地的网络会把三者全部挡住,而且检测手段也在变。更有用的思路不是哪个协议赢,而是封哪个会让网络运营方付出更大代价:丢弃 UDP 是免费的,封 TCP 443 会毁掉所有人的网页,封一个 CDN 地址则会毁掉其中很大一片。

客户端支持与各自和平台的契合度

WireGuard 的支持最好,摩擦也最小。每个桌面和移动平台都有官方客户端,它在 Linux 内核里,也内建于大多数值得用的路由器固件中,包括 OpenWrt、OPNsense、pfSense 和 MikroTik。配置在手机上扫二维码导入,在其他地方作为文件导入。

OpenVPN 也到处能跑,但活动部件更多:客户端更大,配置文件里可能出错的选项多得多,连接需要几秒而不是瞬间完成。它在路由器和企业环境里支持得很好,而那往往正是你需要它的地方。

VLESS 需要第三方客户端,也没有官方客户端,因为它是传输而不是产品。实际使用中,Android 上用 v2rayNG 或 Hiddify,iOS 上用 Shadowrocket 或 Streisand,桌面上用 v2rayN、Nekoray 或 Hiddify。iOS 的这些是付费应用,其中一些还有区域限制,依赖它们之前值得先了解。路由器支持则很少见。

最容易让人栽跟头的平台细节是终止开关。它是客户端或操作系统的功能,不是协议的功能,而且在各平台上强度不同。详细内容在 /wireguard-vpn-config/ 上,因为这个问题通常是在处理 WireGuard 配置时冒出来的。

各自是怎么坏的,坏起来是什么样

知道故障特征比知道跑分更有用,因为它告诉你下一步该做什么。WireGuard 是无声地失败:隧道显示已启用,发送字节在涨,接收字节停在零,最近一次握手始终不更新。没有错误提示。这个特定画面几乎总是意味着 UDP 被封,正确的动作是换协议,而不是换服务器。

OpenVPN 失败得很吵。它会写日志,日志会告诉你是连不上服务器、验证不了证书,还是在握手中途被对端重置。能建立却反复掉线的连接,通常说明网络在有意干扰,而不是不被支持。

VLESS 失败在 TLS 这一层。你会遇到连接被拒或握手失败,更让人困惑的是会话建立起来却没有数据、就那么卡住。常见原因是传输设置不匹配、SNI 填错,或者某条 CDN 线路被封,而解决办法通常是换另一个端点,而不是去改配置里的东西。

还有一种三者共有、值得点名的故障,因为它很浪费时间:隧道正常但域名解析坏了。哪里都显示已连接,IP 地址有响应,就是没有一个域名能打开。这是 DNS 问题,不是协议问题,在客户端配置里解决。

这个决定,按顺序

默认用 WireGuard。在家庭宽带、移动网络、普通咖啡馆或普通办公室里,它更快、更轻、更简单,没有理由选别的。如果你只在这些地方用,读到这里就可以了。

当网络限速或封锁 UDP 时,改用 443 端口上的 TCP 版 OpenVPN。酒店 Wi-Fi、会展场馆、企业访客网络和大学网络是常见嫌疑。判断标志是 WireGuard 隧道显示已启用但接收字节为零。接受速度上的损失,因为慢的连接比没有连接快无穷倍。

两者都被封时改用 VLESS,这说明网络在检查流量本身,而不只是过滤端口。先试最近的端点再试其他的,因为 CDN 的路由按地区不同,对你最快的那个未必对所有人都最快。

有两种情况会把顺序颠倒过来。如果你明确需要某个我们没有 VLESS 端点的出口国家,那么无论上面说了什么,你只能用 WireGuard 或 OpenVPN。另外,如果你在配置路由器,请用 WireGuard 或 OpenVPN,因为路由器固件对 VLESS 的支持很罕见。

我们为什么三种配置都给

这个行业的标准做法是一个替你选协议的应用。它让上手变得容易,同时精确地让一件事变得不可能:做应用没有预料到的事。当应用连不上时,就没有下一步了,而它的自动换协议也只能在它自带的那几种之间挑。

我们给的是配置文件。WireGuard 是 .conf 或二维码,OpenVPN 是 UDP 和 TCP 两个版本的 .ovpn,VLESS 是 vless:// 链接和二维码,全部在一个账户里,五个并发连接,也不按协议分开定价。上面描述的那套故障处理流程之所以可行,是因为在你需要第二种之前,三种就已经都在你手里了。

这样还省掉了一个你本来必须信任的软件。VPN 应用是在你设备上以网络权限运行的程序;配置文件只是你能读懂的文本。你用官方 WireGuard 客户端,或者你自己早就选好的 Xray 客户端,而你交给我们信任的,只有网络本身。

诚实的边界在这里:不保存日志,也就是不存储来源 IP 地址和连接时间戳,服务器从内存运行,重启即清空。这些是我们能控制的。VPN 把你的本地网络和接入商能看到的内容转移到 VPN 网络上,这是信任的转移而非匿名,本页上的任何协议都改变不了这一点。方案在 /vpn/ 上从 7 天到 365 天,用加密货币付款,不会自动续费。

四个判断选出协议

  1. 1

    先用 WireGuard

    把附近一台服务器以 .conf 或二维码导入并连接。在正常网络里流程到此结束:它是三者中最快也最轻的。

  2. 2

    改动之前先读懂故障

    如果隧道显示已启用,但接收字节一直是零、握手也从不更新,那就是网络封了 UDP。换服务器没用,换协议才有用。

  3. 3

    试 443 端口上的 TCP 版 OpenVPN

    导入同一台服务器的 .ovpn 的 TCP 版本。它与 HTTPS 走同一个端口,所以只按端口过滤的网络会放行。要有心理准备它更慢。

  4. 4

    如果这也被封就换 VLESS

    两者都被挡住的网络在检查内容,而不只是端口。导入四个位置中最近那个的 vless:// 链接,再试其他几个,因为 CDN 路由因地区而异。

  5. 5

    怪协议之前先查 DNS

    如果隧道连上了、直连 IP 有响应,却没有一个网站能打开,那问题在域名解析而不在协议。确认配置里的 DNS 行,并确保没有私人 DNS 设置在覆盖它。

  6. 6

    趁还能连的时候把全部导入

    上面这些都要在一个能用的网络里做,而不是在正跟你作对的那个网络里做。下载配置需要连接,而那恰恰是你最需要它时没有的东西。

问答

WireGuard 比 OpenVPN 更好吗?

论速度、续航和简洁,显然是:代码量只是零头,运行在内核里,增加的延迟极小。论穿过受限网络,则不是,因为它只走 UDP 而且容易识别。正确答案取决于你所在的网络,而不是谁在技术上更新。

哪种 VPN 协议最难被封?

TLS 之上的 VLESS,尤其是套 CDN 或使用 REALITY 握手时,因为它看起来像是发往一个同时服务大量普通网站的地址的普通 HTTPS 会话。TCP 443 上的 OpenVPN 排第二,因为它和网页流量共用端口。WireGuard 最容易被封,因为只走 UDP 且握手可辨认。

TCP 上的 OpenVPN 为什么这么慢?

因为它是在 TCP 里跑 TCP。两层各自有重传和拥塞控制,当底层连接开始丢包时,两层就会互相拖后腿,这种效应叫 TCP 崩溃。用来浏览和聊天没问题,在丢包链路上做大文件传输则很糟。

VLESS 能取代 VPN 吗?

不完全能。VLESS 代理的是数据流,而不是把网络接口上的所有数据包都路由出去,因此有哪些流量走它,取决于你用的客户端。实际使用中它对浏览和应用能做同样的事,但按设计它是代理传输;要用在路由器上或让整台设备走,你需要的是 WireGuard 这类 VPN 协议。

在酒店 Wi-Fi 上该用哪种协议?

先试 WireGuard,但要预期它会失败:酒店网络经常封锁或限速 UDP。那里可靠的选择是 443 端口上的 TCP 版 OpenVPN,因为它和普通网页流量走同一个端口。如果酒店网络还会检查内容,下一步就是 VLESS。

每种协议都要单独订阅吗?

在我们这里不用。一个账户以同样价格、在同样的服务器上带着 WireGuard、OpenVPN 和 VLESS,并支持五个并发连接,网络变了你就跟着切。把协议分开卖的服务商,是在为一份配置文件向你收费。

看视频或打游戏有没有最佳协议?

两种场景都是 WireGuard,因为它增加的延迟最小、每包开销最低。若被封,论延迟其次是 UDP 上的 OpenVPN;TCP 上的 OpenVPN 是所有实时场景里最差的选择。就延迟而言,服务器距离仍然比协议选择更重要。

可以同时用两种协议吗?

在同一台设备上不行,也没有必要:第二条隧道只会跑在第一条里面。你该做的是把三种配置同时导入,好让切换是瞬间的。同一账户下的不同设备当然可以各用各的协议。

更多主题

相关指南

WireGuard、OpenVPN 与 VLESS 对比

该用哪种协议、什么时候切换,以及为什么正确答案取决于你所在的网络,而不是你从哪家买的。

查看 VPN 套餐