云计算百科
云计算领域专业知识百科平台

使用 wg-easy 通过 Docker Compose 配置 WireGuard 服务器

使用wg-easy docker compose设置WireGuard服务器

必须知道的事情

PASSWORD_HASH

PASSWORD_HASH=$$2a$$12$$31H.ZEl74tEF98shuIWWxe2PTsljr3vEMRfU7HL8dPvNJTImcUgRq 这是密码为123456的哈希值,参见 How_to_generate_an_bcrypt_hash.md 来了解如何获取这个哈希值,当你登录到wg-easy配置web界面时,123456将是你的密码。但现在的方法有一点问题,所以可以用以下命令代替:

sudo docker run -it ghcr.io/wg-easy/wg-easy /app/wgpw.sh 123456

如果上述命令的输出是: PASSWORD_HASH='$2a$12$31H.ZEl74tEF98shuIWWxe2PTsljr3vEMRfU7HL8dPvNJTImcUgRq' 因为我们使用的是docker compose yaml文件,需要将每个$符号替换为两个$$符号。所以在yaml中的PASSWORD_HASH应为: PASSWORD_HASH=$$2a$$12$$31H.ZEl74tEF98shuIWWxe2PTsljr3vEMRfU7HL8dPvNJTImcUgRq 记得用一个更强的密码替换简单的123456。

关于我们使用的IP和IP范围的注释:
  • 192.168.0.1 主机网络网关,请改为你的主机网络网关。
  • 192.168.0.0/24 主机网络IP范围,请同样改为你的主机网络IP范围。
  • 10.8.0.x 你的虚拟网络IP范围,除非你偏好其他的IP范围,否则不需要更改。
  • 10.8.0.0/24 由 10.8.0.x 设定的虚拟网络IP范围。

Docker compose 文件

services:
wg-easy:
container_name: wgeasy
image: ghcr.io/wgeasy/wgeasy
network_mode: bridge
environment:
LANG=chs # or en, de …
WG_HOST=stepchen.tpddns.cn
WG_DEFAULT_DNS=192.168.0.1,114.114.114.114,8.8.8.8,8.8.4.4
PORT=7000
WG_DEFAULT_ADDRESS=10.8.0.x
WG_PORT=7001
WG_PRE_UP = iptables t nat F; iptables F; # Flush all rules
WG_POST_UP=iptables A FORWARD i %i j ACCEPT; iptables A FORWARD o %i j ACCEPT; iptables t nat A POSTROUTING o eth0 j MASQUERADE
WG_POST_DOWN=iptables D FORWARD i %i j ACCEPT; iptables D FORWARD o %i j ACCEPT; iptables t nat D POSTROUTING o eth0 j MASQUERADE
WG_ALLOWED_IPS=114.114.114.114,8.8.8.8,8.8.4.4,192.168.0.0/24,10.8.0.0/24
PASSWORD_HASH=$$2a$$12$$31H.ZEl74tEF98shuIWWxe2PTsljr3vEMRfU7HL8dPvNJTImcUgRq
UI_TRAFFIC_STATS=true
UI_CHART_TYPE=3 # (0 Charts disabled, 1 # Line chart, 2 # Area chart, 3 # Bar chart)
# – WG_ENABLE_ONE_TIME_LINKS=true
UI_ENABLE_SORT_CLIENTS=true
# – WG_ENABLE_EXPIRES_TIME=true
volumes:
/mnt/appdata/wgeasy:/etc/wireguard
ports:
7000:7000/tcp
7001:7001/udp
cap_add:
NET_ADMIN
SYS_MODULE
sysctls:
net.ipv4.conf.all.src_valid_mark=1
net.ipv4.ip_forward=1
restart: unlessstopped

启动docker容器后,你可以通过 http://<your_public_ip>:7000 并使用你在 PASSWORD_HASH 中设置的密码来访问服务器的web界面。

设置WireGuard客户端

安装WireGuard客户端

sudo apt update
sudo apt install wireguard

从服务器创建客户端并获取配置文件

访问服务器的web界面并创建一个新的客户端,然后下载客户端配置文件到客户端。然后将配置文件移动到/etc/wireguard/目录下。比如你从服务器下载的配置文件名为stepchen-pc.conf位于/home/stepchen/Downloads/:

sudo mv /home/stepchen/Downloads/stepchen-pc.conf /etc/wireguard/wg0.conf

注意:文件名wg0.conf意味着wg0将是在客户端启动WireGuard连接的名字。

WireGuard的命令

# Start the connection
sudo wg-quick up wg0
# Stop the connection
sudo wg-quick down wg0
# Show current connection
sudo wg show

将连接作为服务添加到客户端机器中

# Create the system service and start it immediately
sudo systemctl enable –now wg-quick@wg0
# Remove the system service and stop it immediately
sudo systemctl disable –now wg-quick@wg0

赞(0)
未经允许不得转载:网硕互联帮助中心 » 使用 wg-easy 通过 Docker Compose 配置 WireGuard 服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!