---
title: "如何在 VPS 上运行 Tor 中继、网桥或洋葱服务"
description: "在 VPS 上运行 Tor 中间中继、网桥、出口节点或洋葱服务：从 Tor 项目官方源安装、torrc 配置、端口、出口节点礼仪与检查。"
url: https://offshoreserv.com/zh/docs/vps/tor-relay
lang: zh-Hans
updated: 2026-09-26
source: HTML page at the url above (canonical); this is its Markdown version
---

知识库 · VPS

# 如何在 VPS 上运行 Tor 中继、网桥或洋葱服务

在 VPS 上运行 Tor 中继：从 Tor 项目的软件仓库安装 tor，然后搭建中间中继、obfs4 网桥、出口中继或洋葱服务。

更新于 2026年9月26日 阅读约 11 分钟

本指南要点

- 从 Tor 项目自己的软件仓库安装 tor，该仓库提供当前的稳定版。
- 中间中继或守卫中继需要一个昵称、一个公开的联系方式、一个开放的 ORPort，以及 ExitRelay 0。
- 网桥会额外启用 obfs4 传输，并且不会出现在公开的中继列表中。
- 出口节点需要一个包含 tor-exit 的反向 DNS 名称、精简出口策略、告知页面和本地 DNS 解析器，并且会招来滥用举报。
- 洋葱服务将一个.onion 地址指向运行在 127.0.0.1 上的网站；请备份其密钥。

VPS9 个章节

要在 VPS 上运行 Tor 中继，请从 Tor 项目自己的软件仓库安装 tor，在 `/etc/tor/torrc` 中写入昵称、联系方式和 ORPort，在防火墙中开放该端口，然后重启 tor。同一个 tor 还可以运行使用 obfs4 传输的网桥、出口中继，或为您自己的网站提供洋葱服务。

