协议与方案全景
定位说明:这篇是文档学习加方案梳理,各协议的安全结论以公开研究为准,配置细节各版本变化大——真要用时再查对应官方文档(文中已标核对点)。
上一篇把"VPN 是什么"讲清了,但真上手时会立刻撞见一堆名词:PPTP、L2TP、IPsec、OpenVPN、WireGuard、IKEv2……01-VPN里那句"选择合适的VPN软件(如OpenVPN或WireGuard)"就是这道选择题的入口。这篇把演进线捋一遍,看每一代协议为了解决什么问题而生、又为什么被下一代替代。
一、协议演进线:三十年四代
flowchart LR
P["PPTP<br>1999 · 已淘汰"] --> L["L2TP/IPsec<br>2000s · 兼容老设备"]
L --> O["OpenVPN<br>2001 · 老牌稳健"]
O --> W["WireGuard<br>2015+ · 现代主流"]
style P fill:#d8dee9,stroke:#999,color:#333
style L fill:#d8dee9,stroke:#999,color:#333
style O fill:#a3be8c55,stroke:#a3be8c,color:#333
style W fill:#88c0d055,stroke:#88c0d0,color:#333
第一代:PPTP(点对点隧道协议)。Windows 98 时代就有了,配置极其简单,但加密方案早已被破解,数小时就能解密流量。结论:当它不存在,任何"还能用"的设备都不该再选它。现在它存在的唯一理由是给古老设备兜底。
第二代:L2TP/IPsec。L2TP 自己不加密,必须和 IPsec 捆绑使用(所以名字总是成对出现)。兼容性好——几乎所有系统原生支持,无需装客户端。但 IPsec 的握手流程复杂,且 UDP 500/4500 端口在部分网络下容易被掐。今天主要用于"设备不支持别的协议"的场景。
第三代:OpenVPN。2001 年提出,走 SSL/TLS 那套成熟加密体系,能穿过 TCP 443(跟 HTTPS 同端口,防火墙很难区分)。优点是久经考验、生态成熟:证书体系、双因素、细粒度控制应有尽有。缺点是重:用户态实现速度打折扣、配置项海量、客户端笨重。06-VPN实战里的原话"不得不说用openvpn翻墙实在是太麻烦了"就是这份"重"的亲身体感——不是不能跑通,是配置和维护成本高。企业级部署(尤其需要审计合规的)至今仍是 OpenVPN 的主场。
第四代:WireGuard。2015 年由 Jason Donenfeld 设计,2020 年进入 Linux 内核主线。设计哲学和它的前辈完全相反:整个协议代码只有约 4000 行(OpenVPN+OpenSSL 是它的百万倍量级),代码少意味着可审计、漏洞面小、速度极快。固定使用一套现代加密算法(Curve25519/ChaCha20-Poly1305),不搞算法协商——旧算法被攻破时发新版本即可,不留历史包袱。下一章专门实操它。
二、协议之外的另一条分岔:自建 vs 托管组网
选完协议还有一层选择:要不要自己当"VPN 服务器"。
| 路线 | 怎么运作 | 你要操心什么 | 代表 |
|---|---|---|---|
| 自建 | 自己找台服务器装服务端,各端装客户端连它 | 服务器、域名/端口、证书、升级、安全 | OpenVPN、WireGuard 原生 |
| 托管组网 | 官方协调服务器帮你牵线,设备间尽量 P2P 直连 | 装客户端、登账号(EasyTier 连账号都不用) | Tailscale、ZeroTier、EasyTier |
托管组网本质上是"把 WireGuard 的配置工作自动化了"——Tailscale 底层就是 WireGuard,只是密钥交换、NAT 打洞、IP 分配全由软件代劳,所以才有06-VPN实战里"只需要在各用户端下载该软件 然后使用同一账号登入 它内部就会做好一系列配置"的体验。
三种选择的粗略决策树:
flowchart TD
Q{"要搭 VPN 的目的是?"} -->|"连接机构内网"| O1["用机构给的客户端<br>(EasyConnect/AnyConnect等)<br>没得选也不用选"]
Q -->|"自建 学习/完全掌控"| W1["WireGuard<br>现代默认选择"]
Q -->|"自己的设备异地互联"| Z{"想不想依赖<br>官方协调服务器"}
Z -->|"无所谓 图省事"| T["Tailscale"]
Z -->|"想去中心化"| E["EasyTier<br>(或自建 WireGuard)"]
三、本库的对应实操地图
- 托管组网 Tailscale 实录 → 06-VPN实战(23.12.22 连通 2 服务器 1 笔记本 1 手机的记录)
- 去中心化 EasyTier 三步部署 → 04-EasyTier + 完整流程在01-再次出发
- WireGuard 原生自建 → 下一篇04-WireGuard实操
- 穿透 vs 组网的分岔辨析 → 内网穿透选型对比
一句话总结演进逻辑:加密从"可破解"到"不可破解",实现从"用户态重型框架"到"内核态极简代码",运维从"手搓配置"到"账号即接入"——但底层的思想没变:在公网上挖一条只有自己人能走的加密隧道。
⬅️ VPN是什么 🏠 00-网络与项目 ➡️ WireGuard实操
💬 评论