跳至主要内容

Pangolin:結合 WireGuard 與反向代理的遠端存取平台

Pangolin 是一款開源的身分感知 (Identity-aware) 遠端存取與反向代理平台。它結合了 Traefik 反向代理 與 WireGuard 隧道技術 (Gerbil),讓你在不需對外開放內網連接埠(穿透防火牆 / CGNAT)的情況下,安全地存取 Homelab 中的各項內部服務。

Pangolin 儀表板介面


主要特色​

  1. 整合反向代理與 VPN:支援瀏覽器直連 Web 服務,也支援透過 WireGuard 用戶端直接連入內網網段。
  2. NAT 穿透 (Site Connectors):透過輕量節點建立向外出站隧道,無需公網 IP 或路由器 Port Forwarding 即可穿透防火牆。
  3. 精細權限控管:具備組織、使用者角色與資源存取控制清單。

Pangolin 站點與節點管理


事前準備​

  1. 伺服器環境:Ubuntu 22.04+ 或 Debian 11+(需已安裝 Docker 與 Docker Compose)。
  2. 網域名稱:已設定 DNS 解析指向伺服器 IP(如 pangolin.yourdomain.com)。
  3. 防火牆埠號:
    • 80/tcp 與 443/tcp:Web 流量與 Let's Encrypt 自動 SSL 憑證。
    • 51820/udp:Gerbil WireGuard 節點通訊隧道。
    • 21820/udp:用戶端 VPN 連線。

安裝步驟​

步驟 1:下載並執行官方安裝程式​

在伺服器終端機中建立專用目錄並執行安裝腳本:

# 建立目錄
mkdir -p /opt/stacks/pangolin && cd /opt/stacks/pangolin

# 下載安裝程式
curl -fsSL https://static.pangolin.net/get-installer.sh | bash

# 執行互動式安裝
sudo ./installer

步驟 2:輸入基礎參數​

安裝程式執行時會依序提示以下設定:

  1. Edition:選擇 Community Edition(社群開源版)。
  2. Base Domain:輸入根網域名稱(例如 yourdomain.com)。
  3. Dashboard Domain:輸入管理介面網址(預設為 pangolin.yourdomain.com)。
  4. Let's Encrypt Email:輸入用於申請 SSL 憑證的管理員信箱。
  5. Tunneling (Gerbil):選擇 Yes(啟用 WireGuard 隧道穿透模組)。
  6. Start Installation:確認後自動拉取映像檔並啟動容器。

步驟 3:取得初始 Token 並完成管理員註冊​

容器啟動完成後,在終端機中檢視 Pangolin 日誌以取得初始設定金鑰:

cd /opt/stacks/pangolin
sudo docker compose logs pangolin

在日誌中找到 setup token 後:

  1. 瀏覽器前往:https://pangolin.yourdomain.com/auth/initial-setup
  2. 貼上 Setup Token。
  3. 設定管理員帳號信箱與密碼。
  4. 建立你的第一個組織 (Organization) 即可開始使用。

日常管理與升級​

cd /opt/stacks/pangolin

# 檢視運行狀態
sudo docker compose ps

# 更新版本
sudo docker compose pull
sudo docker compose up -d

相關連結​