以下步骤使用运行 Debian 12 或 13、或 Ubuntu 22.04 或 24.04 LTS 的 [离岸 VPS](https://offshoreserv.com/zh/offshore-vps)，并按照 [快速入门](https://offshoreserv.com/zh/docs/getting-started) 获得 root 权限。每台服务器只承担一种角色：Tor 项目建议不要在中继上托管洋葱服务，网桥也不应复用公开中继的地址。

> 修改防火墙时，请保持 SSH 会话不要断开。如果某条规则导致您无法登录，仍可通过客户中心的控制台访问 VPS。

## 在 VPS 上运行 Tor 中继之前：选择角色

| 角色 | 作用 | 滥用举报 | Tor 项目最低要求 | 建议起步套餐 |
| --- | --- | --- | --- | --- |
| 中间中继或守卫中继 | 转发加密流量；之后可担任守卫，即第一跳 | 通常没有 | 上下行各 10 Mbit/s，每月 100 GB 流量，512 MB 内存（超过 40 Mbit/s 时需 1 GB） | Sloop：2 GB 内存，每月 $3.49 |
| 网桥 | 不公开的入口点，供处于受审查网络中的用户使用 | 不太可能 | 上下行各 1 Mbit/s | Dinghy：1 GB，$2.39 |
| 出口中继 | 最后一跳：目标站点看到的是您服务器的 IP 地址 | 预计会收到 | 建议 1.5 GB 内存 | Cutter：4 GB，$5.49 |
| 洋葱服务 | 您的网站使用.onion 地址，只能通过 Tor 访问 | 仅针对您的内容 | 取决于您的网站需求 | 小型网站可选 Dinghy |

每个 VPS 套餐都包含中继所需的独立 IPv4 地址，并且在我们的 1 Gbps 端口上，流量在合理使用范围内不限。如果繁忙的中继在 VPS 上造成问题，我们会先在客户中心通知您并建议解决方法。您可以按下文所示为 tor 设置上限，或将高速中继迁移到 [独立服务器](https://offshoreserv.com/zh/offshore-dedicated-servers) 上，独立服务器可以按其标称容量充分使用。

我们的 [可接受使用政策](https://offshoreserv.com/zh/acceptable-use-policy) 欢迎中继和网桥，并允许遵循 Tor 项目指南的出口节点。中继的地址和联系信息都是公开的：如果不能让中继追溯到您本人，请阅读 [如何匿名购买 VPS](https://offshoreserv.com/zh/blog/buy-a-vps-anonymously)。地区决定了适用哪个国家的法律，[网络页面](https://offshoreserv.com/zh/network) 则提供了延迟对比。

## 从 Tor 项目的软件仓库安装 Tor

Tor 项目 [推荐使用其自己的软件仓库](https://support.torproject.org/apt/tor-deb-repo/)，而不是 Debian 的 LTS 版本或 Ubuntu 的 universe 软件包，因为后者“未能得到可靠的更新”。该仓库提供当前的稳定系列 0.4.9：

```
apt update
apt install -y apt-transport-https gnupg wget
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null
. /etc/os-release
cat > /etc/apt/sources.list.d/tor.sources <<EOF
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: $VERSION_CODENAME
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
EOF
apt update
apt install -y tor deb.torproject.org-keyring
tor --version
```

`/etc/os-release` 提供您系统的版本代号，例如 `trixie` 或 `noble`。keyring 软件包会让签名密钥保持最新，最后一条命令应输出 0.4.9 版本。

## 在 VPS 上运行 Tor 中间中继或守卫中继

将 `/etc/tor/torrc` 的内容替换为以下来自 Tor 项目 [中继指南](https://community.torproject.org/relay/setup/guard/debian-ubuntu/) 的配置行，并填入您自己的值：

```
Nickname    myNiceRelay
ContactInfo YOUR_CONTACT_ADDRESS
ORPort      443
ExitRelay   0
SocksPort   0
```

- **Nickname**: 1 至 19 个字母和数字。
- **ContactInfo**: 当中继出现异常时，他人联系您的方式。该信息会被公开，因此请使用专门为此准备的地址；如果您运行多个中继，则必须填写。
- **ORPort**: 客户端和其他中继通过 IPv4 和 IPv6 连接的端口。任何空闲端口均可。
- **ExitRelay 0**: 流量只在 Tor 网络内部传输。
- **SocksPort 0**: 关闭软件包默认开启的本地客户端端口 9050。

开放端口，重启 tor 并查看日志。如果 UFW 尚未启用，请先按照 [加固指南](https://offshoreserv.com/zh/docs/security/hardening) 放行 SSH。

```
ufw allow 443/tcp
systemctl restart tor@default
journalctl -e -u tor@default
```

可达性检查最多可能需要 20 分钟，结束时会显示 `Self-testing indicates your ORPort... is reachable from the outside. Excellent. Publishing server descriptor.` 大约三小时后，可以在 [Relay Search](https://metrics.torproject.org/rs.html) 上通过 `/var/lib/tor/fingerprint` 中的指纹找到您的中继。之后流量会在数周内逐步增加，正如 Tor 项目的 [新中继的生命周期](https://blog.torproject.org/lifecycle-of-a-new-relay/) 一文所解释的那样。

### 限制带宽（可选）

如需限制中继的带宽，请将以下任一配置段添加到 `torrc` 中，然后重启 tor：

```
# average and burst rate, in each direction
RelayBandwidthRate  25 MBytes
RelayBandwidthBurst 50 MBytes

# or a monthly quota
AccountingStart month 1 00:00
AccountingMax   4 TBytes
```

Tor 按 2 的幂计算，因此每秒 25 MBytes 约等于 210 Mbit/s。达到配额后，tor 会进入休眠状态，直到下一个周期；[tor 手册](https://2019.www.torproject.org/docs/tor-manual.html.en) 认为这种做法优于设置非常低的速率。

## 在 VPS 上运行 Tor 网桥

网桥是不在公开目录中的中继，因此更难被封锁。用户通过 obfs4 连接网桥，obfs4 是一种可插拔传输，它会对 Tor 流量进行变换以绕过审查。按照 Tor 项目 [网桥指南](https://community.torproject.org/relay/setup/bridge/debian-ubuntu/) 的说明，安装它并替换 `torrc`：

```
apt install -y obfs4proxy
```

```
BridgeRelay 1
ORPort 8443
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 0.0.0.0:8080
ExtORPort auto
ContactInfo YOUR_CONTACT_ADDRESS
Nickname PickANickname
```

请使用两个不同的、大于 1024 的空闲端口，并避开 9001，因为审查者可能会扫描该端口；使用更低的端口需要执行指南中的两个额外步骤。开放这两个端口并重启：

```
ufw allow 8443/tcp
ufw allow 8080/tcp
systemctl restart tor@default
```

日志中应显示 `Registered server transport 'obfs4'`；如果没有，请检查 `ServerTransportPlugin` 的路径。Tor 项目现在以 lyrebird 的名称继续开发 obfs4proxy，它是一个 [支持更多传输方式的分支](https://packages.debian.org/sid/lyrebird)，但 Debian 12 和 13 以及 Ubuntu 22.04 和 24.04 仍然打包的是 `obfs4proxy`。如果系统中打包的是 `lyrebird`，请安装它并使用 `/usr/bin/lyrebird`。

您的网桥配置行位于 `/var/lib/tor/pt_state/obfs4_bridgeline.txt` 中：补上 IPv4 地址、obfs4 端口以及 `/var/lib/tor/fingerprint` 中的指纹，即可得到 `Bridge obfs4 SERVER_IP:8080 FINGERPRINT cert=... iat-mode=0`。除非您设置了 `BridgeDistribution none`，否则 Tor 项目会分发您的网桥，用户可能需要数天乃至数周才会陆续到来。请勿将网桥加入中继家族，也不要将现有中继改作网桥。

## 负责任地运行 Tor 出口中继

目标站点会将出口节点的 IP 地址视为流量来源，因此出口节点会招来滥用投诉；Tor 项目也指出，出口节点“在所有中继中面临最大的法律风险和责任”。只要您遵循 Tor 项目的 [出口节点指南](https://community.torproject.org/relay/setup/exit/) 并采用精简出口策略，我们的可接受使用政策就允许运行出口节点。按照 EFF 的建议，请为出口节点使用独立的 IP 地址，不在其上存放任何个人数据，并且绝不让您自己的流量经过它。

### 1. 申请反向 DNS 名称

在启用出口功能之前，请在客户中心服务器页面的 **服务器操作** 中选择 **设置反向 DNS（PTR）** ，填写您自己域名下的主机名，例如 `tor-exit.example.org`。Tor 项目建议在名称中包含“tor-exit”，但绝不要使用 torproject.org。

### 2. 准备出口告知页面

80 端口上的一个页面会告诉任何查看该地址的人：这是一个 Tor 出口节点；该页面的作者表示，此举“已被证明能非常有效地减少滥用投诉”。复制 tor 自带的模板：

```
cp /usr/share/doc/tor/tor-exit-notice.html /etc/tor/tor-exit-notice.html
```

最小化的 Ubuntu 镜像不包含文档文件。如果该文件不存在，请改为从软件包中提取：

```
cd /tmp && apt download tor
dpkg-deb --fsys-tarfile tor_*.deb | tar -xO ./usr/share/doc/tor/tor-exit-notice.html > /etc/tor/tor-exit-notice.html
```

然后编辑标有 FIXME 的部分：您的主机名、联系地址，以及仅适用于美国的章节（非美国运营者应将其删除）。

### 3. 配置出口节点

```
Nickname    myExitRelay
ContactInfo YOUR_CONTACT_ADDRESS
ORPort      443
DirPort     80
DirPortFrontPage /etc/tor/tor-exit-notice.html
ExitRelay   1
ReducedExitPolicy 1
SocksPort   0
```

精简策略大约放行 65 个端口，其中包括网页、加密邮件和 SSH，但不包括 25 端口，我们的网络默认也会封禁该端口。`ExitPolicy` 行会优先生效，因此 `ExitPolicy reject *:22` 也会拒绝 SSH；`IPv6Exit 1` 则会增加 IPv6。DirPort 仍会提供告知页面，尽管中继已不再公布 DirPort。

### 4. 运行本地 DNS 解析器并启动

出口节点要为 Tor 用户解析域名，因此 Tor 项目要求使用本地的、带缓存并验证 DNSSEC 的解析器；其 [Debian 和 Ubuntu 操作步骤](https://community.torproject.org/relay/setup/exit/debian-ubuntu/) 使用的是 Unbound。我们额外添加的 `rm` 在 Ubuntu 上很关键，因为在 Ubuntu 上 `/etc/resolv.conf` 是一个指向 systemd-resolved 的链接：systemd-resolved 只会读取放在该位置的普通文件，详见其 [手册](https://manpages.ubuntu.com/manpages/noble/en/man8/systemd-resolved.service.8.html)。

```
apt install -y unbound
systemctl enable --now unbound
cp /etc/resolv.conf /etc/resolv.conf.backup
rm -f /etc/resolv.conf
echo nameserver 127.0.0.1 > /etc/resolv.conf
chattr +i /etc/resolv.conf
ufw allow 443/tcp
ufw allow 80/tcp
systemctl restart tor@default
```

Unbound 默认只在 localhost 上响应；请保持这一设置，因为开放解析器违反我们的可接受使用政策。之后，访问 `http://SERVER_IP/` 应能看到告知页面。

### 我们如何处理针对您出口节点的投诉

针对 Tor 用户经由您的出口节点所发送流量的举报，会按照我们常规的 [投诉处理流程](https://offshoreserv.com/zh/dmca-policy) 处理，而不是自动暂停服务。每一份举报都会依据服务器所在地的法律进行审查；外国通知（包括美国 DMCA 通知）会得到答复，但不予执行，我们也可以在客户中心将其实质内容转告您。如果是独立服务器或 GPU 服务器，请在启动出口节点之前通过工单告知我们，以便我们迅速将举报转交给您。

> 这并不意味着豁免。服务器所在国的有效法院命令，或在我们的欧盟地区符合欧盟《数字服务法》要求的通知，仍然可以要求我们采取行动；除非法院禁止，否则您会事先得到通知，并可以先行答复。您自己运行的活动，例如攻击、垃圾邮件或扫描，适用零容忍规则。

## 托管 Tor 洋葱服务（隐藏服务）

洋葱服务（tor 的配置中称为 Tor 隐藏服务）会在一个只能通过 Tor 访问的.onion 地址上发布网站。它不需要开放任何端口，因为 tor 只向外发起连接，所以网站只需监听 127.0.0.1。安装 nginx，删除其默认站点（它会在所有地址上响应），然后在本地提供您的页面：

```
apt install -y nginx
rm /etc/nginx/sites-enabled/default
mkdir -p /var/www/onion
echo 'Hello from my onion site' > /var/www/onion/index.html
cat > /etc/nginx/conf.d/onion.conf <<'EOF'
server {
    listen 127.0.0.1:8080;
    root /var/www/onion;
    server_tokens off;
}
EOF
nginx -t
systemctl reload nginx
```

在 `torrc` 中添加 Tor 项目 [洋葱服务指南](https://community.torproject.org/onion-services/setup/) 中的两行配置，然后重启 tor 并查看您的地址：

```
HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 127.0.0.1:8080
```

```
systemctl restart tor@default
cat /var/lib/tor/my-website/hostname
```

用 Tor Browser 打开该地址。请将该目录保留在 `/var/lib/tor` 下，tor 服务有权在此写入。其中的 `hs_ed25519_secret_key` 文件就等于您的地址，因为.onion 名称就是该密钥对应的公钥：任何人复制了它，就能冒充该服务；丢失了它，也就失去了这个地址，因此请按下文所示进行备份。

### 不要泄露服务器的地址

- 保持 80 和 443 端口关闭，使这些页面无法通过服务器的公网 IP 被找到。
- 隐藏版本标识、错误详情、状态页面和调试输出（例如 PHP 的 `phpinfo()`），这些信息可能暴露服务器的真实名称和地址。
- 注意出站连接，例如 DNS 查询、发送邮件或为访客抓取 URL：正如 Riseup 的[洋葱服务指南](https://riseup.net/en/security/network-security/tor/onionservices-best-practices)所述，这些连接来自您的真实 IP。其余事项请参阅 Tor 项目的[操作安全页面](https://community.torproject.org/onion-services/advanced/opsec/)。

### 通过公开网站公布洋葱地址（可选）

如果该网站同时通过 HTTPS 公开运行，在其 HTTPS server 块中加入下面这一行后，Tor Browser 就会提示访客可以使用洋葱地址，详见 [Onion-Location 指南](https://community.torproject.org/onion-services/advanced/onion-location/)。这会把两个地址关联起来：对公开镜像站没有问题，对匿名服务则是错误做法。

```
add_header Onion-Location http://YOUR_ONION_ADDRESS.onion$request_uri;
```

## 保持 Tor 中继健康运行

### 自动更新

让 [加固指南](https://offshoreserv.com/zh/docs/security/hardening#updates) 中配置的 unattended-upgrades 也一并更新 tor。按照 Tor 项目的 [更新指南](https://community.torproject.org/relay/setup/guard/debian-ubuntu/updates/)，在 Debian 上将第一行添加到 `/etc/apt/apt.conf.d/50unattended-upgrades` 的 `Unattended-Upgrade::Origins-Pattern` 块中，在 Ubuntu 上则将第二行添加到 `Unattended-Upgrade::Allowed-Origins` 中，然后用 `unattended-upgrade --debug --dry-run` 进行测试。

```
"origin=TorProject";
"TorProject:${distro_codename}";
```

### 备份

`/var/lib/tor` 中保存着中继的身份密钥、网桥的 `pt_state` 以及洋葱服务的密钥；没有这些文件，重装后的服务器会作为一个新中继启动。请按照 Tor 项目的建议将其打包归档，并将归档文件加密保存在服务器之外。恢复时，先停止 tor，再以 root 身份运行 `tar -xzf tor-backup.tar.gz -C /var/lib`，这样可以保留文件的所有者和权限。

```
tar -czf /root/tor-backup.tar.gz -C /var/lib tor
```

### 使用 nyx 进行监控

[nyx](https://nyx.torproject.org/) 是 Tor 项目的终端监控工具，可实时显示带宽、连接和事件。tor 软件包已经开启了 nyx 所用的控制套接字，因此以 root 身份运行 nyx 即可：

```
apt install -y nyx
nyx
```

### 多个中继：设置中继家族

将您的中继声明为同一个家族，这样客户端就不会在同一条线路中使用其中的两个中继。正如 Tor 项目的 [FamilyId 指南](https://community.torproject.org/relay/setup/post-install/family-ids/) 所述，自 tor 0.4.9 起，同一家族的中继共享一个密钥；其安装后指南称旧的 `MyFamily` 列表已被移除。只在其中一个中继上运行第一条命令，并且只运行一次：它会写入 `myrelays.secret_family_key` 并输出一行 `FamilyId`，再次运行则会覆盖该密钥。在每个中继上安装该密钥，将这一行添加到 `torrc` 中，然后重新加载。请妥善保管该密钥，切勿外泄。

```
tor --keygen-family myrelays
install -o debian-tor -g debian-tor -m 600 myrelays.secret_family_key /var/lib/tor/keys/
systemctl reload tor@default
```

## 故障排查

### tor 无法启动

按照服务每次启动前的检查方式来验证配置。它会输出被拒绝的内容，例如拼错的选项、无效的昵称或已被占用的端口（可用 `ss -tlnp` 查看端口占用情况）：

```
tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --verify-config
```

### ORPort 无法从外部访问

出现 `Your server has not managed to confirm reachability for its ORPort(s)` 表示该端口从外部无法访问，在端口可达之前，中继不会发布任何信息。请将 `ufw status` 的输出与 `ORPort` 这一行进行对照。如果只有 IPv6 地址不可达，请修复 IPv6，或改用 `ORPort 443 IPv4Only`。

## 常见问题

### 可以在 VPS 上运行 Tor 中继吗？

可以。中继需要一个 IPv4 地址和一个可访问的 TCP 端口；如果是中间中继或守卫中继，每个方向还需要至少 10 Mbit/s 的带宽。每台离岸 VPS 都是 KVM 虚拟机，拥有完整 root 权限和独立 IPv4 地址，我们的可接受使用政策也允许运行中继、网桥和出口节点。

### 运行 Tor 中继合法吗？

这取决于国家，既包括您所在的国家，也包括服务器所在的国家。就美国而言，EFF 的 [中继运营者法律常见问题](https://community.torproject.org/relay/community-resources/eff-tor-legal-faq/) 表示，据其所知，尚无人因运行中继而被起诉、遭到刑事追诉或被定罪，并认为根据美国法律，中继（包括出口节点）是合法的。出口节点面临的法律风险最大。

### 运行 Tor 中继会收到滥用投诉吗？

中间中继、守卫中继或网桥很少会收到：Tor 项目表示，守卫中继和中间中继通常不会收到投诉，网桥也不太可能收到。出口节点则会收到，因为访问目标看到的是出口节点的 IP 地址。我们按照投诉处理流程处理这些举报，而不是自动暂停服务。

### Tor 中继需要多少带宽？

根据 Tor 项目的 [中继要求](https://community.torproject.org/relay/relays-requirements/)，中间中继或守卫中继每个方向至少需要 10 Mbit/s（建议 16 Mbit/s），每月流量至少 100 GB，最好达到 2 TB。网桥需要 1 Mbit/s。我们的 1 Gbps 端口在合理使用前提下不限流量。

### 可以在同一台 VPS 上同时运行洋葱服务和普通网站吗？

可以：同一个 Web 服务器可以在服务器的 IP 地址上提供公开网站，在 127.0.0.1 上提供洋葱网站，只要两者都不响应对方的主机名即可。然后用 Onion-Location 标头将 Tor Browser 用户引导至洋葱地址。但这会把两者关联起来，因此匿名服务需要单独的一台服务器。

**某个步骤遇到困难？**

独立服务器和 GPU 服务器客户可在 [客户中心](https://offshoreserv.com/zh/account/support) 提交工单，注明服务器的 IP 地址以及已尝试过的操作。首次回复目标：12 小时内。其他服务器请使用其页面上的服务器操作、[指南](https://offshoreserv.com/zh/docs) 和 [网络状态](https://offshoreserv.com/zh/status) 页面。

---

OffshoreServ 是一家离岸主机服务商，在七个司法管辖区（冰岛、瑞士、摩尔多瓦、罗马尼亚、荷兰、保加利亚和马来西亚）提供 VPS、独立服务器、Windows RDP 和 GPU 服务器，仅接受加密货币付款（比特币、以太坊、门罗币、泰达币（USDT）和 Solana），无需身份验证（无需 KYC）。

Prices and plans: https://offshoreserv.com/zh/pricing · Answers: https://offshoreserv.com/zh/faq · Every page: https://offshoreserv.com/llms.txt
