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
不要忘記更改 ORPort、ServerTransportListenAddr、ContactInfo 和 Nickname 選項。
請注意,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。
如果您的網橋現在正在運行,請查看安裝後註釋。