SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-08-23

Tor 与 VPN 区别:您实际需要哪一种?

Tor 与 VPN 解决不同问题:VPN 提供商可同时看到您的真实 IP 和目标地址,Tor 由 3 个中继拆分信任。了解每一跳能看到什么,以及用实名租用 VPS 为什么不能实现匿名。

Tor 与 VPN:您实际需要哪一种

Tor 和 VPN 都会将您的网络流量经由不属于您的计算机转发,但它们解决的是不同的问题。VPN(虚拟专用网络)会将您对互联网服务提供商的信任转移给一家 VPN 公司。该公司可以看到您的真实地址,以及您访问的每个目标地址。Tor 会将信任分散到由不同人员运行的 3 个中继节点,因此任何单个中继节点都无法同时知道您的身份和访问目标。请选择能够隐藏您身份的对象。

如果您要隐藏的是当前所连接的网络,VPN 是合适的工具。如果您要隐藏的是网站本身,或任何能够要求某家公司提供记录的人员或机构,Tor 是合适的工具。本指南的其余内容将详细说明这两点。

跟踪两种设计中的同一个请求

以一个普通请求为例:您的浏览器打开 https://news.example.com。无论采用哪种设计,TLS(传输层安全)都会保护页面内容,因此中间人无法读取文章。关键在于元数据:谁能获知您的 IP 地址,谁能获知目标地址,以及谁能将这两项信息关联起来。隐私工具的作用,就是将这两项信息分开。VPN 会将这两项信息转交给另一个持有者。Tor 会将它们拆分。

使用 VPN 时各方能看到什么

您的客户端会加密每个数据包,并将其发送到一个端点。从该端点开始,流量会恢复为普通流量。

  • 您的 ISP(互联网服务提供商)可以看到您的线路与一个 VPN 服务器地址之间的加密数据包。它可以看到流量量和时间信息。只要 DNS(域名系统)查询也通过隧道传输,它就看不到目标主机名。
  • VPN 运营商可以在一侧看到您的真实 IP 地址,在另一侧看到每个目标地址,以及对应的时间和大小信息。这两部分信息都会汇聚到同一台机器上。
  • 目标站点可以看到 VPN 的出口地址,以及浏览器发送的所有识别信息。

因此,VPN 不会提供匿名性。它只是将观察者从您的 ISP 转移到了 VPN 提供商。当本地网络存在问题,或 ISP 会过滤或转售其看到的信息时,这确实有帮助。但对于您访问的站点,这完全没有帮助,因为您的流量仍会作为来自某个公司的单一数据流到达,而该公司确切知道您的身份,并保存您的付款记录。

“无日志”声明就是这类产品的核心,但您无法从自己的网络一侧验证这一点。您可以确认隧道已建立。您可以确认 DNS 没有泄漏。但您无法确认运营商会将什么写入磁盘。这就是您接受的交换条件:由您选择的一家公司掌握完整信息。

检查下面这个会悄然绕过隧道的泄漏问题:

resolvectl status
curl -s https://ifconfig.me; echo

ifconfig.me 输出的地址应为 VPN 出口地址。承载默认路由的链路所列出的 DNS 服务器应为隧道的解析器。如果其中仍列出您在 192.168.1.1 处的本地路由器,说明名称解析请求正通过本地链路以明文离开。这是因为到该路由器的路由属于链路本地路由,比隧道的默认路由更具体。您的流量是私密的,但您访问的站点列表并不私密。从 WireGuard 隧道泄漏的 DNS 查询介绍了修复方法。

使用 Tor 时各方能看到什么

