如何在 Ubuntu VPS 上設置 Tor Middle/Guard 中繼

本文為機器翻譯
展示原文

我們現在都知道 Tor 是什麼。無論您知道它是一種對抗不公正審查制度的工具,還是您打開在線購買毒品的特殊瀏覽器,它在過去十年中的使用越來越廣泛,並且它仍然是繞過政府防火牆和在運行時保持匿名等重要事情的強大工具家庭服務器。

在這篇文章中,我將簡要概述洋蔥路由器(是的,這就是 TOR 代表的含義)在不同場景下的工作方式,以及如何幫助保護和分散 Tor 網絡,同時幫助它保持抗審查性,以及專用帶寬來提高性能,而不會犧牲您自己的安全或隱私。

我將把本指南的重點放在從 VPS 重新設置上。您可以使用便宜的服務,例如 Vultr 提供的每月 6 美元的選項,而不會佔用家庭網絡的帶寬。此外,運行 Tor 中繼會將您的 IP 地址暴露給公眾,因為所有中繼都存儲在 Tor 中繼目錄中。大多數家庭互聯網 IP 分配的動態特性也可能會降低中繼的可靠性。

基本上,花 6 美元在 VPS 上運行它是值得的。

首先,必須做出一個非常重要的區別……

“中間”和“保護”中繼與出口節點

Tor 具有三種類型的節點:保護(或入口)節點、中間節點和出口節點。

顧名思義,入口節點是您進入 Tor 網絡的入口。無論您輸入的是常規的舊 .com 域還是使用 .onion 域,您的流量都會首先通過入口節點進行路由。

中間節點同樣是不言自明的。 Tor 通過在多個中繼(通常是三個)之間彈跳您的流量來工作。這些由入口/保護節點、中間節點組成,並且取決於您是要訪問常規“clearnet”還是“darknet”Tor 隱藏服務,出口節點(到 clearnet)或直接從您正在訪問的站點的服務器的中間節點(隱藏服務)。

從技術上講,入口/保護中繼和中間中繼是同一回事,但中繼僅在激活一個月左右並且被網絡評估為足夠快後才用作入口。

如果您通過 Tor 訪問一個普通的“clearnet”站點,您的流量將通過入口、中間和出口節點進行路由。如果你去一個 .onion 網站,你的流量仍然在 Tor 網絡內路由,因此它不需要出口節點。

這是重要警告出現的地方!

絕對可以運行一個入口/中間節點,但不要運行一個出口節點,除非你完全理解所涉及的風險並已採取適當的法律建議。

這是一個非常重要的話題,甚至連 Tor 項目本身也有專門的頁面來說明為什麼你不應該在家裡運行出口節點,指導你在支持 Tor 網絡並可以保證的非營利或有限公司的情況下這樣做你受到法律保護,如果你因為有人做了看起來像是來自你的 IP 地址的非法行為而遭到突襲怎麼辦。

幸運的是,如果您只設置一個 Tor 入口/中間中繼並禁用所有出口流量,這根本不是問題。以上風險僅適用於出口節點。

這是因為使用標準的入口/中間節點,您只能在 Tor 網絡中中繼加密流量,沒有流量會從您的 IP 或 VPS 的 IP 訪問“clearnet”。您的中繼將流量發送到由其他人運行的出口節點,或者如果用戶正在訪問 Tor 隱藏服務,它將在 Tor 網絡內發送流量。

在任何一種情況下,Tor 電路的加密特性都意味著網絡無法監控入口和中間中繼,並且通過中繼路由的流量不會附加到您的 IP 地址。

這就是本指南將涵蓋的內容。如何在 Tor 網絡中安全地設置入口/中間中繼。如果在 VPS 上正確設置並有助於 Tor 網絡的安全性、速度、去中心化和審查阻力,這對您來說幾乎是零風險。

設置 VPS

使用 Debian 或 Ubuntu 啟動基本 VPS。理想情況下,您應該使用 SSH 密鑰而不是密碼進行登錄。您還應該將主機的防火牆規則設置為僅允許來自您自己的 IP 地址通過端口 22 的傳入流量,這將使您的 IP 範圍之外的人甚至無法嘗試破解您的 SSH 登錄。

重要提示:請確保您在這些主機防火牆規則中也允許來自任何地方(不僅僅是您的 IP)的 HTTPS(端口 443)!

Vultr 防火牆規則頁面允許 SSH 僅接受來自您的 IP 的連接

VPS 本身的硬件甚至可以只有 1 個 vCPU 和 1GB RAM。這裡要注意的最重要的部分是帶寬。您每月至少需要幾百 GB,理想情況下至少需要 1TB,如果超出部分收費,那應該是合理的。幸運的是,這些天帶寬往往很便宜。

一些像 Digital Ocean 這樣的主機甚至會“池化”你的帶寬,所以如果你已經有一個 VPS 或其中的幾個,並且他們分配的一些帶寬未被使用,它可以被另一個人使用。

別擔心,如果您想控制帶寬使用,您可以在啟用中繼之前在配置中設置限制。

