何 Linux 主机上安装和管理 WireGuard 的最简单方法!
一、Docker-compose.yml文件
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy
network_mode: bridge
restart: unless-stopped
environment:
- WG_HOST=1.2.3.4
- PASSWORD_HASH=***
- WG_DEFAULT_ADDRESS=192.168.6.x
- WG_DEFAULT_DNS=223.6.6.6
- WG_ALLOWED_IPS=192.168.6.0/24
- WG_PERSISTENT_KEEPALIVE=25
volumes:
- ./config:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
二、其他事项
wg-easy登录密码使用生成
wg-password (wgpw) 是一个脚本,它生成用于 wg-easy 的 bcrypt 密码哈希,通过要求密码来增强安全性。docker 生成 bcrypt 密码哈希,使用 bcrypt 密码哈希值替换。docker run --rm -it ghcr.io/wg-easy/wg-easy wgpw 'YOUR_PASSWORD' PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // 你的密码是:YOUR_PASSWORD
- yml文件注意
- docker run 命令时请确保将密码括在单引号中
使用 docker-compose.yml 时,不要将生成的哈希密码括在单引号中。而是将每个 $ 符号替换为两个 $$ 符号,例如:
- PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG
- Web UI访问 在tcp映射端口上,使用http://0.0.0.0:51821登录。
WG_DEFAULT_ADDRESS
客户端 IP 地址范围192.168.6.x(后面是x),不是只能一客户端。nginx配置
server { server_name ⚠️wg-easy.myhomelab.com; location / { proxy_pass http://wg-easy:51821/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } }