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

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

事前準備
- 伺服器環境:Ubuntu 22.04+ 或 Debian 11+(需已安裝 Docker 與 Docker Compose)。
- 網域名稱:已設定 DNS 解析指向伺服器 IP(如
pangolin.yourdomain.com)。 - 防火牆埠號:
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:輸入基礎參數
安裝程式執行時會依序提示以下設定:
- Edition:選擇
Community Edition(社群開源版)。 - Base Domain:輸入根網域名稱(例如
yourdomain.com)。 - Dashboard Domain:輸入管理介面網址(預設為
pangolin.yourdomain.com)。 - Let's Encrypt Email:輸入用於申請 SSL 憑證的管理員信箱。
- Tunneling (Gerbil):選擇
Yes(啟用 WireGuard 隧道穿透模組)。 - Start Installation:確認後自動拉取映像檔並啟動容器。
步驟 3:取得初始 Token 並完成管理員註冊
容器啟動完成後,在終端機中檢視 Pangolin 日誌以取得初始設定金鑰:
cd /opt/stacks/pangolin
sudo docker compose logs pangolin
在日誌中找到 setup token 後:
- 瀏覽器前往:
https://pangolin.yourdomain.com/auth/initial-setup - 貼上 Setup Token。
- 設定管理員帳號信箱與密碼。
- 建立你的第一個組織 (Organization) 即可開始使用。
日常管理與升級
cd /opt/stacks/pangolin
# 檢視運行狀態
sudo docker compose ps
# 更新版本
sudo docker compose pull
sudo docker compose up -d