如何在Ubuntu上安裝並設定WireGuard VPN

更新時間

WireGuard是一款開源、免費的快速VPN伺服器,採用最先進的加密技術。它透過UDP傳輸流量,效能優於典型的兩種隧道協議,即OpenVPN和IPsec。 WireGuard是一個點對點的VPN,專為Linux核心設計,能夠在Linux核心內部運行,讓您可以建立快速、現代且安全的VPN隧道。

步驟1:在伺服器上啟用IP轉發

為了讓VPN伺服器能夠在VPN用戶端和網際網路之間路由資料包,您需要啟用IP轉送。使用您喜歡的編輯器開啟/etc/sysctl.conf檔:

bash sudo vim /etc/sysctl.conf

找到以下行並去掉前面的#字元:

『`bash

```

儲存檔案並套用變更:

bash sudo sysctl -p

步驟2:在Ubuntu上安裝WireGuard

接下來,我們需要在Ubuntu機器上安裝WireGuard並將其設定為伺服器。預設情況下,WireGuard軟體包可在Ubuntu預設的儲存庫中找到。

bash sudo apt install wireguard

安裝完成後,可以繼續下一步。

步驟3:在Ubuntu上設定WireGuard VPN伺服器

WireGuard透過在WireGuard網路中的每個裝置之間交換公鑰來運作。現在您已經安裝了WireGuard,下一步是為伺服器產生私鑰和公鑰對。

步驟3.1:產生公鑰/私鑰對

運行以下命令以建立公鑰/私鑰對。檔案將保存在/etc/wireguard/目錄下。

bash wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

wg指令是WireGuard的內建設定工具,用於取得和設定WireGuard的配置。執行此命令後,您將獲得一行Base64編碼輸出,即WireGuard伺服器的公鑰(server_public.key)。

請記住,私鑰(server_private.key)絕不能與任何人分享,始終保持安全。

步驟3.2:設定隧道設備

接下來,您需要為WireGuard建立一個網路介面。使用命令列文字編輯器(如vim)建立WireGuard設定文件,網路介面名稱將為wg0。

bash sudo vim /etc/wireguard/wg0.conf

添加以下內容:

```plaintext [Interface]

wg0介面的私有IP位址

Address = 10.0.0.1/24

VPN伺服器監聽端口

ListenPort = 51820

VPN伺服器私鑰

PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=

防火牆規則

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE ```

當然,您需要將PrivateKey替換為您在/etc/wireguard/server_private.key檔案中產生的內容。您可以透過以下命令顯示私鑰的內容:

bash sudo cat /etc/wireguard/server_private.key

確保將enp1s0替換為您的公共網路介面的名稱。您可以使用以下命令輕鬆找到它:

bash ip -o -4 route show to default | awk '{print $5}'

儲存並關閉wg0.conf檔。此外,將檔案權限模式變更為僅根使用者可以讀取這些檔案。

bash sudo chmod -R 600 /etc/wireguard/

步驟4:啟用並啟動WireGuard VPN服務

執行以下命令以啟用在系統啟動時自動啟動並啟動WireGuard。

bash sudo systemctl enable wg-quick

wg0

使用以下命令檢查其狀態。您應該在輸出中看到“active”:

bash sudo systemctl status wg-quick

wg0.service

步驟6:將WireGuard客戶端連接到伺服器

在客戶端機器上執行以下命令以連接VPN用戶端到VPN伺服器:

bash sudo systemctl start wg-quick

wg0

結論

恭喜!希望本教學能幫助您在Ubuntu上安裝並設定WireGuard VPN伺服器和用戶端。此設定使您能夠匿名瀏覽網頁,保持流量資料的隱私。

我強烈建議您閱讀WireGuard專案文件。如果您覺得這篇文章對您有所幫助或遇到任何問題,請隨時發表評論。

更新時間