Docker 一键部署 WireGuard VPN,支持可视化管理与监控

微醺
2026-01-22 / 0 评论 / 3 阅读 / 正在检测是否收录...

🌟 引言

随着远程办公、跨地域访问与隐私保护需求的不断增长,VPN(虚拟专用网络) 正在成为个人与企业必备的基础设施之一。而传统的 WireGuard VPN 配置流程对于普通用户而言存在一定门槛,需要大量命令行操作与手动配置。WG-Easy 正是在这种背景下应运而生的高效解决方案,它将 WireGuard 的强大性能与可视化管理相结合,大大降低部署和维护难度。

💡 项目简介

WG-Easy(WireGuard Easy) 是一个将 WireGuard VPN 核心服务与 Web 可视化管理界面深度集成的开源项目。它通过直观的浏览器操作界面,让用户无需掌握复杂的命令行知识,即可快速完成 VPN 的部署、配置与监控。

设计理念:

  • 📦 开箱即用:基于 Docker 容器化部署,一条命令即可启动
  • 🖱️ 可视化优先:所有操作均可在 Web 界面完成,告别配置文件
  • 🚀 性能卓越:基于 WireGuard 协议,提供媲美直连的网络速度
  • 🔒 安全可靠:采用现代密码学套件,代码简洁易审计

🎯 核心特性

WireGuard Easy 提供了一套完整的 VPN 管理功能,主要特性包括:

  • 🧩 一体化架构:将 WireGuard 核心 VPN 与 Web 管理界面整合在一起。
  • 🚀 快速部署:基于 Docker 容器化,一条命令即可启动完整 VPN 服务。
  • 🖥️ 可视化管理面板:客户端创建、编辑、禁用、删除全部图形化完成。
  • 📱 二维码一键接入:自动生成配置二维码,便于移动设备一键连接。
  • 🔗 一次性分享链接:生成临时配置链接,分享后自动失效,提升安全性
  • 📊 实时连接与流量监控:显示每个客户端的在线状态、上传 / 下载流量。
  • 🌗 多语言 & 深浅色模式:自动适配浏览器语言,支持暗黑模式。
  • 📈Prometheus 监控支持:原生支持 Prometheus,便于接入 Grafana 统一监控体系。
  • 🔑 双因素认证(2FA):支持 TOTP 双因素认证,提升账户安全。
  • 🔐 继承 WireGuard 的安全模型:公钥认证、现代加密算法,无密码、无证书链复杂度。

ℹ️ 环境信息

🔍 WireGuard 内核支持检查

在部署前,请确认服务器内核已支持 WireGuard:

uname -r

加载 WireGuard 内核模块:

modprobe wireguard

验证是否成功:

lsmod | grep wireguard

说明:

  • Linux Kernel ≥ 5.6 已内置 WireGuard
  • Ubuntu 20.04+ / 22.04 LTS 默认支持
  • 若加载失败,请检查内核版本或云厂商是否裁剪模块

基础环境

  • 云服务器(VPS / 轻量云 / 物理机)
  • 操作系统:Ubuntu 22.04 LTS(推荐)
  • 具有域名 或 公网 IP
  • 已安装 Docker / Docker Compose

网络与安全组要求

  • UDP 51820(WireGuard 通信端口)
  • TCP 51821(wg-easy Web 管理界面)
  • 出口网络允许访问公网(用于 VPN 转发)

🔥 配置防火墙规则

# Ubuntu/Debian (使用 ufw)
sudo ufw allow 51820/udp comment 'WireGuard VPN'
sudo ufw allow 51821/tcp comment 'WG-Easy Web UI'

⚠️ 若云厂商启用防火墙 / 安全组,务必同步放行端口。

📦 部署教程

🚀 方式一:Docker 命令行部署(快速上手)

1️⃣ 创建网络

docker network create \
  -d bridge --ipv6 \
  --subnet 10.42.42.0/24 \
  --subnet fdcc:ad94:bacf:61a3::/64 \
   wg

2️⃣ 启动容器

docker run -d \
  --net wg \
  -e INSECURE=true \
  --name wg-easy \
  --ip6 fdcc:ad94:bacf:61a3::2a \
  --ip 10.42.42.42 \
  -v ~/.wg-easy:/etc/wireguard \
  -v /lib/modules:/lib/modules:ro \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add NET_ADMIN \
  --cap-add SYS_MODULE \
  --sysctl net.ipv4.ip_forward=1 \
  --sysctl net.ipv4.conf.all.src_valid_mark=1 \
  --sysctl net.ipv6.conf.all.disable_ipv6=0 \
  --sysctl net.ipv6.conf.all.forwarding=1 \
  --sysctl net.ipv6.conf.default.forwarding=1 \
  --restart unless-stopped \
  ghcr.io/wg-easy/wg-easy:15

3️⃣ 访问 Web 界面

访问浏览器 http://服务器IP:51821 即可进入界面。

🐳 方式二:Docker Compose 部署(推荐)

1️⃣ 安装 Docker Compose

# Ubuntu/Debian
# sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt install -y docker-compose-plugin

2️⃣ 创建配置目录

mkdir ~/wg-easy/ && mkdir ~/wg-easy/

3️⃣ 下载 Docker Compose 文件

sudo curl -o /etc/docker/containers/wg-easy/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml

4️⃣ 修改配置

  • 编辑docker-compose.yml文件并取消environment注释INSECURE
  • 设置INSECURE为true允许通过非安全http连接访问 Web UI。

完整 docker-compose.yml 文件如下:

volumes:
  etc_wireguard:

