VPN 与代理

VPN 协议

约 5 分钟阅读

什么是 VPN 协议

VPN 协议定义了 VPN 连接中使用的加密方式、认证方法和数据传输规则。选择哪种协议会显著影响通信速度、安全强度和连接稳定性。

你可能在 VPN 服务的设置界面中见过「协议」选项。大多数服务推荐「自动」设置,但根据使用场景手动选择可以优化速度和安全性。

主要协议对比

WireGuard
2020 年集成到 Linux 内核的新一代协议。代码仅约 4,000 行(约为 OpenVPN 的 1/100),安全审计简便。采用 ChaCha20 加密和 Curve25519 密钥交换。连接建立仅需 1 RTT,移动漫游表现优秀。在重视速度与审计难易度的场景中是首选。
OpenVPN
拥有 20 多年实绩的开源协议。支持 TCP 和 UDP,可以使用与 HTTPS 相同的 TCP 443 端口,因此更容易通过防火墙的限制。加密套件选择丰富灵活,但代码量大,速度不如 WireGuard。
IKEv2/IPsec
将 IPsec 与 IETF 标准化的密钥交换方式 IKEv2(RFC 7296)组合而成。MOBIKE 协议可在 Wi-Fi 和移动数据切换时保持连接。iOS 和 macOS 原生支持,适合 Apple 设备。
L2TP/IPsec
旧版协议。多数操作系统原生支持,但双重封装开销导致速度降低。使用 UDP 端口 500,在 NAT 和防火墙环境中容易出问题。不推荐新部署。

按使用场景选择

最佳协议选择因使用场景而异。

  • 日常使用(网页浏览、视频观看):WireGuard 最佳。快速、低延迟、低电量消耗。
  • 网络限制严格的环境:OpenVPN(TCP,端口 443)。可以使用与 HTTPS 相同的 TCP 443 端口,更容易通过按端口阻止 VPN 的防火墙。
  • 移动环境(频繁切换网络):IKEv2 或 WireGuard。两者在网络切换时都能快速重连。
  • 企业远程访问:OpenVPN 或 IKEv2。易于与认证基础设施(RADIUS、LDAP)集成。

PPTP 存在严重漏洞,任何场景都不应使用。L2TP/IPsec 也应避免新部署,建议迁移到 WireGuard 或 OpenVPN。

另外,无论选择哪种协议,查询网站显示的 IP 地址都是 VPN 服务器的地址,协议的差异不会改变显示内容。之所以会露出真实地址或所用线路的运营商名称,原因不在协议,而在于 DNS 泄漏IPv6 的处理方式等客户端一侧的设置。切换协议之后,最好同时确认 IP 地址与所使用的 DNS。

协议安全性评估

评估 VPN 协议安全性时的主要考量:

  • 加密方式:AES-256-GCM 和 ChaCha20-Poly1305 是当前标准。不推荐 128 位以下的加密。
  • 前向保密(PFS):每个会话使用不同的加密密钥,确保即使一个密钥泄露也无法解密过去的通信。WireGuard、OpenVPN 和 IKEv2 均支持 PFS。
  • 代码可审计性:开源且代码量少直接有助于审计的便利性。WireGuard 在这方面具有压倒性优势。
  • 已知漏洞:PPTP 的 MS-CHAPv2 认证在 2012 年被破解,实质上等同于无加密。

TLS/SSL 一样,VPN 协议的加密技术也在不断发展。理解与端到端加密的区别,正确把握 VPN 保护的范围非常重要。

常见误解

越新的协议越安全
安全性不能仅凭新旧来判断。重要的是加密方式的强度、代码的审计状况和已知漏洞的有无。WireGuard 新且安全,是因为代码量少易于审计,且采用了最新的密码学原语。
OpenVPN 太旧不应该使用
OpenVPN 拥有 20 多年的实绩并持续维护。虽然速度不如 WireGuard,但灵活的配置、可使用 TCP 443 端口、丰富的认证选项等,仍有许多 OpenVPN 更适合的场景。

WireGuard 与 OpenVPN 对比

WireGuard

约 4,000 行代码。ChaCha20 加密。连接建立快速。仅 UDP。配置简单。移动端表现优秀。

OpenVPN

约 40 万行代码。可选加密套件。TCP/UDP 双支持。可使用与 HTTPS 相同的 TCP 443 端口,更容易通过防火墙限制。配置灵活性高。

分享

相关术语

相关文章