Tor 从目录机构发布的已签名中继列表(即共识)中选择 3 个中继,构建一条电路。客户端为数据添加分层加密,每个中继对应一层。每个中继移除一层,只知道下一个跳点,然后继续转发剩余内容。正因为有这些层,路径中的任何一方都无法同时掌握这两项信息。

  • 你的 ISP 能看到发往一个 guard 中继的加密流量。中继地址是公开的,因此 ISP 可以判断你正在使用 Tor,但无法知道你访问了什么。
  • guard 中继能看到你的真实 IP 地址,但无法看到目标地址,因为消息中标识站点的部分仍由后续中继加密。
  • 中间中继能看到一侧的 guard 和另一侧的 exit,但看不到你,也看不到目标。它的作用是确保 guard 和 exit 不会直接通信。
  • exit 中继能看到目标地址,以及流量离开 Tor 网络时的内容。它看到的是中间中继的地址,而不是你的地址。使用 HTTPS 时,它能看到主机名和连接元数据,但看不到页面内容。
  • 目标站点能看到 exit 中继的地址。该地址会出现在公开的 exit 列表中。目标站点还可以看到浏览器主动提供的信息。

要将你与站点关联起来,需要同时控制 guard 和 exit。这就是 Tor 设计的核心。也正因如此,客户端会连续数月使用同一个 guard,而不是每次启动都选择新的 guard:不断轮换入口会让恶意中继反复获得成为你 guard 的机会。

电路不是永久的。新连接大约每 10 分钟切换到新电路,而已经建立的流会继续使用其启动时所在的电路。一个长时间下载的连接和 15 分钟后打开的标签页,通常会从不同的 exit 发出。

三个跳点如何建立,且不会让任何中继知道其他中继

客户端不会把中继列表交给 guard。它先与 guard 协商密钥,然后通过 guard 发送请求,要求将电路扩展到中间中继;接着再通过该跳点发送请求,将电路扩展到 exit。每个中继只会获知它下一步必须通信的邻居,每个跳点都有自己的密钥,其他跳点无法看到该密钥。因此,中间中继无法通过检查流量得知 exit 的角色;即使某个中继记录它处理的所有内容,它记录到的仍然只是一个片段。

安装并验证路径:

sudo apt update && sudo apt install -y tor
systemctl status tor@default
journalctl -u tor@default -n 20
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip

日志应到达 Bootstrapped 100% (done): Done。curl 应输出 {"IsTor":true,"IP":"..."},其中包含一个你不认识的地址,这就是当前使用的 exit。如果 IsTor 是 false,则请求从未经过代理。Ubuntu 软件包中的 Tor 可能落后于当前版本;如果需要跟踪上游版本,Tor Project 提供了自己的 apt 软件源。

该命令中有一个容易忽略的问题。--socks5 会让 curl 自行解析主机名,然后通过代理发送解析出的地址,因此你使用的常规解析器会获知你访问的每个名称。--socks5-hostname 会将名称发送给 Tor,并让 exit 负责解析。使用的是同一条隧道,但泄露情况完全不同。Tor Browser 和 torsocks 会正确处理这一点。手动配置的工具通常不会。

Tor 只承载 TCP 流。它无法承载 UDP,因此 ping 1.1.1.1 不会经过 Tor,基于 UDP 的 VPN 协议也无法在 Tor 内运行。任何忽略代理设置的程序,都会使用常规路由和常规地址,并且不会发出任何警告。因此,系统范围的 Tor 通常通过独立设备上的透明代理实现,而不是通过环境变量实现。

信任实际上落在哪里

VPN 会集中信任。一家公司掌握您的身份、账单记录和完整的流量模式,而您的保护依赖于它承诺不保留日志。只要这项承诺有效,这种设计就简洁、快速且易于理解。如果承诺因传票、服务器遭入侵或欺骗而失效,所有流量的保护会同时完全失效。

Tor 会分散信任。3 个彼此大多互不相识的参与方各自持有一部分信息,而单独的一部分信息价值很低。要让该设计正常运行,不要求任何一方都诚实。只要求其中足够多的参与方彼此独立。为此,您需要付出速度、仅支持 TCP,以及面对这样一个网络:其中一些中继节点必然由想要监控您的人员运行。Tor 对恶意中继节点的应对方式是:单个中继节点永远不够。

