Tor,簡稱洋蔥路由器,是一個匿名網絡,使用戶能夠通過加密其流量並通過一系列節點路由來匿名瀏覽互聯網。這些節點可以由任何人運行,最後的節點稱為退出節點,負責將流量發送回常規互聯網。運行 Tor 退出節點是為互聯網的隱私和自由做出貢獻的重要方式,但這需要一些技術專業知識和責任。在這篇博客文章中,我們將引導你完成架設 Tor 退出節點的過程。
步驟 0:考慮部署前的事項#
以下是一些需要考慮的事項:
- 法律考量:在某些國家,架設 Tor 退出節點是非法的,你可能會因此面臨法律後果。你應該研究你所在國家的法律,並確保架設 Tor 退出節點是合法的,然後再繼續進行。
- 帶寬和資源消耗:Tor 退出節點可能會消耗大量帶寬,你需要擁有快速且可靠的互聯網連接來處理流量。如果你的主機計劃有帶寬上限,你可能還需要支付額外的帶寬費用。
- 技術專業知識:架設 Tor 退出節點需要一些技術專業知識和 Linux 管理經驗。你需要設置一台伺服器,安裝和配置 Tor 軟體,並維護節點以確保其正常運行。
- 與非法活動相關的風險:作為退出節點運營者,你可能會對通過你的節點的任何非法活動負責。雖然 Tor 設計用來保護用戶的匿名性,但它並非萬無一失,執法機構可能能夠追蹤活動回到你的節點。
- 名譽風險:架設 Tor 退出節點可能會吸引執法機構以及你的互聯網服務提供商和其他組織的不必要關注和審查。在繼續之前,考慮對你名譽的潛在風險是很重要的。
你可以架設三種類型的 Tor 節點:中繼 / 守護 節點、橋接 節點和 退出 節點。中繼節點是幫助在 Tor 網絡中不同節點之間路由流量的中繼,但不作為離開網絡的流量的最終節點。橋接節點類似於中繼節點,但它們不在 Tor 目錄中公開列出,這可以幫助用戶繞過審查和監控。退出節點則是離開 Tor 網絡的流量的最終節點,為用戶提供匿名訪問常規互聯網的網關。然而,架設退出節點伴隨著重大的法律和道德責任,因為退出節點可能被用來路由非法活動。決定架設 Tor 節點及其類型應在仔細考慮風險和收益後做出,並遵循 Tor Project 的指導方針和政策。
步驟 1:選擇位置#
架設 Tor 退出節點的第一步是選擇伺服器的位置。你需要選擇一個擁有快速且可靠的互聯網連接的地點,以及高帶寬上限或無限計劃,因為退出節點可能會消耗大量帶寬。選擇一個 Tor 合法且未被封鎖的地點也很重要,因為在不允許 Tor 的國家架設退出節點可能會導致法律問題。
步驟 2:設置伺服器#
一旦選擇了位置,你需要設置伺服器。根據你的預算和需求,你可以使用虛擬私人伺服器 (VPS) 或專用伺服器。你需要安裝 Linux 操作系統,例如 Ubuntu 或 Debian,並將其配置為用作 Tor 退出節點。Tor Project 提供了詳細的指導,幫助你在 Linux 上設置 Tor 退出節點。
步驟 3:安裝和配置 Tor#
接下來,你需要安裝 Tor 軟體並將其配置為用作退出節點。你可以使用你 Linux 發行版的包管理器安裝 Tor,或者從 Tor Project 的網站下載並安裝。安裝後,你需要配置 Tor 以運行為退出節點,這涉及編輯 Tor 配置文件。Tor Project 提供了詳細的指導,幫助你將 Tor 配置為退出節點。
Tor Project 提供了各種文檔來指導你完成安裝過程:https://community.torproject.org/onion-services/setup/install/。
我在設置過程中也發現這段視頻很有用:https://www.youtube.com/watch?v=EMZqZ3XX8Eo
#!/bin/bash
# 步驟 1:安裝 apt-transport-https
sudo apt install apt-transport-https
# 步驟 2:將 Tor 倉庫添加到 sources.list.d
OS_CODENAME=$(lsb_release -c | awk '{print $2}')
ARCHITECTURE=$(dpkg --print-architecture)
sudo tee /etc/apt/sources.list.d/tor.list >/dev/null <<EOF
deb [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org ${OS_CODENAME} main
deb-src [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org ${OS_CODENAME} main
deb [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org tor-experimental-${OS_CODENAME} main
deb-src [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org tor-experimental-${OS_CODENAME} main
deb [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org tor-nightly-main-${OS_CODENAME} main
deb-src [arch=${ARCHITECTURE} signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org tor-nightly-main-${OS_CODENAME} main
EOF
# 步驟 3:為 Tor 倉庫添加 GPG 密鑰
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
# 步驟 4:安裝 Tor 和 Debian 密鑰環
sudo apt update
sudo apt install tor deb.torproject.org-keyring
如果你使用的是 Debian/Ubuntu,你可以簡單地將上述命令複製並粘貼到一個 shell 文件中(例如 tor.sh)並運行:
chmod u+x tor.sh
sudo ./tor.sh
以安裝 Tor,然後使用你喜歡的文本編輯器修改位於 `/etc/tor/torrc` 的配置文件。
以下是兩種不同的 torrc 文件配置:
對於退出中繼:
(Tor Project 提到,“如果你想成為一個有用的退出中繼,你必須至少允許目標端口 80 和 443。”)
Exitpolicy accept *:443
Exitpolicy accept *:80
Exitpolicy reject *:*
ExitRelay 1
對於僅轉發流量的橋接:
Exitpolicy reject *:*
請注意,設置 Exitpolicy reject : 並不意味著該節點不會轉發任何流量。這意味著該節點不會被用作 Tor 流量的出口點。
要允許通過你的 Tor 節點轉發其他服務,你可以在 torrc 文件中添加以下行:
Exit policy accept *.*
然而,不建議這樣做,因為某些端口可能常被用於 DDoS 攻擊或電子郵件垃圾郵件。為了防止濫用,建議避免打開任何可能容易受到垃圾郵件或濫用的電子郵件或其他端口。
在我個人看來,我只會允許 HTTP/HTTPS 流量通過我的 Tor 節點退出。
ORPort 20308
Exitpolicy accept *:443
Exitpolicy accept *:80
Exitpolicy reject *:*
ExitRelay 1
Nickname yourtorrelaynickname
ContactInfo youremail@mail.com
IPv6Exit 1
要設置 obfs4 桥接,使用以下附加行:
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 0.0.0.0:40001
ExtORPort auto
有關 obfs4 桥接設置的更多信息,請參閱 https://community.torproject.org/relay/setup/bridge
有關架設不同類型的中繼節點,Tor Project 有一個維基頁面:https://community.torproject.org/relay/setup/
對於退出節點,必須設置你的本地 DNS 解析器:
Debian/Ubuntu
以下命令安裝 unbound,備份你的 DNS 配置,並告訴系統使用本地解析器:
apt install unbound
cp /etc/resolv.conf /etc/resolv.conf.backup
echo nameserver 127.0.0.1 > /etc/resolv.conf
為了避免不必要的配置更改(例如由 DHCP 客戶端引起的):
chattr +i /etc/resolv.conf
Debian 配置默認啟用 QNAME 最小化 (RFC7816),因此你不需要明確啟用它。你剛安裝的 Unbound 解析器也進行 DNSSEC 驗證。
如果你正在運行 systemd-resolved 及其 stub 監聽器,你可能需要做更多的工作。請參考 resolved.conf 手冊頁。
步驟 4:測試你的退出節點#
在配置完 Tor 之後,你需要測試你的退出節點,以確保它正常運行。你可以使用 Tor 瀏覽器測試你的退出節點,通過連接到一個網站並驗證你的 IP 地址是否列為退出節點 IP 地址。你還可以使用 Tor Metrics 網站來監控你的退出節點的帶寬使用情況和性能。
要查看你的退出節點是否正在運行,請檢查這個批量列表:https://check.torproject.org/torbulkexitlist
步驟 5:監控你的退出節點#
一旦你的退出節點啟動並運行,監控它以確保它不被用於惡意目的非常重要。Tor Project 提供了一系列推薦的監控工具和技術,包括使用日誌分析軟體跟踪通過你的退出節點的流量,以及監控 Tor Metrics 網站以檢查異常活動。定期檢查 Tor Project 的退出節點運行指南,以確保你遵循他們的政策也是一個好主意。
Tor Project 還提供了一個有用的頁面,介紹安裝後的良好實踐:https://community.torproject.org/relay/setup/post-install/
Elsa 節點是我目前運行的一個 Tor 退出節點,請參見:https://metrics.torproject.org/rs.html#search/elsa
結論#
運行 Tor 退出節點可以是一種有意義的方式來為互聯網的隱私和自由做出貢獻,但這需要一些技術專業知識和責任。通過遵循本文中概述的步驟,你可以設置並運行一個 Tor 退出節點,為 Tor 網絡提供有價值的服務,同時保持你的伺服器及其用戶的安全和隱私。