跳至主要内容

Wg-Easy:視覺化 WireGuard VPN 伺服器

Wg-Easy 是一款將高效能 WireGuard VPN 與極簡 Web 管理面板整合的開源工具。它解決了傳統 WireGuard 需在終端機手動生成金鑰與設定檔的痛點,讓你在網頁端一鍵建立連線用戶端,並透過手機掃描 QR Code 即可安全連線回家中 Homelab 內網。


主要特色​

  1. 一鍵建立與 QR Code 掃描:在 Web 介面輸入裝置名稱即可生成設定檔,手機 App 直接掃碼連線。
  2. 極速與低延遲:基於 Linux 核心級的 WireGuard 協定,加密效能與傳輸速度顯著優於傳統 OpenVPN。
  3. 即時連線與流量監控:網頁端清楚列出所有連線裝置、最後上線時間與上下行傳輸量。
  4. 自動化網路轉發:容器自動處理 iptables 路由與 NAT 偽裝,不需手動編寫複雜網路規則。

部署步驟 (Docker Compose)​

在 Ubuntu Server 終端機中執行:

1. 建立目錄​

sudo mkdir -p /opt/stacks/wgeasy/data
cd /opt/stacks/wgeasy

2. 建立 compose.yaml​

services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:latest
container_name: wg-easy
restart: unless-stopped
environment:
# 伺服器對外連線的 Public IP 或 DDNS 網域名稱 (例如 myhomelab.duckdns.org)
- WG_HOST=your_domain_or_public_ip
# Web 管理介面登入密碼 (明文或使用 bcrypt 加密字串)
- PASSWORD=your_secure_web_password
- WG_PORT=51820
- WG_DEFAULT_ADDRESS=10.8.0.x
- WG_DEFAULT_DNS=1.1.1.1
- TZ=Asia/Taipei
volumes:
- ./data:/etc/wireguard
ports:
- "51820:51820/udp" # WireGuard 協議傳輸埠號
- "51821:51821/tcp" # Web 管理介面埠號
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1

注意:

  • 路由器需將 UDP 51820 埠號轉發至此台 VM,外網才能成功建立 VPN 連線。
  • WG_HOST 必須填入對外可連線的實體公網 IP 或 DuckDNS 網域名稱。

3. 啟動服務​

sudo docker compose up -d

使用步驟​

1. 登入管理介面​

在瀏覽器打開:http://<VM_IP>:51821,輸入你在環境變數中設定的 PASSWORD。

2. 新增連線裝置 (Client)​

  1. 點擊 New Client,輸入裝置名稱(如 iPhone 或 MacBook)。
  2. 點擊 Create,系統會立即生成專屬的公私鑰與設定檔。

3. 裝置連線​

  • 手機端:下載 WireGuard 官方 App,點擊 + -> 掃描 QR Code,對準網頁上的 QR Code 掃描即可完成設定並一鍵連線。
  • 電腦端:點擊下載 .conf 設定檔,匯入 WireGuard 電腦客戶端即可連線。

相關連結​