两种设计都把你的地址藏在一个公网 IP 后面,而一个打印所见地址的网站无法区分它们。区别在于途中谁知道什么、有多少流量被覆盖、哪些端口被允许工作。Tor 出口中继是三跳链路的最后一跳;VPN 出口服务器终止你的隧道,并由它自己发起出站连接。下面说明我如何判断一项任务需要哪一种,以及在假设两者行为相同之前要核对什么。

终点是同一个地址的两条路径

Tor 通过入口守卫、中间中继和出口构建链路,并把载荷分层加密,使每台中继只剥掉自己那一层。出口与目的地建立普通 TCP 连接,因此目的地看到的是出口地址。你的客户端从不直接与目的地通信,入口守卫也看不到它。

VPN 是一条通往一个终点的隧道。运营商的服务器拆掉隧道并打开出站连接,所以目的地同样只看到一个地址,这次是运营商的地址。可观察的结果相同;知识并不相同。一个打印 IP 的测试只能回答你在哪个系统上,对真正不同的信任分配什么也说明不了。

最终谁真正知道什么

VPN 终点在一个地方同时看到源地址、目的地、时间和流量。这种集中正是设计:一个运营商、一个日志面、一个可被传唤或误配的地方。你获得的一切都来自对那一方的信任以及终点的出站策略。

Tor 把这部分知识拆开。入口守卫知道你的地址但不知道目的地;出口知道目的地但不知道你的地址。一台中继不应同时知道两者。这是结构性属性,而不是对全球观察者、对关联时间的中继、对被攻破终点的承诺,所以应把它看作同一风险的另一种分布,而不是不会失败的匿名。

What is knownTor exit relayVPN exit server
Your public addressSeen by the guard relay, not the exitSeen at the endpoint
Final destinationSeen at the exitSeen at the endpoint
CoverageApplications configured for Tor, chiefly Tor BrowserWhatever the route policy includes
Plain HTTP payloadReadable at the exitReadable at the endpoint

覆盖范围是浏览器决定,还是路由决定

Tor 浏览器自己为流量选路,并加上通用 VPN 客户端不会复现的保护:抗指纹、第一方隔离、固定窗口大小,以及丢弃会话状态的“新建身份”操作。其他应用除非专门配置,否则不会走那条链路;而系统级 Tor 配置与安装浏览器是两个独立项目。

VPN 的形状相反。覆盖范围跟随路由表,所以带 AllowedIPs = 0.0.0.0/0 的 WireGuard 配置会捕获全部流量,而分隧道列表只捕获它列出的前缀。泄漏也正出在这个机制里:DNS 查询、IPv6 和 WebRTC 都可能走到路由策略未包含的路径。要从失败的那个应用内部检查,而不是从可能使用另一网卡的浏览器标签页检查。

端口策略、被封锁的目的地与 HTTPS

出口中继可以拒绝出站端口,默认策略会拒绝一份易被滥用的端口清单,其中就有 SMTP 端口 25。因此通过 Tor 配置的邮件客户端会在出口失败,看起来像网络故障,其实不是。运营中继的人会明确设置这一点:

# torrc — refuse outbound SMTP from this relay
ExitPolicy reject *:25

目的地也在封锁,而且对两种系统的封锁方式不同。Tor 出口地址是公开的,站点可以整份拒绝;VPN 终点位于数据中心网段,同样被轻易拒绝。页面失败时,先分清三种可能再动手:出口或出站策略、拒绝来源的目的地,或劫持首个请求的强制门户。

两种系统都不能替代传输加密。明文 HTTP 在出口中继和 VPN 终点都同样可读,所以请保持 HTTPS 开启,并读懂证书警告而不是随手忽略。两项检查能很快判定路由问题:请求经过链路时 curl -s https://check.torproject.org/api/ip 返回 IsTor,而 curl -s https://ifconfig.me 显示 VPN 会呈现的出站地址。两项都跑一遍,就能知道 shell 实际走的是哪条路径。

不要把其中一个当成另一个

出口中继的地址不是 VPN 配置。把 OpenVPN 或 WireGuard 客户端指向 443 端口上的中继并不会建立隧道,因为那里没有 VPN 服务在监听;中继只是别人链路中的一跳。反过来说,VPN 终点不是 Tor 的入口,Tor 浏览器的网桥设置也不是粘贴商业 VPN 主机名的地方。如果你在 VPN 之上运行 Tor,入口守卫看到的是 VPN 地址而不是你的,这改变了分配,却没有合并两个角色。

选择之前,按顺序回答四个问题:谁运营终点、它保留什么;工具在这台设备上覆盖什么;出站策略允许哪些端口和目的地;以及应用在网络路径之外还增加了什么。许多程序需要普通网络访问的任务需要 VPN。需要浏览器级保护和链路模型的任务需要 Tor 浏览器,并保持更新。如果答案是“两者都要”,就按有意的顺序运行,并记下每一侧看到的是哪个地址。

相关文章