引言

​ 随着远程办公、跨地域访问与隐私保护需求的不断增长,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,随用随删,配置可追溯。


相关链接

官方文档

高级配置

客户端下载

平台 下载地址
Windows https://download.wireguard.com/windows-client/
macOS https://apps.apple.com/app/wireguard/id1451685025
Android https://play.google.com/store/apps/details?id=com.wireguard.android
iOS https://apps.apple.com/app/wireguard/id1441195209
Linux sudo apt install wireguard 或各发行版包管理器

社区支持


WireGuard vs IPsec vs OpenVPN 核心对比

对比维度 WireGuard IPsec OpenVPN
协议架构 第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