1. 啟用軟體自動更新

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

2. 設置 Tor Project 代碼存放庫

為 Fedora 配置 Tor 專案的儲存庫基本上包括使用以下內容設定 /etc/yum.repos.d/Tor.repo

[tor]
name=Tor for Fedora $releasever - $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100

有關它的更多資訊可以找到here

3. 安裝 tor

一旦您配置了 Tor 儲存庫,您現在就可以安裝該軟體包了:

# dnf install tor

4. 安裝 obfs4proxy

我們在這裡選擇安裝並使用 obfs4 作為可插拔傳輸,因此我們將安裝 obfs4proxy

與其他Linux發行版不同的是,Fedora提供了一個我們可以使用的binary package。它從 Fedora 33 開始可用。

套件名稱為 obfs4,以下是安裝所需的全部指令:

# dnf install obfs4

有關從來源安裝或建置 lyrebird 的更多信息,請參閱其 official documentation

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

RunAsDaemon 1
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 端口。

6. 停用 SeLinux

請檢查 SeLinux 是否設為「Enforcing」:

# getenforce

若設為 Enforcing,請將 Status 改為 Permissive:

# setenforce 0

若要使變更永久生效:

# nano /etc/selinux/config

並將 SELINUX=enforcing 變更為 SELINUX=permissive。

7. 在Fedora防火牆中開啟端口

針對您在 torrc 檔案中選擇的 obfs4 和 ORPort:

# firewall-cmd --add-port XXX/tcp --permanent

對兩個連接埠執行此操作後,請執行:

# firewall-cmd --reload

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

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

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

8. 重新啟動 Tor

# systemctl enable --now tor

9.監控你的日誌

要確認您的網橋運行沒有問題,您應該會看到類似這樣的內容(通常在 /var/log/tor/log/var/log/syslog 中):

[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.

10. 最後的註釋

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