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專案文件。如果您覺得這篇文章對您有所幫助或遇到任何問題,請隨時發表評論。