如何設定 WireGuard VPN Server
How to Set Up a WireGuard VPN Server on Ubuntu
想要架設自己的 VPN?WireGuard 是現在最輕量、高速又安全的 VPN 協議,比 OpenVPN 和 IPSec 更簡單易用!這篇教學會手把手帶你在 Ubuntu 上安裝與設定 WireGuard 伺服器,讓你的連線更安全、且快速!🚀
💡 Step 1:更新系統
在開始之前,先確保你的系統是最新的:
sudo apt update && sudo apt upgrade -y
小提醒:記得備份重要資料,確保系統更新不會影響到其他服務哦!📦
🛠 Step 2:安裝 WireGuard
Ubuntu 20.04 以上的版本已經內建 WireGuard,直接執行安裝指令:
sudo apt install wireguard -y
安裝完後,可以用這個指令確認版本:
wg --version
🔑 Step 3:生成 WireGuard 金鑰
每台裝置都需要一組 私鑰 (private key) 和 公鑰 (public key)。先來生成伺服器端的密鑰:
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
接著把這些密鑰放到安全的位置:
sudo mv privatekey /etc/wireguard/server_private.key
sudo mv publickey /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/server_private.key
📄 Step 4:設定 WireGuard 伺服器
現在來建立 WireGuard 設定檔:
sudo nano /etc/wireguard/wg0.conf
輸入以下內容:
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PrivateKey = <server_private_key>
ListenPort = 51820
# 啟用 IP 轉發
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
👉 重點:
PrivateKey
請換成/etc/wireguard/server_private.key
內的內容Address
是 VPN 內部 IP 位址 (你可以自訂範圍)ListenPort
是 WireGuard 伺服器監聽的埠號 (可自行更改)
🔄 Step 5:啟用 IP 轉發
讓 VPN 可以正常轉發流量:
sudo nano /etc/sysctl.conf
找到這一行並取消註解(如果沒有就自己加上去):
net.ipv4.ip_forward=1
儲存後,執行以下指令讓變更生效:
sudo sysctl -p
🚀 Step 6:啟動 WireGuard
現在來啟動 VPN 伺服器!
sudo systemctl start wg-quick@wg0
並讓它開機自動啟動:
sudo systemctl enable wg-quick@wg0
確認 WireGuard 是否運行中:
sudo systemctl status wg-quick@wg0
🛡 Step 7:設定防火牆 (Optional)
如果你有使用 UFW 防火牆,記得開放 51820 UDP 埠:
sudo ufw allow 51820/udp
並允許 VPN 流量轉發:
sudo ufw route allow in on wg0 out on eth0
sudo ufw route allow in on eth0 out on wg0
🤝 Step 8:在伺服器上加入用戶端
在伺服器上手動加上這個用戶端的資訊:
sudo wg set wg0 peer <client_public_key> allowed-ips 10.0.0.2/32
然後重新啟動 WireGuard:
sudo systemctl restart wg-quick@wg0
留言
張貼留言