1. 確保中繼埠可達

如果您使用防火牆,請在防火牆中開啟一個洞,以便傳入連線可以到達您將用於中繼的連接埠 (ORPort)。

另外,請確保您也允許所有傳出連接,以便您的中繼可以到達其他 Tor 中繼、用戶端和目的地。

您可以在設定頁面(在作業系統特定部分)中找到特定的 ORPort TCP 連接埠號碼。

2. 驗證您的繼電器是否正常運作

如果您的日誌檔案 (syslog) 在啟動 Tor 守護程式後包含以下項目,您的中繼應該如預期啟動並執行:

Self-testing indicates your ORPort is reachable from the outside. Excellent.
Publishing server descriptor.

在你啟動中繼點約 3 小時後,它應會出現在 Metrics 入口網站的 Relay Search 上。 您可以使用您的暱稱或 IP 位址搜尋您的中繼。

3. 了解 Tor 中繼生命週期

中繼流量需要一些時間才會增加,守衛中繼尤其如此,而出口中繼則較不受時間影響。 了解此過程,請閱讀 新中繼的生命週期

4. 配置管理

如果您打算執行多個中繼,或者想要執行高容量中繼(每個伺服器多個 Tor 實例),或者想要使用 Offline Master Keys 等強大的安全功能而不手動執行其他步驟,您可能需要使用設定管理來獲得更好的可維護性。

Unix 系統有多種設定管理解決方案(Ansible、Puppet、Salt 等)。

下列 Ansible Role 專為 Tor 中繼營運者打造,並支援多種作業系統:Ansible Relayor

5. 重要:如果您執行多個 Tor 實例

為了避免 Tor 用戶端面臨風險,在操作多個中繼時,您必須設定正確的 MyFamily 值,並在 torrc 設定中具有有效的 ContactInfo 。 MyFamily設置只是告訴Tor客戶哪些Tor繼電器由單一實體/運營商/組織控制,因此它們不會在單個電路中的多個位置使用。

若您執行兩個中繼,指紋為 AAAAAAAAAA 與 BBBBBBBB,可加入下列設定以設定 MyFamily:

MyFamily AAAAAAAAAA,BBBBBBBB

請對兩個中繼都套用此設定。若要查中繼指紋,可在 tor 啟動時查看日誌,或在 tor 資料目錄中尋找名為「fingerprint」的檔案。

對於大型營運商,我們建議透過組態管理解決方案自動執行 MyFamily 設置,而不是手動執行此操作。 對大型中繼點群組手動管理 MyFamily 容易出錯,並可能讓 Tor 用戶端面臨風險。

6.新增防火牆規則,防範DDoS攻擊

事實證明,將防火牆配置為阻止過多並發連線可以顯著幫助應對針對中繼的 DDoS 攻擊。

請考慮實作以下其中一種機制:

注意:這些為社群提供的資源。 在將它們應用到您的系統之前,您應該仔細檢查它們。 此外請注意,這些規則已證實可因應過去發生過的特定攻擊。 攻擊手法持續演進,往往需要新規則,因此請保持聯繫以便在必要時更新規則;你可以訂閱相關專案,或訂閱 tor-relays 郵件清單。

7. 可選:限制頻寬使用(和流量)

Tor 預設不會限制其頻寬使用,但支援多種方式限制使用的頻寬和流量。 若您希望確保 Tor 中繼不會超過每日/每週/每月的頻寬或總流量上限,這會很方便。 以下 torrc 設定選項可用於限制頻寬與流量:

  • AccountingMax
  • AccountingRule
  • AccountingStart
  • BandwidthRate
  • BandwidthBurst
  • RelayBandwidthRate

在一個月的某個時間進行快速轉播比進行整個月的緩慢轉播更可取。

另請參閱 FAQ 中的頻寬條目。

8. 檢查 IPv6 可用性

我們鼓勵所有人在自己的中繼點啟用 IPv6。這對出口節點與 guard 中繼點特別有價值。

在讓 tor 常駐程式除 IPv4 外也使用 IPv6 之前,請先做基本 IPv6 連線測試。

以下命令列將從您的伺服器 ping Tor 目錄權限的 IPv6 位址:

ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.

