1. 准备工作

确保已经安装了 Docker。如果尚未安装,可以使用以下命令安装:

curl -sSL https://get.docker.com | sh

或者访问 安装教程 获取详细步骤。

也可以直接访问 Docker 官网 了解安装方法。

2. 设置管理面板密码

运行以下命令生成密码哈希值:

docker run --rm -it ghcr.io/wg-easy/wg-easy wgpw 'YOUR_PASSWORD'

其中 YOUR_PASSWORD 替换为您的自定义密码。执行命令后,会返回类似如下的输出:

PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW'

复制 PASSWORD_HASH 后面的哈希值(不包括引号),后续配置容器时会用到。

3. 运行 wg-easy 容器

运行以下命令来启动 wg-easy 容器:

docker run --detach \
  --name wg-easy \
  --env LANG=chs \
  --env WG_HOST=www.meiko.ink \
  --env PASSWORD_HASH='\$2b\$12\$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' \
  --env PORT=51821 \
  --env WG_PORT=51820 \
  --volume ~/.wg-easy:/etc/wireguard \
  --publish 51820:51820/udp \
  --publish 51821:51821/tcp \
  --cap-add NET_ADMIN \
  --cap-add SYS_MODULE \
  --sysctl 'net.ipv4.conf.all.src_valid_mark=1' \
  --sysctl 'net.ipv4.ip_forward=1' \
  --restart unless-stopped \
  ghcr.io/wg-easy/wg-easy

参数说明

参数说明

  • --detach:后台运行容器。

  • --name wg-easy:容器名称。

  • --env LANG=chs:设置语言环境为中文。

  • --env WG_HOST=www.meiko.ink:设置 WireGuard 服务器地址。或者域名。

  • --env PASSWORD_HASH=...:管理员密码哈希值。

  • --env PORT=51821:管理端口。

  • --env WG_PORT=51820:WireGuard 服务端口。

  • --volume ~/.wg-easy:/etc/wireguard:挂载配置目录。

  • --publish 51820:51820/udp:映射 WireGuard 端口。

  • --publish 51821:51821/tcp:映射管理界面端口。

  • --cap-add NET_ADMIN 和 --cap-add SYS_MODULE:增加网络管理权限。

  • --sysctl 选项用于配置 IP 转发和网络设置。

  • --restart unless-stopped:保证容器自动重启。

  • 重要提示:由于wg-easy开放的51821为http服务,存在一定的安全隐患,建议配合lucky反向代理进行部署。具体操作:1.在创建wg-easy的时候将此容器内部端口51820和51821映射到外部不同的端口,比如配置30000:51820/udp以及30001:51821/tcp 。2.部署lucky后,web服务开启51821的监听,启用TLS即开启了https,将30001端口反向代理至lucky的外部端口51821。而udp端口30000则使用端口转发至外部端口51820。lucky的具体操作详见 《Lucky反向代理部署和使用指南》

4. 访问管理界面

启动容器后,打开浏览器,访问以下地址:

http://<您的wireguard服务器地址>:51821

输入您之前设置的管理员密码即可登录管理界面。

5. 配置 WireGuard

在管理界面中,您可以轻松创建 WireGuard 客户端,下载 .conf 配置文件并导入到客户端。或者扫描二维码添加。
web页面示例