代理与VPN:决定优劣的关键差异
VPN 和代理分别作用于协议栈的不同层,并针对不同的威胁模型:套接字级路由与虚拟网卡、加密层、身份并发性,以及选择合适的工具。
- 运行范围 —— 应用程序/套接字路由与内核级 TUN/TAP 虚拟适配器的对比。
- 加密架构 —— 端到端 TLS 有效载荷安全与强制隧道封装的对比。
- 身份并发 —— 为什么代理支持50多个并发IP,而VPN却只能绑定一个。
- 反机器人检测 —— 商业 VPN 数据中心的 ASN 与移动运营商的 CGNAT 池。
在内核层对每个发出的字节进行加密;非常适合用于不可信的 Wi-Fi 环境。
为独立的浏览器配置文件和爬虫线程分配不同的 IP 地址。
关于这个话题,几乎每一篇文章都在回答错误的问题。“哪一种更安全?”这个问题在你不说明自己要躲避谁之前是无法回答的——而一旦你说明了,这两种工具就不再是竞争对手,而是开始承担不同的任务。 VPN会将你的整个设备置于一条加密隧道之后,并仅显示一个出口身份。而代理则是被某个应用程序连接,仅用于一次会话,设备其余部分则完全保持原状。
VPN 隧道和代理中继并非同一台机器
先从基础原理说起,因为本页面的其他内容都由此衍生而来。VPN 客户端会创建一些东西:一个虚拟网络接口,以及一个经过重写的路由表,该路由表将默认路由指向该虚拟网络接口。 从那一刻起,来自每个进程(包括浏览器、操作系统更新程序、邮件客户端以及域名解析)的每个数据包都会被封装,并发送到单一的端点。 WireGuard 通过 UDP 实现这一功能,采用 ChaCha20 进行加密,Poly1305 进行身份验证;OpenVPN 通常监听 1194 端口;基于 IPsec 的 IKEv2 则使用 UDP 500 端口,并配合 UDP 4500 端口实现 NAT 穿透。应用程序对此一无所知,也不需要知道。
代理本身不会创建任何内容。它只是你的应用程序选择连接的一台服务器,连接方式要么是通过SOCKS5协议(RFC 1928中定义,通常使用TCP 1080端口),要么是向HTTP代理请求建立通往目的地的CONNECT隧道。 这里没有接口、没有路由、也没有设备状态。这就是两者的全部区别,可以用一句话概括:VPN 是操作系统对每个进程所做的事情,而代理则是某个进程自行完成的操作。
其后果立竿见影,这也是初学者最常犯的错误。同一台机器上未经过配置的应用程序会通过原始连接、使用您的真实地址进行访问,而经过配置的应用程序则会通过中继服务器进行访问。这既不是泄漏,也不是配置错误——这是设计使然。 如果你希望整个设备都受到保护,就需要建立隧道。关于在 SOCKS5 和 HTTP 之间选择哪种协议,这是一个单独的决策,相关内容将在 HTTP 与 SOCKS5 代理的对比,如果“前向代理”这个术语仍然有很多难以理解的地方,不妨从 什么是代理服务器.
curl --proxy socks5h://job-a:secret@proxy.example.net:10001 https://api.example.com/whoami curl --proxy socks5h://job-b:secret@proxy.example.net:10002 https://api.example.com/whoami curl https://api.example.com/whoami
本页有意仅讨论操作系统和套接字层面的内容。中继之后发生的情况——即请求在到达目标之前如何经过调制解调器、运营商和CGNAT——将在 移动代理的工作原理,此处不再赘述。
六项机械差异,以及每项差异的论据所在
下文中的每一行都是该页面后续部分的摘要。这些行内容刻意侧重于机械性能而非商业宣传:其中没有任何一行是在比较哪款产品更好,仅描述了每台机器能做什么和不能做什么。
| Axis | VPN隧道 | 代理中继 |
|---|---|---|
| 连接位置 | 一个虚拟的第3层接口加上一个重写的路由表——操作系统将每个数据包都通过它转发 | 第5–7层的按应用程序设置——应用程序会连接SOCKS5或请求HTTP CONNECT隧道 |
| 哪些数据经过加密,以及在哪个跳点进行加密 | 从网卡到出口的所有环节,包括域名解析以及任何仍以明文形式传输的协议 | 无论应用程序此前通过隧道进行的是何种 TLS 通信,中继本身都不会添加任何额外内容 |
| 目的地收到什么 | 一个输出地址,由设备上的所有进程共享 | 每个配置好的会话仅有一个出口;该会话无法访问该机器的其他部分 |
| 谁可以记录这些信息,以及他们掌握哪些信息 | 一个运营商账户与一个用户身份和一条支付记录相关联,涵盖该设备发送的每个数据包 | 按端口或按会话分配凭据,以便将不同的任务分别记录为独立的记录 |
| 配置粒度 | 全设备范围且“全有或全无”;每次仅能激活一个配置文件 | 按应用、按浏览器配置文件、按容器——无需更改设备的网络设置即可进行调整 |
| 增加一个并发身份的成本 | 第二台设备、拥有独立隧道的第二台虚拟机,或第二个订阅 | 同一方案中再增加一个端口 |
每个人究竟在隐藏什么,又是在向谁隐藏
你在几乎所有竞争对手的页面上都会看到这样一句话:VPN 会加密你的流量,而代理则不会。在 2010 年,这还算是一个公正的总结。但如今,这种说法具有误导性,因为应用程序通常自带加密功能。 当您的浏览器通过 HTTP CONNECT 隧道进行 HTTPS 通信时,代理会向目标建立一个 TCP 连接,然后在隧道关闭前盲目地双向转发数据。TLS 会话在您的浏览器与网站之间端到端运行;代理传输的加密文本它无法读取,即使想解密也无能为力。
该说法中值得关注的部分是:VPN 会对应用程序未加密的跳转进行加密。 这并不是说代理无法保护您的银行会话——TLS 早已做到了这一点——而是说 VPN 还能同时覆盖设备上每个进程的域名解析、旧式的明文协议,以及您正在访问哪些主机名。
因此,不妨按顺序逐一分析这些观察者。一个请求涉及五个参与方:你物理连接的网络、你的接入提供商、负责解析你域名的主体、隧道或中继的运营商,以及目标服务器。每种工具都会改变其中不同子集所能读取的内容,但没有任何一种工具能同时改变这五个参与方。
观察者地图:相同的五个车站,两条不同的轨道
请逐行阅读。轨道恰好在两处分岔——前两个跳转点和目的地。
- 看到内容
- 仅显示元数据
- 没看到什么有用的
| 观察者 | Wi-Fi / 局域网 | ISP | 隧道或中继操作员 | DNS解析器 | 目标服务器 |
|---|---|---|---|---|---|
| VPN隧道 | 没什么有用的 — 一个加密流到一个端点 | 没什么有用的 — 终点、体积和时间 | 内容 — 该设备发送的每个数据包,均归属于一个账户 | 内容 — 运算符的解析器会识别出你查询的名称 | 内容 — 设备上的每个进程对应一个出口 |
| 代理中继 | 元数据 — 用于连接中继的地址,以及如果应用程序未使用 TLS 时的主机名 | 元数据 — 与上述相同,外加设备在本地解析出的任何名称 | 元数据 — 你指出的那些会话;TLS 有效载荷保持密封状态 | 元数据 — 当应用程序发送主机名时,中继服务器会解析该名称 | 没什么有用的 — 仅限本次会话一次退出;您的其他应用程序不受影响 |
从该图表中得出的客观结论是:VPN 的真正优势在于第一跳以及设备上 TLS 从未覆盖的部分。而代理的真正优势则在于远端——目标端看到的只是你为该任务选定的地址,而无法获知你设备其余部分的任何信息。它们并非在同一领域竞争。
域名解析是唯一一个值得核查而非想当然的细节,因为它取决于你的客户端,而非营销活动。如果你想知道自己的配置实际上存在哪些漏洞,请使用 代理检测工具 不要轻信图表——包括这张图。
谁负责记录:日志、凭证和管辖权
无论使用哪种工具,你只是转移了信任,而非消除了信任。你的网络服务提供商曾经看到的流量,现在被其他人看到了,而唯一值得思考的问题是:那个人掌握着什么信息,你的生活有多少部分被整合到一条记录中,以及哪个国家的法律程序能够触及这些信息。
这些模式之间的差异远大于政策之间的差异。一个消费者VPN账户对应一个用户身份:一个登录账号、一条支付记录、一组连接记录,涵盖了隧道建立期间该设备发送的每一个数据包。 这些记录是否存在,是运营商从外部无法验证的政策声明——而该声明最有力的形式是独立审计,这确实是某些运营商所具备的,也有许多运营商暗示自己具备。PXM2既没有独立审计,也不假装拥有。
代理的身份验证是按端口或按会话进行的。独立的凭据、独立的端口、独立的任务——这意味着操作员的记录已经按照与您工作相同的方式进行了划分。 这并非关于数据保留的承诺,而是一种结构属性:一旦记录未被合并,就无法在后续将其拆分——无论压力源自系统遭入侵、法律请求还是范围过广的数据导出。正是这种分段特性,使得即使从技术上讲使用单一共享登录也能实现,但按会话分配凭据的额外配置依然值得。
真正危险的情况是免费的公共代理列表。 由陌生人运营的开放中继,相当于通往一个无法追责的设备的未加密第一跳,其运营者极有可能篡改、记录或转售数据——而对于你的应用程序以明文形式发送的任何内容,运营者都可以直接读取。这正是主流建议“干脆直接使用VPN”这一说法完全正确的唯一情形。
管辖权是最后一块拼图,它对这两种工具的适用方式完全相同:运营商注册所在的国家决定哪种法律程序可以对其产生约束力,而您这边的任何配置都无法改变这一点。对于不愿透露注册地的服务提供商,您应像对待那些不愿透露记录了哪些数据的服务提供商一样对待它们。
单一身份还是多重身份:VPN在结构上无法满足的情况
这就是区别所在——这并非产品层面的决策,也无法通过更好的VPN来解决。一条隧道只能终止于一个虚拟接口,而操作系统只有一条默认路由。 因此,一台设备在同一时间仅能拥有一个出口身份。若要同时运行第二个身份,则意味着需要第二台设备、拥有独立隧道的第二台虚拟机,或者第二份订阅——并发性的成本与设备数量呈线性关系,因为这一限制存在于路由表中,而非价格表中。
每个套接字都会选择一个代理,因此其运作原理截然不同。在同一台主机上,十个浏览器配置文件、十个爬虫工作进程或十个自动化容器可以同时各自使用独立的出口,而该主机自身的流量则完全不受影响。 增加第十一个时,只需再增加一个端口和一组凭据,而无需再增加一台机器。这正是多账户和多区域操作之所以属于代理工作而非VPN工作的根本原因。
请大声说出这个限制,因为供应商很少会这么做:地址仅仅是平台用于建立连接的信号之一。如果缺乏基于用户档案的指纹隔离(即独立存储、独立的画布和字体渲染区域,以及在所有十个设备上外观不完全相同的客户端),仅靠按会话进行的退出机制所提供的保护效果远低于人们的预期。 而且,在实时会话中途更改地址并不被视为保护隐私;这会被解读为会话劫持,其危害甚至比最初使用的地址还要大。
哪种代理承载身份是一个独立的问题,其核心在于来源:出口地址来自何处,以及目标方在看到该地址时会推断出什么。关于这一核心问题的详细讨论,请参见 代理类型中心,其中较短的行程在 代理类型解析. 不过,这里需要说明一个来源相关的事实,因为它解释了读者自己会注意到的一点:商业检测服务商维护着托管网络和已知VPN地址范围的列表,而绝大多数面向消费者的VPN出口节点都位于这些列表中。目标服务器通常无需了解你的任何信息,就能判断某个地址是VPN出口节点。
速度与成本:每款车型的实际费用是多少
先驳斥那个俗套的说法。加密并不是导致速度变慢的环节。WireGuard 采用的 ChaCha20-Poly1305 算法,在近十年来生产的任何处理器上(包括手机)都能以线速运行——在家庭宽带连接上根本测不出它的影响。可测量的开销完全在于其他方面,而且恰好只有两处。
大多数关于“VPN速度慢”的报告,实际上是MTU相关的问题。如果将隧道MTU设置得过高,大数据包就会被分片或被默默丢弃,这会导致网页加载到一半卡住、上传中断以及下载速度极慢,而速度测试结果却看起来正常。在归咎于加密算法或服务商之前,请先检查接口的MTU设置。
[Interface] Address = 10.7.0.2/32 MTU = 1420 [Peer] Endpoint = vpn.example.net:51820 AllowedIPs = 0.0.0.0/0, ::/0
成本的计算方式也是如此——要比较的是服务模式,而非标价。VPN按设备或按用户许可收费,因为这是它所保护的单位。代理则按并发身份数和时长收费,因为这是它所提供的服务单位。 只有当你知道该任务需要多少个身份时,这两者才具有可比性:如果只需一个身份,VPN通常更便宜;但如果需要十个身份,VPN模式则要求你购买十台设备。不同类型代理出口之间的价格比较则是另一个问题,其答案见 数据中心与移动代理的对比.
你需要哪一个——还是两个都需要?
四个问题将决定一切,而且这些问题都与观察者有关,而非产品本身。按顺序回答这些问题,答案自然会揭示出该工具的本质。
几乎所有比较页面都忽略了两个答案,因此请明确说明。第一个答案是两者兼用,顺序如下:在设备上使用 VPN 来保护不可信的本地网络,并在需要独立身份的那个应用程序内部配置一个代理。 隧道负责处理你附近的观察者,中继负责处理远端的观察者,而目标端始终只能看到最后一个跳点。 如果颠倒这个顺序——将代理会话通过用户端的VPN出口推送出去——对目标端可见的情况没有任何改善,反而增加了绕行路径,并可能悄无声息地破坏了你设置代理时所期望的“按应用隔离”机制。 第二种方案则两者皆非:如果目标是在一个平台上使用多个账户,通常缺失的关键环节是基于个人资料的指纹隔离,而配备了每个个人资料独立代理的反检测浏览器才是该问题的真正解决方案。
从这里开始,问题分成了三条支线。哪种代理类型承载身份是 代理类型中心; 承运人出具的出境单是否符合您的目标方预期,这一点是 什么是移动代理;以及您的客户端应该使用 HTTP 还是 SOCKS5,这取决于 HTTP 与 SOCKS5.
部署高可信度移动代理
需要具备蜂窝网络信任机制的多个独立身份吗?PXM2 提供专用的 4G/5G 移动调制解调器:
法国
新加坡
印度
常见问题解答
代理和VPN之间最关键的技术区别是什么?
操作系统内的运行范围。 VPN 会在操作系统内核中安装一个虚拟网络适配器(TUN/TAP),自动捕获并加密从设备发出的 100% 网络流量。而代理则在应用程序层或套接字层运行,仅对明确配置为使用其端点的特定应用程序、浏览器标签页或自动化脚本进行路由。
为什么不能使用VPN进行社交媒体多账号管理或网页抓取?
标准的 VPN 会将您的整台计算机绑定到一个出口 IP 地址,这意味着每个浏览器窗口、后台进程和账户都将共享该 IP 地址。如果您管理多个账户或进行大规模数据抓取,则需要为每个配置文件分配独立且可同时使用的 IP 地址。代理服务器允许您同时为每个浏览器配置文件或工作进程分配不同的、相互隔离的 IP 地址。
代理的安全性是否低于VPN?
代理服务器不会对所有后台设备流量(如 DNS 查询或非浏览器应用流量)提供全网范围的加密。但是,当您通过代理服务器浏览 HTTPS 网站时,您的流量会在浏览器与目标网站之间通过 TLS 实现端到端的完全加密;代理服务器无法查看您的密码或敏感数据。
我可以同时使用代理和VPN吗?
是的。这种配置被称为“链式连接”。您的计算机会与VPN服务器建立一条加密的VPN隧道,而在该隧道内,您的应用程序会通过代理服务器转发请求。目标网站看到的是代理服务器的IP地址,代理服务器看到的是VPN的IP地址,而您的本地互联网服务提供商(ISP)只能看到加密的VPN流量。
为什么网站经常屏蔽VPN IP,却允许移动代理IP?
商业 VPN 提供商将其服务器托管在商业数据中心(如 AWS、M247 或 Datacamp)中。 反机器人系统(如 Cloudflare、Akamai)会维护包含所有数据中心 IP 范围的实时封禁列表。相比之下,移动代理利用真实的 4G/5G 运营商网络,成千上万部真实的蜂窝智能手机通过 CGNAT 共享相同的 IP 地址,因此对于目标网站而言,一刀切的封禁在商业上是不被接受的。