wireguard@wg-easy v14容器化部署
wg-easy 是一个开源项目,旨在提供一种简单的方式来部署和管理 WireGuard VPN,并附带一个基于 Web 的管理界面。以下是基于 GitHub 上 wg-easy/wg-easy
v14.0.0 分支的介绍:
wg-easy offical
The easiest way to run WireGuard VPN + Web-based Admin UI.
1.项目概述
- 项目名称: wg-easy (WireGuard Easy)
- GitHub 仓库: https://github.com/wg-easy/wg-easy
- 版本: v14.0.0 (发布于 2024 年 9 月 10 日)
- 目标: 提供一个易于安装和使用的 WireGuard VPN 解决方案,结合直观的 Web 管理界面。
- 许可证: AGPL-3.0
- 主要特性:
- 一键部署: 通过 Docker 或 Docker Compose 快速安装。
- Web 管理界面: 支持客户端的创建、编辑、删除、启用/禁用等操作。
- 客户端管理: 显示客户端二维码、下载配置文件、查看连接状态及流量统计。
- 多语言支持: 支持多种语言(如英语、德语、西班牙语、中文等)。
- Gravatar 支持: 为客户端用户显示头像。
- Home Assistant 支持: 集成智能家居平台。
- 安全性改进: v14.0.0 引入了
PASSWORD_HASH
替代明文密码,提升安全性。
2.v14.0.0 主要更新
根据发布说明,v14.0.0 带来了一些重要变化:
- 密码安全性:
- 移除了明文
PASSWORD
环境变量,改用PASSWORD_HASH
,需要使用 bcrypt 哈希密码。 - 提供生成 bcrypt 哈希的指南(参考
How_to_generate_an_bcrypt_hash.md
)。
- 移除了明文
- Home Assistant 支持: 新增与 Home Assistant 的集成,方便智能家居用户。
- 翻译更新: 改进了多语言支持,新增或优化了部分语言。
- 错误修复:
- 修复了若干 bug,提升了稳定性。
- 修复了之前版本中可能出现的登录无需认证的问题(参见讨论 #1478)。
- 其他改进:
- 增强了 Web UI 的功能,如流量图表(支持折线图、面积图、柱状图)。
- 优化了 Docker 配置,简化部署流程。
3.安装与使用
wg-easy 推荐使用 Docker 或 Docker Compose 进行部署。以下是基本安装步骤(基于 v14.0.0):
3.1.使用 Docker
加载nat内核,开机自己加载
echo "ip_tables" | tee -a /etc/modules-load.d/wireguard.conf
echo "iptable_nat" | tee -a /etc/modules-load.d/wireguard.conf
systemctl restart systemd-modules-load
容器启动
1 | docker run -d \ |
- 关键参数:
WG_HOST
: 服务器的公网 IP 或域名。PASSWORD_HASH
: 使用 bcrypt 工具生成的密码哈希。PORT
: Web UI 端口(默认 51821)。WG_PORT
: WireGuard VPN 端口(默认 51820)。
PASSWORD_HASH获取
3.2.使用 Docker Compose
- 下载
docker-compose.yml
:1
wget https://raw.githubusercontent.com/wg-easy/wg-easy/v14.0.0/docker-compose.yml
- 编辑
docker-compose.yml
,设置WG_HOST
和PASSWORD_HASH
。 - 运行:
1
docker compose up --detach
3.3.访问
- Web UI 默认地址:
http://<YOUR_SERVER_IP>:51821
- 使用生成的密码登录,管理 VPN 客户端。
password 明文登录
4.功能亮点
- 客户端管理:
- 通过 Web 界面添加/删除客户端,生成二维码或配置文件。
- 支持查看客户端的实时流量(Tx/Rx)统计。
- 灵活配置:
- 支持自定义 MTU、DNS、IP 范围、Keepalive 时间等。
- 可设置允许的 IP 范围(
WG_ALLOWED_IPS
),实现分流配置。
- 图表支持:
- 可选择禁用图表或启用折线图、面积图、柱状图来展示流量数据。
- 多平台支持:
- 适用于 Linux 主机,支持 Docker 和 Podman。
- 客户端支持 Android、iOS、Windows、macOS 等。
4.注意事项
- 密码哈希:
- v14.0.0 要求使用
PASSWORD_HASH
,需参考官方文档生成 bcrypt 哈希。 - 旧版本的明文密码配置不再支持,升级时需注意。
- v14.0.0 要求使用
- 端口配置:
- 如果更改
WG_PORT
,需同步更新暴露的端口映射。
- 如果更改
- 安全性:
- 确保
WG_HOST
设置正确,否则可能导致连接失败。 - v14.0.0 修复了无认证登录的漏洞,建议尽快升级。
- 确保
- 升级问题:
- 部分用户报告升级后无法连接或访问 UI,可能与网络配置(如
EADDRNOTAVAIL
错误)有关,需检查 IP 和端口设置。 - 迁移指南(Migration Guide)可帮助从旧版本升级。
- 部分用户报告升级后无法连接或访问 UI,可能与网络配置(如
适用场景
wg-easy 适合需要快速部署 VPN 的用户,例如:
- 个人用户:保护隐私,访问家庭网络。
- 小型团队:构建安全的远程访问通道。
- 开发者和爱好者:测试或学习 WireGuard 的简单工具。