1. 啟用軟體自動更新

保持中繼安全最重要的事情之一是及時安裝安全更新,最好是自動安裝,這樣您就不會忘記它。 依照說明為您的作業系統啟用 automatic software updates

2. 設置 Tor Project 代碼存放庫

建議為 Debian/Ubuntu 配置 Tor 專案的軟體包儲存庫,並記錄在 Support portal 上。請先按照這些說明進行操作,然後再繼續。

注意:Ubuntu 用戶需要從 Tor Project 的軟體倉庫取得 Tor。

3. 安裝 Tor

在安裝套件之前,請確保更新套件資料庫,然後呼叫 apt 進行安裝:

# apt update
# apt install tor

4. 安裝 obfs4proxy

Debian 上,obfs4proxy 套件可在 unstable、testing 和 stable 版本中取得。 在 Ubuntu 上,bionic、cosmic、disco、eoan 和 focus 都有該軟體套件。 如果您正在運行其中任何一個,sudo apt-get install obfs4proxy 應該可以工作。

若沒有,您可以從原始碼建置

5. 編輯 Tor 設定檔(通常位於 /etc/tor/torrc)並將其內容替換為:

BridgeRelay 1

# 將"TODO1"替換成你選擇的Tor埠。
# 該連接埠必須可從外部存取。
# 避免使用連接埠 9001,因為它通常與 Tor 相關聯,並且審查人員可能會在互聯網上掃描該連接埠。
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# 將“TODO2”替換為您選擇的 obfs4 連接埠。
# 此連接埠必須可從外部訪問,並且必須與為 ORPort 指定的連接埠不同。
# 避免使用連接埠 9001,因為它通常與 Tor 相關聯,並且審查人員可能會在互聯網上掃描該連接埠。
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Tor 和 obfs4 之間的本機通訊連接埠。  始終將其設為“自動”。
# “Ext”的意思是“擴展”,而不是“外部”。  不要嘗試設定特定的連接埠號,也不要監聽 0.0.0.0。
ExtORPort auto

# 將「<address@email.com>」替換為您的電子郵件地址,以便我們在您的網橋出現問題時可以與您聯絡。
# 這是可選的,但受到鼓勵。
ContactInfo <address@email.com>

# 為您的橋樑選擇您喜歡的暱稱。  這是可選的。
Nickname PickANickname

不要忘記更改 ORPortServerTransportListenAddrContactInfoNickname 選項。

請注意,Tor 的 OR 端口及其 obfs4 端口都必須可通。 如果您的橋接位於防火牆或 NAT 之後,請確保打開這兩個端口。可利用可達性測試 來查看從網際網路可否訪問您的 obfs4 端口。

(可選)配置 systemd 以允許在特權連接埠上綁定 obfs4

若您決定使用小於 1024 的固定 obfs4 埠(例如 80 或 443),需設定 systemd 並賦予 obfs4 CAP_NET_BIND_SERVICE 能力,讓非 root 使用者也能綁定該埠:

sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

若要繞過 systemd 強化,您還需編輯並變更設定。

運行命令:

sudo systemctl edit tor@.service tor@default.service

在編輯器中,輸入以下文本,然後儲存並退出。

[Service]
NoNewPrivileges=no

在出現的第二個編輯器中,輸入相同的文本,然後儲存並退出。

[Service]
NoNewPrivileges=no

若一切正常,您現在應有兩個檔案 /etc/systemd/system/tor@.service.d/override.conf/etc/systemd/system/tor@default.service.d/override.conf,內含您輸入的文字。

現在重新啟動 Tor 服務:

sudo service tor restart

無需執行 systemctl daemon-reload,因為 systemctl edit 會自動執行。 有關更多詳細信息,請參閱票證 18356

6. 重啟 Tor

打開與啟動 tor:

# systemctl enable --now tor.service

若服務已在運行,請重新啟動以使設定生效:

# systemctl restart tor.service

7. 監看歷程記錄

要確認您的網橋運作沒有問題,您應該會看到類似這樣的內容(通常在 /var/log/syslog 或執行 # journalctl -e -u tor@default 中):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

8. 最後備註

如果您在設定橋接時遇到問題,請查看 our help section。 如果您的網橋現在正在運行,請查看安裝後註釋