基本 VPS 配置

讓 VPS 運行並通過 SSH 連接後的第一步是更新系統,將防火牆配置為僅允許 SSH 和 HTTPS,確保 apt 設置為通過 HTTPS 安裝,然後重新啟動:

 sudo apt update && sudo apt upgrade -y sudo apt install apt-transport-https sudo ufw allow ssh sudo ufw allow https sudo ufw enable sudo reboot

現在為了安全起見,我們只需要將服務器設置為自動更新:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

只需刪除updatesbackports行後面的// ,然後在默認行下方添加:

"TorProject:${distro_codename}";

它應該看起來像這樣:

如果它看起來像這樣你設置正確

現在只需向下滾動一點並確保將其設置為自動重啟並啟用自動清理選項以確保更新正常工作。您可以通過刪除要啟用Unattended-Upgrade選項之前的//來執行此操作,並確保在需要時將false更改為true

這些是您要啟用的選項,它應該如下所示:

確保它重新啟動以自動安裝更新並清除不再需要的依賴項

現在按 ctrl + O 保存並按 ctrl + X 退出。

一旦完成,我們就可以直接開始設置 Tor 中繼!

可選:設置域名

此時,您還可以通過在您的域上設置 A 和 AAAA 記錄,將域或子域指向您的 VPS 的 IPv4 和 IPv6(如果支持)地址,就像您將任何其他 VPS 一樣。

這將顯示在 Tor 中繼目錄中,而不是主機的默認反向 DNS。這不是必需的,但最好將中繼連接到您控制的域,這樣更有條理,並且還可以讓您選擇提供一個網頁,如果有人在瀏覽器中訪問該 URL,則解釋 Tor 是什麼。

Vultr 也允許您在其端設置反向 DNS,無論是在啟動 VPS 時還是稍後在設置選項卡中

大多數主機還應該允許您在其控制面板上將您的域設置為反向 DNS。這不能替代實際域的購買和設置記錄。你應該兩者都做。

安裝 Tor 中繼

一旦它重新啟動並檢查你正在運行的 Ubuntu 或 Debian 版本的代號,SSH 回到 VPS:

 lsb_release -c

例如,在當前的 Ubuntu LTS 上,這應該返回codename: jammy ,這在下一步中很重要。

現在我們創建 Tor 存儲庫文件:

 sudo nano /etc/apt/sources.list.d/tor.list

這應該創建一個新的空白文件。在其中,假設您的操作系統版本代號是jammy ,您可以將這兩行粘貼到:

 deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org jammy main deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org jammy main

如果您的操作系統代號不同(例如 Debian 的buster ),請在上面的兩行中用它替換jammy

現在只需添加 PGP 密鑰,以便apt可以驗證包:

 wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

最後,我們進行 Tor 服務器的實際安裝:

 sudo apt update sudo apt install tor deb.torproject.org-keyring

完畢!

現在我們只需要配置它。

配置 Tor 中繼

只需打開配置文件:

 sudo nano /etc/tor/torrc

您要確保取消註釋(從中刪除# )以下行:

 SocksPort 0 ORPort 443 Nickname whatevernameyouwant ExitPolicy reject *:* # no exits allowed ExitRelay 0

必須設置SocksPort 0才能使其作為中繼正常工作。

默認情況下, ORPort可能會有所不同。如果此 VPS 未同時用作網絡服務器,則將其更改為443是理想的選擇。

Nickname可以是任何東西,但不要太長。它只能包含字母和數字,不能包含特殊字符或空格。如果您將名稱設置得太長和/或放入空格或特殊字符,Tor 中繼將拒絕啟動,直到您更改名稱。

最後但同樣重要的是, ExitPolicy reject :行確保您的中繼不會充當出口節點。確保你取消評論!它前面不應該有#!

ExitRelay 0選項已貶值,取而代之的是上面的ExitPolicy reject *:*選項,但它們不會相互抵消,因此您可以同時添加兩者以確保雙重效果。

以下是正確設置的一些屏幕截圖。請記住,所有這些都已經存在,您需要做的就是刪除要激活的位之前的#

SocksPort 0必須設置為中繼模式工作

“僅用於繼電器”部分:

如果這是專用 VPS,ORPort 443 是最兼容的,如果您沒有設置域,您可以留下評論地址,設置暱稱以識別您的中繼

絕對確定您取消註釋 no exits allowed 行,如下所示:

非常重要:確保取消註釋 NO EXITS ALLOWED LINE!

選修的:

 Address yourdomain.com

如果您之前為 VPS 設置了域,請在此處輸入。

 RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps) RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)

如果您希望限制帶寬速率,可以取消註釋並調整以上內容。這被設置為每秒字節數,而不是每秒位數。如果需要,您可以在此處轉換兩者

取消註釋以對每天通過中繼的數據量設置硬限制:

 AccountingMax 4 GB AccountingStart day 00:00

或者,如果您更願意設置每月最大帶寬,請保留日行註釋並取消註釋這一行:

 AccountingStart month 3 15:00

這些設置的屏幕截圖:

