划重点
VPN 的工作原理是三件事:把你的数据包整个装进另一个数据包里送走,这是隧道;装之前先加密,这是加密;到了服务器拆开,由服务器替你访问目标,这是换出口。企业 VPN 的 IPsec、SSL VPN 都按这个思路做;机场的代理协议同样加密、同样换出口,但转发的是一条条连接而不是整个数据包,外观也刻意做得像普通的网页访问。
这一讲拆的是 VPN 的工作原理,拆到底只剩三件事:隧道、加密、换出口。你的设备把要发出去的数据包先加密,再整个装进一个新的数据包里,收件人写成 VPN 服务器;服务器收到后拆开外壳、解密,再用自己的地址把原来的数据包发往目标网站。路上的人只看得到「你在和 VPN 服务器通信」,目标网站只看得到「有一台 VPN 服务器来访问」。
课本里的 VPN 工作原理讲的就是这些。下面先把三件事画出来,再看企业常用的 IPsec、SSL VPN 怎么实现,末了对照机场用的代理协议,看它们在原理上分在哪一步。
VPN 工作原理的三件事:一张图看过程
按数据走的顺序,一次访问是这样的:
你的设备 VPN 服务器 目标网站
原始数据包(你 → 网站)
① 加密内容
② 外面再套一层(你 → VPN 服务器)
──────── 公网上只看得到外层 ────────▶
③ 拆掉外层,解密
④ 用服务器自己的地址发出
─────────────────────────▶ 看到的是服务器的 IP
◀──────── 回应 ──────────
◀──────── 原路加密送回 ────────
①②是隧道和加密,在你的设备上完成;③④是换出口,在服务器上完成。回程反过来走一遍:网站把回应发给服务器,服务器加密、套壳,送回你的设备。
划重点:隧道和加密发生在你的设备上,换出口发生在服务器上;路上的人只看得到外层,网站只看得到服务器。
隧道:把一个数据包装进另一个数据包
隧道这个词听起来玄,做的事其实是「信封套信封」。
你的设备连上 VPN 以后,系统里会多一块虚拟网卡,VPN 服务器给它分一个内部地址,比如 10 开头的那种。从这块网卡发出的数据包,收件人写的是目标网站,寄件人写的是这个内部地址,这是里面那封信。VPN 客户端把整封信装进新信封,新信封的寄件人是你家宽带的公网地址,收件人是 VPN 服务器,这才交给真正的网卡发出去。
路上的路由器只按外层信封投递,不拆开看。到了服务器,外层被拆掉,里面那封信重新进入服务器所在的网络。对你的设备和服务器来说,两者之间就像拉了一根直通的线,这就是「虚拟」两个字的来由。
加密:路上的人只看得到外层
光有信封不够,里面的信也要上锁,否则拆开外层谁都能读。加密分两步:
- 握手。连接刚建立时,两边先确认对方身份,用证书、预共享密钥或公钥,再协商出一把只有这两端知道的临时密钥。协商过程即使被人从头听到尾,也推算不出这把密钥。
- 传输。之后每个数据包都用这把密钥加密,常见的算法是 AES 或 ChaCha20,同时附上校验值,路上被人改动过一个字节,对端就能发现并丢弃。
加密以后,路上能看到的只剩外层:你在和哪台服务器通信、什么时候、传了多少,以及每个包的大小和发送的节奏。里面去了哪个网站、内容是什么,看不到。这些「看得到的部分」后面还会讲到,它们恰好是跨境连接容易被识别的原因。
换出口:网站看到的是服务器的地址
服务器解开数据包后,要替你把它发往目标网站。它会把寄件人从你的内部地址改成自己的公网地址,再发出去,并记下这一条对应关系;网站回应时,服务器按记录把回应交还给你。
这就是 VPN 能「换 IP」的原因:网站自始至终只和服务器打交道。服务器在新加坡,网站眼里你就在新加坡。流量从哪里出去,在机场的说法里叫落地。同一台服务器上往往有很多用户共用这一个出口地址,网站看到同一个地址短时间里来了大量访问,有时会弹出验证码,这是共用出口的常见副作用,并不是连接出了错。
还有一件常被忽略的事:域名查询也要走这条路。如果你的设备仍然向本地运营商的 DNS 查询网址,路上就能看到你要访问哪些域名,换了出口也白换了一半。正规的 VPN 客户端会把 DNS 查询一并送进隧道。
企业 VPN 怎么做:IPsec、SSL VPN 和两种常见开源协议
企业里的 VPN 都是上面三件事的不同实现:
| 协议 | 在哪一层封装 | 常见的连接方式 | 典型用途 |
|---|---|---|---|
| IPsec | 网络层,直接封装 IP 数据包 | 握手走 UDP 500 / 4500,数据用 ESP 封装 | 两地机房互联、员工远程接入 |
| SSL VPN | 基于 TLS,多走 443 端口 | 浏览器门户,或装一个轻量客户端 | 员工从外面访问内部网页系统 |
| OpenVPN | 用 TLS 握手,数据用自己的格式封装 | 默认走 UDP,也能走 TCP | 中小企业、商业 VPN |
| WireGuard | 网络层,加密算法固定 | 只走 UDP,握手几个来回就完成 | 自建组网、新一代商业 VPN |
它们有一个共同点:为远程办公设计,重心放在加密可靠、连接高效,并不打算掩饰「这是一条 VPN 连接」。握手报文的格式、长度、端口都比较固定,在公司的网络里这不是问题,到了跨境的环境就成了明显的标记,连接容易被识别出来然后被干扰。
机场的代理协议,原理上差在哪一步
机场用的 Shadowsocks、VLESS、Trojan、Hysteria2,同样有加密,同样换出口,差别落在两处。
一是搬运的单位。 VPN 搬的是整个数据包,连同里面的地址一起装进隧道。代理协议搬的是连接:客户端先接住某个程序发起的连接,读出它要去的目标地址,把「目标地址 + 数据」加密后交给服务器;服务器以自己的名义新开一条连接去访问目标,再把回应传回来。正因为客户端在每条连接开始时就知道它要去哪,才能按域名分流,国内网站放行,境外网站送去节点。
二是外观。 代理协议把「别被认出来」放在设计的前面。Trojan 让连接看起来就是一次普通的 HTTPS 访问;VLESS 常配 TLS 或 Reality,后者连握手阶段都借用真实大网站的样子;Shadowsocks 让数据看起来是一串没有规律的字节;Hysteria2 走 QUIC,外观接近新式网页用的 UDP 连接。几种协议具体怎么伪装,Trojan 是什么和 VLESS 是什么两讲分开讲了。
| 同一步骤 | 企业 VPN | 机场代理协议 |
|---|---|---|
| 客户端交出去的 | 整个 IP 数据包 | 一条连接的目标地址和数据 |
| 服务器怎么处理 | 拆包、改地址、转发 | 按目标地址新开一条连接 |
| 外层看起来像 | 一条 VPN 连接,特征清楚 | 网页访问、随机字节或 QUIC |
| 分流的依据 | 路由表,多按 IP 段 | 规则表,可按域名 |
划重点:加密和换出口,企业 VPN 与机场协议做法相同;分岔只在两处,一是搬整个数据包还是搬连接,二是外观要不要装成常见流量。
所以严格说机场不是 VPN,原理上是代理;只是到了手机上,客户端得向系统申请一个「VPN 位置」才能把流量收进来,所以表面上又像 VPN。两者在使用层面的差别,VPN 和机场的区别那一讲按连接方式、交付物、运营方对照过。
原理落到选订阅上:先看协议
懂了原理,挑订阅时就知道看什么:协议是不是为跨境设计的,线路有没有避开拥挤的公网。介绍页写了 VLESS、Trojan、Hysteria2 这类名字的,用的就是上面讲的代理协议。
一翻云写的协议是 VLESS,跨境段用 IEPL 专线,2026 年 4 月开业;用量很大的家庭可以看极致版,¥95/月给 1.2TB,轻度使用的轻享版 ¥20/月、150GB。微风的节点同样是 VLESS,注册后面板里就有订阅;乘风 Riding ¥27/月给 200GB,破风 Breaking ¥57/月给 500GB,没有优惠码可填。
原理决定了它能做什么、做不到什么。加密挡得住路上的偷看,挡不住服务器那一端;协议伪装得再好,也没有哪一种能承诺永远不被识别。
文中提到的机场
课后自查
示范课的一翻云用的 VLESS,按这一讲的分法算隧道还是代理?
算代理协议,转发的是一条条连接,不是整个数据包。VLESS 自身不加密,靠外层 TLS 保护数据;一翻云的跨境段另外走 IEPL 专线,不和普通公网流量挤国际出口。
VPN 加了密,运营商还能看到什么?
看得到你的设备连着哪台服务器、什么时候连的、传了多少数据,还有数据包的大小和节奏;看不到隧道里面去了哪个网站、传的是什么内容。
隧道和代理转发,原理上谁的速度更快?
原理本身差别不大。隧道每个包多一层外壳,代理协议也有伪装层的开销,实际快慢主要取决于线路拥不拥挤、服务器离你多远、负载高不高。