如何在 Linux 上設定 Wireguard VPN
Wireguard 是一個功能強大的開源虛擬私人網路 (VPN) 守護程序,可在桌面和行動裝置上運行。它為 IPsec 和 OpenVPN 等傳統 VPN 解決方案提供了快速、輕量級的替代方案。在這裡,我們向您展示如何安裝 Wireguard 並使用三台 Linux 電腦建立一個簡單的 VPN 設定。
為什麼要使用 Wireguard 作為 VPN 解決方案?
Wireguard 的最大賣點之一是它是一個快速且輕量級的 VPN 守護程式。與傳統解決方案不同,Wireguard 不會為您的網路增加大量開銷。這會降低節點的延遲並提高整體吞吐量。
Wireguard 的另一個關鍵特性是它是 Linux 核心中的一個模組。這使得它可以在不佔用電腦任何額外系統資源的情況下運行,使其成為部署在低階和 SOC 設備上的理想選擇。
最後,Wireguard 也利用了現代加密標準和開發實踐。它還經過了多次形式驗證,確認了Wireguard的程式碼正確性、安全保證和抵禦攻擊的能力。
取得線衛
在 Linux 上設定 Wireguard 的第一步是從發行版儲存庫下載其核心工具。這允許您使用使用者空間命令控制內建的 Wireguard 核心模組。
若要在 Ubuntu 和 Debian 中安裝核心工具,請執行以下命令:
在 Fedora 中,您可以使用dnf
套件管理器:
對於Arch Linux,您可以運行pacman
獲取Wireguard核心工具:
透過載入其說明畫面來確認您已正確安裝 Wireguard 工具:
設定 Wireguard 伺服器
假設:本文假設您在具有可公開存取的 IPv4 位址的 Linux 系統上安裝 Wireguard 伺服器。這些指令仍然適用於 NAT 後面的伺服器,但它不會找到其子網路以外的節點。
使用 Linux 電腦上的 Wireguard 核心工具包,您現在可以設定 VPN 的伺服器節點。這將充當網路中客戶端節點的網際網路網關。
首先導航至 Wireguard 配置目錄並將其預設權限設為“僅限 root:”
為您的 Wireguard 伺服器產生公鑰和私鑰:
使用您最喜歡的文字編輯器建立伺服器的設定檔:
將以下程式碼區塊貼到伺服器設定檔中:
開啟一個新的終端會話,然後列印伺服器的 Wireguard 私鑰:
將伺服器的私鑰複製到剪貼簿。
將變數的值替換PrivateKey
為剪貼簿上的鍵。
使用以下指令尋找可以存取網際網路的網路介面ip
:
-o
將兩個PostUp
和變數上的標誌值設定PostDown
為具有網路存取權限的接口,然後儲存您的設定檔。
使用您喜歡的文字編輯器開啟伺服器的“/etc/sysctl.conf”檔案:
向下捲動到包含 的行net.ipv4.ip_forward=1
,然後刪除其前面的井號 (#)。
透過執行以下命令重新載入新的 sysctl 配置sudo sysctl -p
:
設定並連接 Wireguard 用戶端
此時,您已擁有正確設定的 Wireguard 伺服器,且沒有任何對等方。要使用它,您需要設定並連接您的第一個 Wireguard 用戶端。
導航至客戶端系統的 Wireguard 配置目錄並設定其預設權限:
使用以下命令產生客戶端的 Wireguard 金鑰對:
使用您最喜歡的文字編輯器建立客戶端的 Wireguard 設定檔:
將以下程式碼區塊貼到客戶端設定檔中:
將變數替換PrivateKey
為客戶的私鑰。
開啟 Wireguard 伺服器的終端會話,然後列印其公鑰:
將變數的值設定PublicKey
為伺服器的公鑰。
將變數更改Endpoint
為 Wireguard 伺服器的 IP 位址。
儲存設定文件,然後使用以下wg-quick
命令啟動 Wireguard 用戶端:
將 Wireguard 伺服器連結到客戶端
前往 Wireguard 伺服器的終端機會話,然後開啟其設定檔:
將以下程式碼區塊貼到該[Interface]
部分之後:
將變數設定PublicKey
為 Wireguard 用戶端的公鑰。
儲存設定文件,然後執行以下命令在伺服器上啟動 Wireguard 服務:
將第二個客戶端新增至伺服器
每個 VPN 服務的關鍵功能是它可以將來自不同網路的多台電腦連接在一起。如果您的電腦位於不同的位置或想要為您的朋友託管私人遊戲伺服器,這非常有用。
要在 Wireguard 中執行此操作,您需要為伺服器上的新 VPN 介面建立一個設定檔。最簡單的方法是複製目前的伺服器配置並為副本指定一個新名稱:
使用您最喜歡的文字編輯器開啟新的設定檔:
將變數設為ListenPort
60102。
轉到[Peer]
部分並將變數從“10.0.0.2/32”更改AllowedIPs
為“10.0.0.3/32”,然後儲存設定檔。
配置第二個 Wireguard 用戶端
登入您的第二台計算機,然後準備您的 Wireguard 設定目錄:
使用以下命令產生新的 Wireguard 密鑰對:
使用您最喜歡的文字編輯器建立一個新的設定檔:
將以下程式碼區塊貼到新的設定檔中:
將變數設定PrivateKey
為第二台電腦的私鑰,然後將PublicKey
變數變更為伺服器的公鑰。
將 Endpoint 變數替換為您的伺服器的 IP 位址,後面跟著「:60102」。
儲存設定文件,然後啟動第二台電腦的 Wireguard 用戶端:
將第二個客戶端連結到 Wireguard 伺服器
重新登入您的 Wireguard 伺服器,然後開啟第二個用戶端的 VPN 介面設定:
向下捲動到該[Peer]
部分,然後將PublicKey
變數替換為第二個客戶的公鑰。
儲存您的設定文件,然後使用 wg-quick 命令啟動第二個 VPN 介面:
透過執行來確認您的第一個和第二個 Wireguard 用戶端在您的伺服器上正確顯示wg
。
測試 Wireguard 網路
透過 Wireguard 網路上的伺服器和用戶端,您現在可以測試節點之間的連線和延遲。為此,請確保您的系統上安裝了網路診斷工具:
在 Fedora 中,您只需安裝,curl
因為它已經附帶了開箱即用的網路工具:
對於 Arch Linux,您可以使用pacman
安裝網路工具和curl
:
首先追蹤兩個客戶端之間資料包的路由。以下將展示 IP 封包如何從「10.0.0.2」到「10.0.0.3」:
透過 ping 公共 IP 位址來檢查您的任何節點是否可以存取公共互聯網:
最後,確認您的節點與 Wireguard 伺服器共用相同的公用 IP 位址:
學習在 Linux 上設定 Wireguard 網路是探索 VPN 迷人世界的第一步。深入了解我們為您挑選的最佳安全 VPN 提供者。
圖片來源:Kari Shea,來自 Unsplash和Wikimedia Commons。所有修改和螢幕截圖均由 Ramces Red 進行。
發佈留言