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

2026-01-19 10:35:00

引言

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

项目简介

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

设计理念

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

核心特性

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

  • 一体化架构:将 WireGuard 核心 VPNWeb 管理界面整合在一起。
  • 快速部署:基于 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
  • 设置INSECUREtrue允许通过非安全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 即可进入界面。

初始配置

创建管理员账号





创建客户端配置

配置路由规则(重要)

修改客户端配置,添加允许的 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,启用监控并设置密码

**
**

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: '上一步设置的密码'

**
**

导入 Grafana 仪表盘

Grafana Dashboard ID:21733

**
**


项目界面预览

仪表盘

**
**

客户端连接

  • Windows客户端

**
**

  • iPhone客户端

**
**


适用场景

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 核心对比

对比维度WireGuardIPsecOpenVPN
协议架构第3层 VPN,内核态,仅 UDP第3层 VPN 协议族,内核态应用层 SSL/TLS,用户态,TCP/UDP
加密方案固定现代套件(ChaCha20-Poly1305)可配置(AES、3DES 等)可配置(默认 AES-256-GCM)
认证方式公钥认证预共享密钥、证书、EAP证书、用户名密码、双因素
安全性高(现代密码学,代码简洁易审计)较高(成熟可靠但配置复杂)较高(依赖 OpenSSL)
性能极高(低延迟,高吞吐)高性能中等
资源占用极低(CPU,内存)低到中等中等到高
连接速度几乎即时较慢(需要协商)快速
配置难度极简(少量配置)复杂中等
NAT 穿透优秀良好优秀
防火墙穿透良好(UDP 可能受限)一般(ESP 常被阻断)极佳(可伪装 HTTPS)
移动网络切换无感知漫游需要重连较好
网络拓扑点对点,站点互联,Mesh 网络站点互联,远程访问远程访问,点对点
平台支持Linux,Windows,macOS,iOS,Android,路由器全平台原生支持全平台完整支持
企业成熟度快速增长中广泛企业级应用广泛企业级应用
合规认证较少完善(FIPS 等)多种认证
适用场景个人 VPN,移动办公,物联网企业站点互联,高合规场景企业远程访问,严格防火墙

快速选择指南

选择 WireGuard,如果你需要:

  • [x] 极致性能(低延迟,高吞吐)
  • [x] 移动场景(频繁切换网络)
  • [x] 简单部署(快速上手)
  • [x] 物联网 / 嵌入式设备
  • 适用场景: 个人 VPN,移动办公,物联网,云原生环境

选择 IPsec,如果你需要:

  • [x] 企业合规(FIPS,CC 等认证)
  • [x] 站点互联
  • [x] 操作系统原生集成
  • [x] 传统设备兼容
  • 适用场景: 企业站点互联,金融行业,高合规场景

选择 OpenVPN,如果你需要:

  • [x] 最大兼容性(严格防火墙环境)
  • [x] 灵活认证(用户名密码,双因素)
  • [x] 成熟生态(丰富第三方工具)
  • [x] 精细访问控制
  • 适用场景: 企业远程访问,强防火墙环境

总结

WG-Easy 以其实用性和易用性,大幅降低了传统 WireGuard VPN 的部署门槛,使 VPN 架构不仅对开发者友好,也对非专业用户易于使用。

无论是个人自建 VPN,还是企业内网 VPN 管理,WG-Easy 都能提供简洁,高效,安全的解决方案,是非常值得推荐的开源 VPN 工具。

转载:https://mp.weixin.qq.com/s/l_himr7l9Kq5tRwNqnxLVQ

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »