如何使用 Algo 和雲託管託管您自己的 VPN
已發表: 2022-01-29世界各地的公司都在銷售 VPN 服務來保護您的在線活動,但您真的可以信任 VPN 提供商嗎? 如果您願意,您可以使用開源 Algo 軟件和您選擇的雲託管提供商創建自己的虛擬專用網絡。
VPN 和信任
無論隱私政策怎麼說或吹噓公司博客上的安全審計,沒有什麼可以阻止 VPN 監控你在網上所做的一切。 最後,選擇 VPN 服務都歸結為信任。
如果您不喜歡信任匿名在線服務,另一種選擇是運行您自己的 VPN 服務器。 這曾經是一項艱鉅的任務,但多虧了安全公司 Trail of Bits 的開源項目 Algo,現在創建自己的 VPN 變得很容易。
每月 5 美元,您就可以運行和控制自己的全職 VPN 服務器。 更好的是,您可以根據需要使用 Algo 設置和拆除 VPN 服務器,並在此過程中節省資金。
要設置 Algo,您必須使用命令行。 如果這令人反感,請不要擔心——我們將引導您完成每一步。
這些說明可能看起來很多,但這只是因為我們正在盡可能多地解釋。 一旦你用 Algo 創建了幾次 VPN,它應該不會花很長時間。 另外,您只需設置一次 Algo 的安裝環境。 之後,您可以通過幾次按鍵創建一個新的 VPN 服務器。
但是你能相信 Algo 的腳本沒有做任何不愉快的事情嗎? 好消息是 Algo 的代碼在 GitHub 上公開,任何人都可以查看。 此外,許多安全專家對 Algo 項目感興趣,這降低了不法行為的可能性。
相關:什麼是 VPN,為什麼我需要一個?
算法可以(和不能)做什麼
VPN 是保護您的在線活動的好方法,尤其是在機場或咖啡店的公共 Wi-Fi 網絡上。 VPN 使網頁瀏覽更加安全,並阻止可能在同一個本地 Wi-Fi 網絡上的任何惡意行為者。 如果您的 ISP 限制某些類型的流量(如種子),VPN 也可以提供幫助。
但要小心,海盜! 通過您自己的 VPN 下載戰利品並不是一個好主意,因為可以更輕鬆地追踪到您的活動。
此外,如果您想通過 VPN 觀看 Netflix,您將不得不尋找其他地方——Algo 無法使用它。 但是,有許多商業服務確實支持 Netflix。
算法的先決條件
要啟動並運行 Algo VPN 服務器,您需要一個 Unix Bash shell。 在 Mac 或 Linux 系統上,您可以使用終端程序,但在 Windows 上,您必須激活 Linux 子系統。 以下是在 Windows 10 上安裝和使用 Linux Bash shell 的方法。
您還需要一個雲服務器託管提供商的帳戶。 Algo 支持以下所有功能:
- 數字海洋
- 亞馬遜光帆
- 亞馬遜 EC2
- 火影忍者
- 微軟天青
- 谷歌計算引擎
- 鱗片路
- 赫茲納雲
- 它還安裝到 OpenStack 和 CloudStack 實例。
如果您從未使用過任何這些服務,我們推薦 DigitalOcean,因為它非常用戶友好。 這也是我們在本教程中使用的服務。 如果您使用不同的提供商,該過程會有所不同。
當您的 DigitalOcean 帳戶準備就緒時,請登錄,然後從主儀表板中,從“帳戶”標題下的左側欄中選擇“API”。
在下一頁上,單擊“生成新令牌”。 訪問令牌是一長串字母和數字,無需用戶名和密碼即可訪問帳戶資源。 您需要命名新令牌。 通常,最好以您正在使用的應用程序命名,例如“algo”或“ian-algo”(如果您的名字恰好是 Ian)。
生成新令牌後,將其複制並粘貼到桌面上的文本文檔中。 幾分鐘後您將需要它。
設置您的環境
回到桌面,打開一個新的終端窗口,輸入cd
(表示“更改目錄”,這是 Unix 世界中的文件夾名稱),然後按 Enter。 這將確保您在終端的主目錄中工作。
在撰寫本文時,Algo 需要 Python 3.6 或更高版本。 在終端程序中輸入以下內容:
python3 --版本
如果您收到類似Python 3.6.9
的響應,那麼您就可以開始了; 如果沒有,則必須安裝 Python 3。
要在 Mac 上安裝 Python 3,您可以使用 Homebrew 包管理器。 當 Homebrew 準備就緒時,在終端窗口中鍵入以下命令:
沖泡安裝python3
如果您在 Windows 上使用 Ubuntu Linux 或 WSL,則默認情況下它們應該具有 Python 3。 如果沒有,安裝方法會因您的 Linux 版本而異。 在線搜索“在 [在此處插入您的 Linux 版本] 上安裝 Python 3”以獲取說明。
接下來,您需要安裝 Python3 的 Virtualenv 來為 Algo 創建一個隔離的 Python 環境。 在 Mac 上的 Bash 中鍵入以下內容:
python3 -m pip install --upgrade virtualenv
在 Ubuntu Linux 和 WSL 上,命令如下:
sudo apt install -y python3-virtualenv
請注意,我們正在為 Ubuntu 和相關發行版定製本教程,但這些說明也適用於其他版本的 Linux,只需稍作改動。 例如,如果您使用的是 CentOS,您可以將使用apt
的指令替換為dnf
。
接下來,我們需要使用wget
命令下載 Algo。 Mac 默認沒有安裝wget
,因此要通過 Homebrew 獲取它,請鍵入以下內容:
沖泡安裝wget
現在,讓我們下載 Algo 的文件:
wget https://github.com/trailofbits/algo/archive/master.zip
wget
完成後,在終端的主目錄中會出現一個名為“master.zip”的壓縮文件; 讓我們用ls
檢查一下。
如果您在出現的文件和文件夾列表中看到“master.zip”,那麼您就可以開始了。 如果沒有,請嘗試再次運行wget
。
現在,我們需要解壓縮文件,所以我們輸入以下內容:
解壓master.zip
完成後,再次按ls
。 您現在應該在主目錄中看到一個名為“algo-master”的新文件夾。
我們幾乎已經準備好採取行動,但首先,我們需要設置我們的隔離環境並安裝更多的依賴項。 這次我們將在“algo-master”文件夾中工作。
鍵入以下內容以切換到文件夾:
cd ~/算法大師
確保您使用以下命令:
密碼
這代表“打印工作目錄”,它應該向您顯示/home/Bob/algo-master
或/Users/Bob/algo-master
內容。 現在我們在正確的地方,讓我們準備好一切。
複製並粘貼或在一行中鍵入以下命令(直到最後不要按 Enter):
python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt
這會觸發 Algo 目錄中的大量操作以準備運行。
接下來,您必須為 VPN 命名您的用戶。 如果您現在不命名所有這些,您要么必須保留安全密鑰(安全性較低),要么稍後從頭開始啟動新服務器。
無論哪種方式,在終端中鍵入以下內容:
納米配置.cfg
這將打開用戶友好的命令行文本編輯器 Nano。 Algo 配置文件中有很多信息,但我們只對“用戶”部分感興趣。 您所要做的就是刪除默認用戶名(電話、筆記本電腦、台式機),然後為您想要在 VPN 上使用的每個設備輸入一個名稱。
例如,如果我為自己、Bill 和 Mary 創建一個 VPN,配置文件可能如下所示:
users:
- Ian_PC
- Bill_Mac
- Mary_PC
- Ian_Android
- Bill_iPhone
- Mary_iPhone
為所有人命名後,按 Ctrl+O 保存文件,然後按 Ctrl+X 退出。
我們幾乎已準備好採取行動,但首先 Windows 人員需要繞道而行。 WSL 通常不會為 Algo 文件夾設置正確的用戶權限,這讓 Ansible(Algo 部署服務器所依賴的工具)感到不安。
在 WSL 上,鍵入以下內容以返回您的主目錄:
光盤
然後,鍵入以下內容:
chmod 755 -R ~/算法大師
要返回 Algo 文件夾,請鍵入:
cd ~/算法大師
運行算法
現在是關鍵時刻。
在algo-master
文件夾中,在終端窗口中鍵入以下內容:
./算法
算法配置應該開始運行。 當它詢問您想使用哪個雲提供商時,您就會知道它正在工作。 在我們的例子中,我們為 DigitalOcean 選擇數字 (1)。
如果 Algo 失敗,這可能是我們無法在這裡預測的多種原因。 如果錯誤提示您的目錄是“全局寫入可配置”,請按照上面的說明更改權限。
如果您收到其他錯誤,請查看 GitHub 上 Algo 項目存儲庫中的故障排除頁面。 您也可以復制錯誤消息並將其粘貼到 Google 中進行搜索。 您應該找到一個有用的論壇帖子,因為您不太可能是第一個收到該錯誤的人。
接下來,系統將要求您提供之前從 DigitalOcean 帳戶複製的訪問令牌。 將其複制並粘貼到終端中。 你不會看到任何東西,因為 Bash 不顯示密碼和安全短語條目的字符。 不過,只要您點擊粘貼,然後按 Enter,就可以了。
如果它失敗了,你可能只是弄亂了粘貼,每個人都在 Bash 中這樣做。 只需鍵入以下內容即可重試:
./算法
當 Algo 運行時,回答它提出的問題。 這些都非常簡單,比如你想給你的服務器起什麼名字(在名字中使用“algo”是個好主意)。
接下來,它會詢問您是否要為 Mac 和 iOS 設備啟用“按需連接”。 如果您不使用任何這些設備,請輸入 N 表示否。 它還會詢問您是否要保留 PKI 密鑰以便以後添加更多用戶; 通常,您也會在此處鍵入 N。
而已! Algo 現在需要大約 15 到 30 分鐘來讓您的服務器啟動並運行。
使用算法
Algo 完成設置後,終端將返回命令行提示符,這意味著 VPN 已準備就緒。 與許多商業服務一樣,Algo 使用 WireGuard VPN 協議,這是 VPN 世界中最熱門的新事物。 這是因為它提供了良好的安全性、更快的速度並且更易於使用。
作為接下來要做什麼的示例,我們將在 Windows 上激活 Algo。 要設置其他設備,您可以參考 GitHub 上的 Algo 存儲庫。
首先,我們將從 WireGuard 站點安裝通用 Windows 桌面客戶端。 接下來,我們必須為程序提供 PC 的配置文件。 配置文件存儲在 algo-master 文件夾的深處: ~/algo-master/configs/[VPN server IP address]/wireguard/
。
有兩種類型的文件用於配置 VPN 客戶端設備:.CONF 和 .PNG。 後者是手機等設備的二維碼,可以掃描二維碼。 .CONF(配置)文件是桌面 WireGuard 客戶端的文本文件。
在 Mac 和 Ubuntu 上,在命令行之外找到algo-master
文件夾應該不難。 在 Mac 上, algo-master
位於 Home 文件夾中; 只需使用 Finder > Go > Home 即可到達。 在 Ubuntu 上,您可以打開 Nautilus,它將位於主文件夾中。
但是,在 Windows 上,WSL 與操作系統的其餘部分是分開的。 出於這個原因,使用命令行複製文件更容易。
使用我們之前的示例,假設我們希望在 Windows 10 PC 上使用“Mary-PC.conf”配置文件。 該命令看起來像這樣:
cp ~/algo-master/configs/[VPN服務器IP地址]/wireguard/Mary-PC.conf /mnt/c/Users/[你的Windows用戶賬戶名]/Desktop/
注意Mary-PC.conf
和/mnt/
之間的空格; 這就是 Bash 如何知道要復制的文件的位置以及它的去向。 大小寫也很重要,因此請確保在指定的地方鍵入大寫字母。
在 Windows 上,想要將“C:\”驅動器中的 C 大寫是很自然的,但在 Bash 中則不需要。 此外,不要忘記將括號中的位替換為您 PC 的實際信息。
例如,如果您的用戶文件夾位於“D:\”驅動器上,而不是“C:\”,則將/mnt/c/
替換為/mnt/d/
。
複製文件後,打開 WireGuard for Windows 客戶端。 單擊“從文件導入隧道”,然後在桌面上選擇您的配置文件。 完成後,單擊“激活”。
只需幾秒鐘,您將連接到您自己的 VPN!