在輸出的末端,應該看到“OK”。 如果不是這種情況,請不要在 IPv6 實際運作前就把 torrc 配置檔 設為啟用 IPv6。 如果在 IPv6 連線不工作的情況下啟用 IPv6,則無論 IPv4 是否運作,整個中繼都將保持未使用狀態。

如果工作正常,請在您的設定中新增一條額外的 ORPort 線路(例如 ORPort 9001),使您的 Tor 中繼可透過 IPv6 存取:

ORPort [IPv6-address]:9001

該行在設定檔中的位置並不重要。 您可直接在 torrc 檔案第一組 ORPort 行旁加入。

注意:您必須以方括號明確指定 IPv6 位址,不能要 tor 綁定任意 IPv6(與 IPv4 不同)。 若您有全域 IPv6 位址,應能在下列指令輸出中找到:

ip -6 addr | grep global | sed 's/inet6//;s#/.*##'

如果您是具有 IPv6 連線的退出中繼,請告訴您的 Tor 守護程序允許透過 IPv6 退出,以便用戶端可以到達 IPv6 目的地:

IPv6Exit 1

注意:Tor 需要 IPv4 連線能力,你無法在僅有 IPv6 的環境中執行 Tor 中繼點。

9. 維護繼電器

備份 Tor 身份密鑰

在初次安裝並啟動 tor 服務後,建議備份中繼點的長期身份金鑰。 它們位於你 DataDirectory 的 keys 子資料夾中(直接複製整個資料夾,並存放在安全位置即可)。 由於中繼需要啟動時間,因此需要備份身份密鑰以便能夠在磁碟故障後恢復中繼的聲譽 - 不然就得再次經歷啟動階段。 只有當您的金鑰有一個非常安全的地方(就像被盜一樣)時才執行此操作,這些金鑰理論上可以允許流量解密或冒充。

金鑰資料夾的預設位置:

  • Debian/Ubuntu: /var/lib/tor/keys
  • FreeBSD: /var/db/tor/keys
  • OpenBSD: /var/tor/keys
  • Fedora: /var/lib/tor/keys

訂閱 tor-announce 郵件列表

這是一個流量非常低的郵件列表,您將獲得有關新的穩定版 Tor 版本的資訊和重要的安全更新資訊:tor-announce

設定停電通知

一旦你完成中繼點設定,它很可能不需你投入太多額外工作就能持續運作。 如果出現問題,最好能自動收到通知。 我們建議使用 Tor Project 開發的通知服務 Tor Weather。 它有助於在中繼點運營者的中繼點或橋接離線時,以及發生其他事件時,即時通知他們。

另一個選項是使用其中一個免費服務,讓您可以檢查中繼點 ORPort 的可達性,並在無法連接時寄送電子郵件通知您。 UptimeRobot 是允許您監視任意連接埠上的 TCP 偵聽器的服務之一。 這僅檢查偵聽器,但不使用 Tor 協定。

監控中繼健康狀態的一個好方法是查看其頻寬圖。

系統健康監測

為了確保您的中繼健康且不會不堪重負,有必要進行一些基本的系統監控以密切注意以下指標:

  • 頻寛
  • 建立了 TCP 連接
  • 記憶體
  • Swap
  • CPU

有許多工具可監控這類資料,munin 就是其中之一,而且相對容易設定。

注意:不要公開您的私人監控資料圖,因為這可能有助於攻擊者對 Tor 使用者進行去匿名化。

一些實用建議:

  • 如果您想發布流量統計數據,您應該聚合至少一天的中繼流量,或者在可行的情況下使用更大的頻寬聚合窗口,並在可能的情況下合併多個中繼的圖表/統計數據。
  • 個別中繼報告不如中繼總數報告。 將來,tor 會如實地加總頻寬統計,因此任何個別的中繼頻寬報告都將不如 tor 的統計隱當。
  • 較小的時期更糟。
  • 數字比圖表更糟。
  • 即時數據比歷史數據差。
  • 類別資料(IP版本、輸入/輸出等)比總資料差。

工具

本節列出幾個你作為 Tor 中繼點營運者可能會覺得實用的工具。

  • Nyx:是一個 Tor 專案工具(以前稱為 Arm),可讓您查看繼電器的即時數據。

  • vnstat:一款命令列工具,可顯示流經網路連線的資料量。 您亦可用它產生顯示流量圖的 PNG 圖。vnstat documentation and demo output.