僅在您的 VPS 提供商要求時設置

現在按 ctrl + O 保存並按 ctrl + X 退出。

最後運行:

 sudo systemctl restart tor@default

就是這樣,您的中繼現在已經啟動!

您可以通過等待幾秒鐘然後檢查日誌來驗證它是否正常工作:

 sudo journalctl -xeu tor@default.service

像這樣的消息意味著它正在工作:

 [your IP address:443] is reachable from the outside. Excellent. Publishing server descriptor.

如果同時啟用了 IPv4 和 IPv6,您將看到兩條類似的行。

最後一步:可選的 DDoS 保護

Tor 網絡通常是 DDoS 攻擊的目標。為了減輕這些對您的中繼的影響,您可以安裝一組 bash 腳本,這些腳本會自動更新並應用新的防火牆規則來動態阻止已知的殭屍網絡。

首先確保你在你的主文件夾中:

 cd pwd

如果您不在主文件夾中,第一個命令會將您置於主文件夾中。第二個應該打印/home/[username]以確認您在您的主文件夾中。

現在讓我們安裝依賴項和腳本:

 sudo apt install ipset iptables curl wget https://raw.githubusercontent.com/Enkidu-6/tor-ddos/main/multi.sh wget https://raw.githubusercontent.com/Enkidu-6/tor-ddos/main/update.sh wget https://raw.githubusercontent.com/Enkidu-6/tor-ddos/main/refresh-authorities.sh wget https://raw.githubusercontent.com/Enkidu-6/tor-ddos/main/ipv4.txt wget https://raw.githubusercontent.com/Enkidu-6/tor-ddos/main/ipv6.txt

現在用nano打開ipv4.txt

 nano ipv4.txt

刪除包括評論在內的內容,並按照以下格式輸入您的 VPS 的實際 IPv4 地址,後跟端口(如果您完全按照上面的要求,則為 443):

 192.168.1.1:443

和以前一樣按 ctrl + O 和 ctrl + X 保存並退出。

如果啟用了 IPv6,請使用nano打開ipv6.txt並以這種格式重複上述操作:

 [abcd:efgh:1234:frfr:4002]:443

如果您沒有 IPv6,只需擦除該文件,使其為空。

現在我們使 shell 腳本可執行:

 chmod a+x multi.sh chmod a+x update.sh chmod a+x refresh-authorities.sh

並以 root 權限運行multi.sh腳本來設置它:

 sudo ./multi.sh

它現在應該打印你的“mangle” ipset規則。如果是這樣,它正在工作。

最後,設置一個crontab ,使其每天更新並在更新後服務器重新啟動時恢復:

 (crontab -l ; echo "0 0 * * * $PWD/refresh-authorities.sh") | crontab -

如果您之前沒有在此 VPS 上設置任何 cronjobs,則收到類似no crontab for [username]消息是正常的。不要再運行它。

您可以通過運行以下命令來確定它是否正常工作:

 crontab -l

如果它表明你是 gucci:

 0 0 * * * /home/[username]/refresh-authorities.sh

如果您需要手動更新這些規則,只需運行:

 sudo ./update.sh

完畢!

你做到了!

如果你走到這一步,幹得好!你現在有一個 Tor 中繼!

大約三個小時後,在Tor 中繼目錄上搜索你給中繼的暱稱應該會顯示出來。索引後,連同 IP 地址等詳細信息,您應該會看到標有“正在運行”和“有效”的徽章。

如果帶寬字段為空且共識權重為 0,請不要擔心。這對於一個全新的節點來說是正常的。 Tor 的這篇文章解釋了在新中繼在網絡上完全活躍之前測試新中繼的過程。

TL;DR 是他們在前三天不會看到太多流量,然後一旦網絡更好地了解它擁有多少帶寬,它將被分配一個等級並開始越來越多地用於中繼。

由於您現在可能覺得自己像機器人先生,所以這裡有一個令人作嘔的曲目值得慶祝!

https://www.youtube.com/watch?v=WV-vdI2CzMc

做得好!

您現在正在幫助優秀的 Tor 項目保持安全、去中心化、快速和抗審查!

喜歡這個內容並想要更多?您可以在TwitterTelegramNostr上關注我!

在此處手動複製/粘貼我的 Nostr 公鑰:

npub17rlc0emedw5xljztfqrmykjaacsx6ujvdas64zznjadrnhhwlavq4jjtgg

想給我小費嗎?您可以使用“收集”按鈕以 0.01 ETH的價格將此帖子作為 Optimism 的 NFT,或者通過xanny@getalby.com給我一些 sats。

您還可以在此處發送一些鏈上BTC :

bc1qkeadruclrsr793w9rnv8mexatcv3wsttvckutz

或者在這裡發送一些XMR :

88LLuFL7QE94WtsaBHtpueZoYYT33f6KHNxaQ2fqPXEqXfwnfCty9Jq8GcKunfDnTAACawXgjdzyWWxFj1GrSUPdH1EMaJd

#保持性感

<訂閱://>

<收集://>

Mirror
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論