如何使用 Raspberry Pi 創建 VPN 服務器

已發表: 2022-01-29

當您想到 VPN 時,您可能會想像一種訂閱服務,它通過位於世界其他地方的服務器來傳輸您的互聯網流量。 但是,這些服務並不是加密您的在線活動的唯一方法。

一鍵式 VPN 服務可能很棒,如果您想要一個開箱即用的簡單解決方案,我們推荐一些 VPN。 不過,這項服務是有代價的:通常每月大約 5 到 10 美元,更不用說信任另一端的任何人了。 對於您控制的更便宜的選擇,您可以在 Raspberry Pi(或某些路由器)上設置 OpenVPN 服務器,並在外出時使用您自己的家庭互聯網連接作為 VPN。

請注意,您將無法將您的位置欺騙到海外國家,或隱藏您的身份以防窺探(因為流量似乎來自您的常規家庭互聯網連接)。 但是,在公共 Wi-Fi 上瀏覽時,它仍然會為您提供額外的安全性,並且當您需要訪問家庭網絡以喚醒睡眠中的 PC 以便您可以遠程桌面時,它非常有用。它便宜、簡單、如果你身邊有一個 Pi,那麼值得一試。

你需要什麼

要進行設置,您需要一個顯而易見的東西:一個帶有所有關鍵配件的 Raspberry Pi,例如電源和 SD 卡。 本指南不需要特殊的操作系統; 您可以只使用 Raspbian,因此請查看我們的 Raspberry Pi 初學者指南,了解有關設置基礎知識的所有信息。 (確保在首次啟動 Pi 時更改默認密碼,因為它對安全性極為重要——畢竟,這是該項目的全部重點。)

我建議在本演練中也使用鼠標、鍵盤和顯示器(僅用於初始設置),儘管並非嚴格要求。 (您可以通過 SSH 連接到您的 Pi 以設置您的 VPN,但您可能需要在此過程中重新連接,因為更改網絡設置會導致 Pi 失去連接。)

樹莓派和相關配件的圖片
將 Raspberry Pi 變成 VPN 服務器所需的一切

這就是你在技術上所需要的,儘管我推薦了其他一些東西。 首先,為您的 Raspberry Pi 設置 DHCP 保留是一個好主意,這樣它的內部 IP 地址就不會隨著時間而改變。

其次,我推荐一個動態DNS服務。 為了從遠處訪問您的 Pi,您需要將其指向您家中的公共 IP 地址。 這並不難找到,但它可能會不時發生變化,這可能會破壞您的 VPN,直到您重新配置它。 這樣做有點痛苦,因此使用動態 DNS 服務會更容易,因為它會為您提供一個易於記憶的地址,該地址會在您的 IP 地址更改時更新。

檢查您的路由器的設置,看看它是否支持任何動態 DNS 服務,如 DynDNS 或 No-IP——其中一些是付費訂閱,但其他的,如 No-IP,是免費的,但用途有限,應該可以很好地滿足我們的目的。 我們不會在本指南中介紹整個過程,但如果您發現您的互聯網提供商不斷更改您的公共 IP 地址並破壞您的 VPN,我建議您進行調查。

如何使用 PiVPN 安裝 OpenVPN

OpenVPN 是一套開源軟件,可讓您在幾乎任何類型的硬件上設置 VPN。 如果你願意,你可以在你的 Pi 上安裝 OpenVPN 的 Linux 服務器並手動調整配置文件,但有一個更簡單的解決方案。 PiVPN 是一組開源腳本,可將 OpenVPN 的配置轉變為易於使用的嚮導,因此即使這是您第一次使用 OpenVPN,設置它也不會有太多麻煩。

Windows 終端截圖
在 Windows 終端窗口中安裝 PiVPN

所以啟動你的 Pi,確保所有軟件都是最新的,然後打開一個新的終端窗口。 安裝 PiVPN 就像運行以下命令一樣簡單:

curl -L https://install.pivpn.io | 重擊

該腳本將花費幾分鐘來安裝 OpenVPN,然後它將引導您完成配置過程。 首先,它會通知您 PiVPN 需要一個靜態 IP 地址,因此您可以在外出時輕鬆訪問您的 VPN 服務器。 如果您設置了 DHCP 保留,您可以在 PiVPN 詢問您是否正在使用時說“是”。

選擇您的用戶後(默認 Pi 用戶很好,除非您想使用另一個用戶),PiVPN 會詢問您是否要使用 WireGuard、新的 VPN 協議或 OpenVPN。 我在本指南中使用 OpenVPN,因此使用箭頭鍵將光標移動到 OpenVPN,然後按空格鍵選擇它,然後按 Enter 繼續。