何时应使用 VPN

  • 您不信任当前网络:酒店、机场、会议厅或房东的路由器。网络运营者只能看到加密隧道,无法看到其他内容。
  • 您希望访问自己的机器,或通过自己控制的固定地址访问外部网络。
  • 您需要高速连接和 UDP:视频通话、游戏、大文件传输、备份。
  • 您希望使用网站不会质疑的稳定地址。Tor 出口节点在互联网的许多地方都会被拦截或要求完成 CAPTCHA。

上述情况说明,您可以在 VPS 上运行自己的 VPN,而不是购买订阅服务;自行配置的 WireGuard 服务器会为您提供一个隧道,其日志记录策略由您自己拥有的配置文件决定。如果您还希望在此隧道之上使用设备到设备的密钥管理,请阅读纯 WireGuard 与 Tailscale 的区别。加入 tailnet 后,访问自己的服务与将其中一个服务发布到开放互联网是两个独立的决定;serve 会将服务限制在 tailnet 内,而 funnel 会将其暴露到互联网。这些工具都非常适合处理本节列出的情况。但它们都不能解决下一节列出的问题。

Tor 适用的场景

  • 您的对手包括目标网站,或任何能够要求单家公司提供记录的人。
  • 您正在阅读或发布某些内容;如果这些内容被追溯到您的线路,可能会对您造成伤害。
  • 您需要 onion 服务:流量始终留在该网络内,不经过出口中继,并且服务器地址保持隐藏。
  • 您可以接受缓慢的页面、CAPTCHA,以及偶尔出现的 403 Forbidden。

如果您对第三点涉及的服务器端内容感兴趣,请参阅在 VPS 上运行 v3 onion 服务。其中介绍如何在路径中不经过出口中继的情况下访问网站,以及哪些常见泄漏仍会将该主机与其公网地址关联起来。

请使用 Tor Browser,不要使用日常浏览器连接到 9050 端口。浏览器是这层保护的一半,后下下个章节会解释原因。

为什么您租用的 VPS 在匿名性方面不如商业 VPN

这是一个常被误解的问题。您租用的 VPS 是一项登记在您名下的租赁服务。注册邮箱、付款卡、账单和支持工单,都与该 IP 地址一起存储在同一家公司的数据库中。提供商无需破解任何系统,就能将这个地址与您关联起来。这些信息已经被记录,并因日常记账需要而保留;任何能够提出具有法律效力的请求的人,都可以向提供商索取这些信息。

第二个问题是用户数量。商业 VPN 的出口地址会在同一时间由许多客户共享,因此仅凭该地址无法指向某一个人。您的 VPS 地址只属于您。所有从该地址发出的请求,无论今天还是下个月,都是您发出的;而且该地址不会轮换,因此目标网站无需使用任何 cookie,也可以跨数月建立您的行为画像。

这并不意味着自托管 VPN 没有用处。它非常适合在您无法控制的网络上加密流量,也适合从任意位置访问您自己的服务。它只是不是匿名工具,把它当作匿名工具才是问题所在。有关服务提供商在 VPS 本机上能够以及不能看到哪些内容,请阅读 VPS 托管的实际安全性。

Tor 和 VPN 都无法解决的问题

  • 浏览器指纹。您的 user agent、屏幕尺寸、时区、已安装字体、语言和 canvas 渲染特征会组合成一个通常具有唯一性的值,并且会跟随您使用的每个 IP 地址。Tor Browser 通过让所有用户显示出相同特征,并按固定步长调整窗口大小来抵御浏览器指纹识别。通过 SOCKS 代理连接的普通浏览器仍会保留自己的指纹和 cookie。
  • 登录。您登录一个知道您姓名的帐户后,网络层就不再重要。从家中登录一次,再通过 Tor 登录同一帐户一次,就会将两个会话关联起来。
  • 端点本身仍会记录的任何内容:您输入的内容、购买的内容以及搜索的内容。
  • 端到端关联。能够同时监控您的线路和出口节点的人,可以对照时间和数据包数量,从而匹配两端的流量。Tor 明确说明,它无法防御能够看到两端的攻击者。

