一、wg-easy服务端部署
SSH连接到主机,获取root权限

运行代码获获取密码哈希,foobar123 改成你的密码
docker run ghcr.io/wg-easy/wg-easy wgpw foobar123修正密码哈希,如果你的密码哈希是$2a$12$开头,compose方式部署需要转义,$2a$12$改成$$2a$$12$$,通俗点说就是单$改成双$
创建wg-easy的映射文件夹,根据自己实际情况创建并上传compose文件
获取原始路径,修改compose文件映射路径,映射到刚才创建的文件夹位置
compose代码如下:
services: wg-easy: environment: - LANG=chs - WG_HOST=ddns域名不用加引号 - PASSWORD_HASH=密码哈希不用加引号 - WG_DEFAULT_ADDRESS=10.1.8.x - WG_DEFAULT_DNS=114.114.114.114 - WG_MTU=1420 - WG_ALLOWED_IPS=10.1.8.0/24 - WG_PERSISTENT_KEEPALIVE=25 - UI_TRAFFIC_STATS=true - UI_CHART_TYPE=2 image: ghcr.mirrors.iconsole.xyz/wg-easy/wg-easy:latest container_name: wg-easy volumes: - /vol3/1000/docker/wg-easy:/etc/wireguard #路径自行修改 ports: - 51820:51820/udp - 51821:51821/tcp restart: unless-stopped # network_mode: host cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1选择docker——compose——新建项目,如图所示构建容器
勾选创建项目后启动
如果镜像拉取失败,需要挂梯子,正常是可以直接启动容器的
成功启动后访问部署机器的51821端口,浏览器进入http协议,例如: http://192.168.5.90:51821/
如果登录失败大概率是密码哈希不正确,参考3进行修正。
登录成功后新建客户端,客户端新建成功点击二维码图标代表扫码导入,点击下载图标是下载客户端配置文件,按照自己情况去操作
wg-easy使用的端口有两个,51820是默认的UPD组网端口,需要在路由器添加端口映射放行;51821则是面板的网站端口,无须映射到公网。

二、windows客户端使用
下载组网配置文件
导入配置文件并编辑
修改AllowedIPs和Endpoint
AllowedIPs代表那些网段走wg,如果想打通家里的局域网就需要追加家里局域网网段,例如:192.168.1.0/24,追加后AllowedIPs为10.1.8.0/24,192.168.1.0/24。
Endpoint填写的是ddns的域名和映射到公网的udp端口,如果内外网端口不一致要记得修改成自己映射的外网端口。
连接VPN,查看收发流量,如果有收发流量代表VPN已走通
此时就当作自己已经回到家中局域网环境,访问家里的应用即可,输入家中局域网网段访问
三、注意事项
wg-easy组网本质上和 tailscale、zerotier 之类区别不大,个人认为最大的优势是完全自己掌控,无需登录第三方账号,劣势是没有公网ip无法使用;
如果在家里连接vpn,客户端AllowedIPs要删掉家里的局域网网段;
如果家里是动态公网IP,长期连接VPN的异地设备需要使用脚本重启wg,因为wg客户端只有在点击连接的时候才进行域名解析。
评论区