WireGuard 是相當新的,並顯示出很大的希望,而 OpenVPN 更受歡迎並得到廣泛支持。 如果您想嘗試一下 WireGuard,可以在此處閱讀有關它的更多信息。

PiVPN 截圖
使用 PiVPN 設置您的 VPN

對於接下來的幾個步驟,默認設置適合大多數用戶。 系統會詢問您是要使用 UDP 還是 TDP(除非有充分的理由不這樣做,否則應該選擇 UDP),要使用的端口(1194 很好,除非有其他東西在使用它),以及什麼您要使用的 DNS 提供商(任何都適合)。

一個問題:我發現,儘管我使用了動態 DNS 服務,但 PiVPN 不會接受我的自定義 URL。 如果您遇到同樣的問題,只需告訴它使用您的公共 IP 地址,您可以稍後在配置文件中更改它。

最後,OpenVPN 2.4 功能值得啟用,除非您知道您正在使用不支持這些功能的應用程序。 出現提示時選擇推薦的安全證書 - 較大的證書可以提供更好的安全性,但會減慢速度,並且對於大多數用戶來說不是必需的。 啟用無人值守升級,PiVPN 將安裝必要的軟件包並創建必要的配置文件。

最後,您可以選擇連接到 VPN 時使用的 DNS。 跳過添加自定義搜索域(除非您知道那是什麼並且想要使用它)。 完成後,系統會提示您重新啟動 Pi。

PiVPN 截圖
命名您的客戶

重新啟動後,您需要打開一個終端窗口並運行:

pivpn 添加

為配置文件命名(我選擇了 whitson-laptop),設置證書的持續天數(默認值很好),並輸入您選擇的密碼(確保它很強大)。 它將在 /home/pi/ovpns 下為您生成一個 .ovpn 文件,您需要將其連接到您的 VPN — 將其複製到您的 PC 並保存在安全的地方。

PiVPN 建議對其他設備重複此過程,因此,如果您有其他筆記本電腦或手機要使用此 VPN,請立即重新運行此命令以生成它們自己的配置文件。

記事本應用程序的屏幕截圖
將 IP 地址替換為您的自定義 URL

這是我必須對我的 .ovpn 文件進行一次編輯的地方。 如果您像我一樣使用動態 DNS 服務,請在記事本(或您選擇的文本編輯器)中打開文件,並將第 4 行中的 IP 地址替換為您的自定義 URL。 如果您在連接到您的 VPN 時遇到問題,這是我要搞砸的第一行——它在過去給我帶來了許多 OpenVPN 配置生成器的問題。

從這裡開始,您的 Pi 應該已全部設置好,但在連接之前您還需要做一件事:在路由器上轉發您的 VPN 端口。 這個過程因路由器而異,但大致如下:登錄路由器的配置頁面,找到端口轉發選項,然後將端口 1194 轉發到 Pi 的內部 IP 地址。 您可以在 portforward.com 上找到有關特定路由器的更詳細說明。

從任何地方連接到您的 VPN

您現在處於基本階段,因為其餘部分非常容易。 要在您不在家時連接到您的 VPN,您需要一個能夠連接到您的 OpenVPN 服務器的 VPN 應用程序或“客戶端”。 OpenVPN 有一個名為 OpenVPN Connect 的官方客戶端,可在 Windows、macOS、Linux、iOS 和 Android 上使用。

您可以從 OpenVPN 的主頁獲取它——只需向下滾動到 OpenVPN Connect 入門,然後單擊您選擇的平台。 還有一些流行的第三方程序,如 Viscosity(Windows/Mac) 和 Tunnelblick(Mac),它們為高級用戶提供了額外的選項。 您可以在 OpenVPN 社區的此頁面上查看其他 OpenVPN 客戶端。

OpenVPN 截圖
使用 OpenVPN 管理您的 VPN

啟動 OpenVPN Connect 應用程序並單擊“文件”選項卡以添加新配置文件。 導航到您從 Pi 複製的配置文件(同樣,我的文件名為 whitson-laptop.ovpn)並選擇它。 單擊添加按鈕,您可以通過打開切換開關並輸入密碼來連接到您的 VPN。

完成後,您的所有流量都將被加密,並通過 Pi 所在的家庭互聯網連接進行路由。 您的流量將不會被窺探到咖啡店的 Wi-Fi,並且您將能夠訪問您家庭網絡上的任何資源,就像您在那裡一樣 - 無需訂閱費。