能否同时使用 Tor 和 VPN?

VPN over Tor 表示先连接 VPN,再在 VPN 连接中运行 Tor。这样,ISP 只能看到 VPN,入口中继看到的也是 VPN 的地址,而不是您的地址。但您也将一家持有您姓名和银行卡信息的公司置于一个本来就是为避免这种关联而设计的系统之前。只有在一种情况下值得这样做:在您的网络环境中直接使用 Tor 会带来危险,且您没有更好的选择。

Tor over VPN 表示流量离开 Tor 网络后再进入 VPN 账户。这种方式更难配置,通常也更差。该账户关联着您的付款记录,因此您把一个稳定身份绑定到了刚才还是匿名的流量上。

如果您的目标只是向 ISP 隐藏 Tor 的使用情况,受支持的方案是使用网桥:通过不属于公开共识的入口点,并结合 obfs4 或 Snowflake 等可插拔传输,使流量难以被分类。Tor Browser 已内置这两种传输方式,也不需要第三方公司获取您的姓名。

FAQ

Tor 只是免费的 VPN 吗?

不是。VPN 会将您的流量发送到由某家公司运营的一台服务器。该公司可以看到您的真实地址和所有目标地址,因此只是用您选择的 VPN 提供商替代了 ISP。Tor 会将流量依次发送到由不同人员运营的 3 个中继。入口中继可以看到您,但看不到您访问的网站;出口中继可以看到网站,但看不到您。Tor 还仅支持 TCP,速度明显更慢,并且会被许多网站阻止或要求额外验证。因此,Tor 不能直接替代 VPN 的日常用途。

我的 ISP 能知道我正在使用 Tor 吗?

默认情况下可以。中继地址会发布在公共共识中,因此您的提供商可以看到您正在连接一个已知的入口中继,但无法看到您访问了哪些网站。若要隐藏 Tor 的使用本身,Tor Browser 提供带有可插拔传输协议(例如 obfs4 或 Snowflake)的网桥。它们会通过不在公共列表中的入口点建立连接。在 Tor 前使用 VPN 也能向 ISP 隐藏 Tor,但 VPN 运营商会因此知道这一事实。

在自己的 VPS 上运行 VPN 能让我匿名吗?

不能。服务器使用您的姓名和银行卡租用,因此提供商的账单记录已经将该地址与您关联。只要向提供商提出请求,就可以读取这些记录。该地址也仅由您使用,因此从该地址发出的所有内容都属于同一个人,并且只要您继续保留服务器,就始终可以关联到您。自托管 VPN 可以有效防止本地网络窥探,但无法有效防止任何能够向提供商提出查询的人确认您的身份。

为什么我使用 Tor 时,网站会阻止我或显示 CAPTCHA?

因为出口中继地址是公开的,并且由大量用户共享。任何一个用户发起的滥用行为,都会关联到您借用的地址。内容分发网络通常会降低这些地址的信誉评分,并返回验证挑战、一个 403 Forbidden,或拒绝提交的注册表单。您无法通过本地设置消除此问题。新建电路会为您分配不同的出口,有时该出口的信誉会更好。

如果我使用 VPN,DNS 查询仍会泄露吗?

可能会,而且这种情况很常见。如果使用全隧道,但未为隧道接口设置解析器,客户端会继续使用从本地网络获取的解析器。由于到该解析器的路由位于本地链路上,因此会优先于隧道的默认路由。这样,DNS 查询会以明文发送,而其他流量仍处于加密状态。运行 resolvectl status,确认承载默认路由的链路所列出的 DNS 服务器是隧道的解析器,而不是本地路由器。