开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


Tor obfs4 网桥搭建能把一台闲置 VPS 变成不公开列出的入口,帮助处在审查网络中的人接入 Tor。你需要一家允许这样做的主机商、两个可从外部访问的 TCP 端口、Tor Project 的软件包、一份简短的 torrc,以及更新与停用计划。
关键要点:
- 网桥只把流量送进 Tor,不会把流量发往网站。
- 先确认主机商条款、流量额度和会被公开的联系地址。
- ORPort 和 obfs4 端口都必须能从互联网访问。
- 网桥行相当于凭证,只发给你打算提供的人。
- 自动更新、流量上限和有序停用,能避免网桥变成负担。
网桥把描述符发布到网桥数据库,而不是公开的目录权威服务器,因此它的地址不在公开的中继列表里。[1] 出口中继会把 Tor 流量发往目标网站;设置 ExitRelay 0 后,不允许任何流量出口。[1] 因此你的服务器只会把流量交给其他 Tor 节点,永远不会直接访问用户打开的网站。运营网桥与保护你自己的流量是两回事;做那个决定时,可以比较 Tor 与 VPN 的信任模型。
Tor Project 的指南配置的是 obfs4,这是一种用于伪装连接的可插拔传输,目的是帮助受审查的用户连接。[2] 如果想先从用户角度了解,可以阅读 Tor 网桥能为用户做什么。
本文依据下方列出的官方来源整理,未完成完整端到端实测。目标系统是 Debian 13(trixie)x64,该版本提供 obfs4proxy 0.0.14 软件包。[3] 是否要自己运营服务器,可以先参考自建服务的维护总览。
Tor Project 列出两项硬性要求:全天候联网,以及能把 TCP 端口暴露到互联网且不受 NAT 阻碍。[2] 一台带公网 IPv4 地址的小型 VPS 通常两项都能满足。
阅读主机商的可接受使用政策;如果其中没有提到 Tor,就直接询问客服。各家政策不同,有的会专门限制出口节点或 Tor 软件。不要向主机商隐瞒服务器用途。
核对每月流量额度。AccountingMax 按统计周期限制收发字节数,额度用完后 Tor 会休眠到下一个周期。[1] 另外,ContactInfo 会被存档、公开并被搜索引擎收录,最好使用专门的邮箱地址。[1]
从一台全新的 Debian 13 VPS 开始,使用 SSH 密钥登录,并保留主机商控制台用于救援。按 Tor Project 中继指南安装自动更新:[4]
sudo apt-get install unattended-upgrades apt-listchanges
在 /etc/apt/apt.conf.d/50unattended-upgrades 中,确认来源同时包括 Debian 安全更新和 Tor Project:
Unattended-Upgrade::Origins-Pattern {
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=TorProject";
};
然后写入 /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::AutocleanInterval "5";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Verbose "1";
自动重启是可选项,请判断这台服务器是否适合无人值守重启。[4]
网桥指南要求在安装 tor 之前先配置 Tor Project 软件源。[2] 先确认架构为 amd64 或 arm64,再导入签名密钥:[5]
sudo dpkg --print-architecture
sudo apt install apt-transport-https gnupg
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null
以 deb822 格式创建 /etc/apt/sources.list.d/tor.sources,发行版代号填 trixie:[5]
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
sudo apt update
sudo apt install tor deb.torproject.org-keyring obfs4proxy
Debian 软件包会把传输程序安装到 /usr/bin/obfs4proxy,由 tor 作为托管的辅助进程启动。[3]
替换 /etc/tor/torrc 的全部内容。Tor Project 的模板包含一个 ORPort、一个与之不同的 obfs4 端口,以及自动分配的 Extended ORPort;避免使用通常与 Tor 关联的 9001 端口。[2]
BridgeRelay 1
ORPort 9443
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 0.0.0.0:8443
ExtORPort auto
ExitRelay 0
ContactInfo bridge-admin@example.org
Nickname ExampleBridge
修改两个端口、联系地址和昵称。ExitRelay 0 把不做出口的意图写明。[1] 443 这类低于 1024 的端口需要额外授予能力并调整 systemd,指南中有说明;选用 1024 以上的端口就不必如此。[2]
有两行可选配置对运营者很重要:
| 选项 | 作用 | 适用场景 |
|---|---|---|
BridgeDistribution none | BridgeDB 不分发你的地址,默认值为 any | 只给熟人使用的私有网桥 |
AccountingMax 500 GBytes 加 AccountingStart month 1 00:00 | 每月额度用完后休眠 | 流量有硬性上限的套餐 |
这两种行为都来自 tor 手册,额度请按你的套餐设置。[1]
ORPort 和 obfs4 端口都必须可达,服务器前面的任何防火墙或 NAT 都要放行这两个端口。[2] 在主机商的云防火墙和主机防火墙中放行这两个端口的入站 TCP,并保留 SSH 规则。
sudo systemctl enable --now tor.service
sudo systemctl restart tor.service
sudo ss -lntp | grep -E ':(9443|8443) '
两个端口都应显示监听。如果缺少一个,先检查 torrc 是否有拼写错误,再去排查防火墙。
sudo journalctl -e -u tor@default
正常的网桥会在日志中记录身份密钥指纹、哈希后的身份密钥指纹,以及已注册 obfs4 服务端传输的提示。[2] 日志还会报告 ORPort 是否可达。obfs4 端口则使用 bridges.torproject.org/scan/ 上的可达性测试。[2]
| 检查方法 | 预期现象 | 失败时处理 |
|---|---|---|
重启后查看 journalctl | 出现指纹行和 obfs4 注册信息 | 修正 torrc 语法或 obfs4proxy 路径 |
| 日志中的 ORPort 自检 | 显示可达 | 在云防火墙中放行 TCP |
| 扫描 obfs4 端口 | 显示可达 | 放行 obfs4 端口,确认填的是 0.0.0.0 |
| 用哈希指纹在 Relay Search 查询 | 约三小时后出现网桥 | 稍候再查,并复核日志 |
新网桥大约三小时后会出现在 Relay Search 中,而形成稳定的用户群可能需要几天到几周。[6]
在 Debian 上,tor 会把客户端参数写入 /var/lib/tor/pt_state/obfs4_bridgeline.txt。[6][3]
sudo cat /var/lib/tor/pt_state/obfs4_bridgeline.txt
Tor 网桥行的格式为 Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=<CERTIFICATE> iat-mode=0。填入服务器公网 IP、obfs4 端口而不是 ORPort,以及身份密钥指纹而不是哈希指纹。[6]
把填好的网桥行当作密码对待。拿到它的人都能连接,想封锁这个网桥的人也只需要这一行。设置 BridgeDistribution none 时,请私下发送,并且只发给你打算提供的人。
每月检查一次更新机制,这个命令不会改动系统:[4]
sudo unattended-upgrade --debug --dry-run
pt_state 中的状态文件 obfs4_state.json 保存生成的参数,所以保留 /var/lib/tor 就能沿用同一证书。[3] 如果迁移到新的 IP 地址,需要重新生成并重新分发网桥行。把原先的公开中继改成网桥时,Tor Project 建议更换其 IP 地址、名称和指纹。[7]
停用前,先通知所有拿到网桥行的人,再停止服务并关闭两个端口:
sudo systemctl disable --now tor.service
只有确定以后不再沿用这个身份时,才删除 /var/lib/tor;如果软件源文件不再需要,也一并移除。
不会。网桥是帮助别人接入 Tor 的,你自己的流量需要单独的工具,叠加多种工具还会改变你信任的对象,参见 Tor over VPN 如何安排连接顺序。
不是。网桥只把流量送进 Tor 网络,在没有配置出口的情况下,不会有任何流量从你的服务器直接发往网站。
是的。官方指南要求 ORPort 和 obfs4 端口都能从互联网访问,缺少任何一个,网桥都无法正常提供服务。
新网桥大约三小时后才会出现在 Relay Search 中,而稳定的使用量往往需要几天甚至几周才会出现。
可以。设置 BridgeDistribution none 后,BridgeDB 不会分发你的地址,然后只把网桥行私下发给信任的人即可。
设置了 AccountingMax 后,额度接近用完时 tor 会停止接受新连接,用完后进入休眠,直到下一个统计周期开始。
只有能全天候在线、并且 TCP 端口能对外开放且不受 NAT 影响时才可行,很多家庭宽带至少不满足其中一项。
免责声明:运行 Tor 基础设施的规则因主机商和司法辖区而异。本文仅提供一般技术信息,不构成法律建议,请核对主机商条款及适用于你的法律。
来源:
Sources checked 2026 年 10 月 14 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。