services:
  wg-easy:
volumes:
  etc_wireguard:

services:
  wg-easy:
    environment:
      - INSECURE=true
    image: ghcr.nju.edu.cn/wg-easy/wg-easy:15
    container_name: wg-easy
    networks:
      wg:
        ipv4_address: 10.42.42.42
        ipv6_address: fdcc:ad94:bacf:61a3::2a
    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.default.forwarding=1

networks:
  wg:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 10.42.42.0/24
        - subnet: fdcc:ad94:bacf:61a3::/64

5️⃣ 启动服务

# 启动容器
docker compose up -d

# 查看日志
docker compose logs -f wg-easy

# 查看容器状态
docker compose ps

访问浏览器 http://服务器IP:51821 即可进入界面。

⚙️ 初始配置

🔐 创建管理员账号

mkp5gl8j.png

mkp5h6sl.png

mkp5htt0.png

mkp5iw0x.png

mkp5jtta.png

📱 创建客户端配置

mkp5kiov.png

🔀 配置路由规则(重要)

修改客户端配置,添加允许的 IP ,决定哪些流量走 VPN

# 全局代理(所有流量走 VPN)
0.0.0.0/0, ::/0

# 仅访问特定网段(分流模式,推荐)
10.42.42.0/24          # WireGuard 内网
10.7.0.0/22            # 服务器内网
172.17.0.0/24          # docker
192.168.1.0/24         # 家庭网络

💡 分流模式的优势:

  • ✅ 仅内网流量走 VPN,外网直连
  • ✅ 节省 VPN 服务器带宽
  • ✅ 访问国内网站速度更快

保存后即可通过扫描二维码或下载配置文件连接

📊 启用 Prometheus 监控

1️⃣ 在 WG-Easy 中启用

进入 管理面板 > 通用设置 > Prometheus,启用监控并设置密码。

mkp5mlbk.png

2️⃣ 配置 Prometheus

在 Prometheus 配置文件中添加:以下是一个示例:

scrape_configs:
    - job_name: 'wg-easy'
      scrape_interval: 30s
      metrics_path: /metrics/prometheus
      static_configs:
          - targets:
                - '服务器IP:51821'
      authorization:
          type: Bearer
          credentials: '上一步设置的密码'

mkp5tqt0.png

导入 Grafana 仪表盘

Grafana Dashboard ID:21733

mkp5v16f.png

mkp5vppb.png

🖥️ 项目界面预览

📊 仪表盘

mkp5wrm9.png

💻 客户端连接

Windows客户端

mkp5y4ro.png

iPhone客户端

mkp5ze5i.png

🎯 适用场景

WG-Easy 适用于多种实际应用场景,从个人隐私保护到企业级远程访问,都能提供高效的解决方案:

  • 🧑‍💻 远程办公 / 内网访问

安全访问公司内网服务(Git、Jenkins、数据库、K8s 等)。

  • 🌍 跨地域统一出口网络

多终端统一出口 IP,便于访问特定区域网络资源。

  • 🏡 家庭网络远程访问

安全访问家中 NAS、路由器、智能家居设备、监控摄像头、内网服务。

  • 👥 小型团队 VPN 管理

无需专业网络运维即可维护团队 VPN。

  • 🧪 测试 / 沙箱 / 运维环境

快速搭建临时 VPN,随用随删,配置可追溯。

🔗 相关链接

📖 官方文档

🔧 高级配置

📱 客户端下载

平台下载地址
Windowshttps://download.wireguard.com/windows-client/
🍎 macOShttps://apps.apple.com/app/wireguard/id1451685025
🤖 Androidhttps://play.google.com/store/apps/details?id=com.wireguard.android
📱 iOShttps://apps.apple.com/app/wireguard/id1441195209
🐧 Linuxsudo apt install wireguard 或各发行版包管理器

💬 社区支持

WireGuard vs IPsec vs OpenVPN 核心对比

选择 WireGuard,如果你需要:

  • ✅ 极致性能:低延迟、高吞吐量的网络体验
  • ✅ 移动场景:频繁切换网络(4G/5G ↔ WiFi)
  • ✅ 简单部署:快速上手,无需复杂配置
  • ✅ 物联网/嵌入式:资源受限的设备
  • 🎯 适用场景:个人 VPN、移动办公、物联网、云原生环境

选择 IPsec,如果你需要:

  • ✅ 企业合规:满足 FIPS、CC 等安全认证要求
  • ✅ 站点互联:分支机构与总部的网络互联
  • ✅ 原生集成:操作系统内置支持,无需额外客户端
  • ✅ 传统设备:需要与老旧设备兼容
  • 🎯 适用场景:企业站点互联、合规要求高的场景、金融行业

选择 OpenVPN,如果你需要:

  • ✅ 最大兼容性:严格的防火墙环境(可伪装 HTTPS)
  • ✅ 灵活认证:用户名密码、双因素认证等
  • ✅ 成熟生态:丰富的第三方工具和管理系统
  • ✅ 细粒度控制:复杂的访问控制和策略路由
  • 🎯 适用场景:企业远程访问、严格防火墙环境、需要灵活认证的场景

🎉 总结

WG-Easy 以其实用性和易用性,将传统 WireGuard VPN 的部署门槛大幅降低,使得 VPN 架构不仅对开发者友好,同时对非专业用户亦极易上手。无论是个人搭建,还是企业内网 VPN 管理,WG-Easy 都能提供简洁、高效、安全的解决方案,是值得推荐的开源 VPN 工具。

0

评论 (0)

取消