如何用Docker构建WireGuard实现功能?

摘要:WireGuard是一款非常好用的异地组网工具(俗称:VPN),可以兼容各种操作系统,非常简单好用,部署起来也是非常方便,只需要有公网IP即可。 这里只介绍(记录)使用docker如何部署: 先运行以下命令生成密码哈希值: docker r
WireGuard是一款非常好用的异地组网工具(俗称:VPN),可以兼容各种操作系统,非常简单好用,部署起来也是非常方便,只需要有公网IP即可。 这里只介绍(记录)使用docker如何部署: 先运行以下命令生成密码哈希值: docker run --rm -it ghcr.io/wg-easy/wg-easy wgpw 'YOUR_PASSWORD' 复制 PASSWORD_HASH 后面的哈希值(不包括引号),替换docker-compose.yml中的密码。 wg-easy构建 version: "3" services: wg-easy: image: ghcr.io/wg-easy/wg-easy:latest container_name: wg-easy # 容器名字 hostname: wg-easy # 主机名 cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 # - net.ipv6.conf.all.forwarding=1 # 如果还需要使用ipv6连接,则去掉第三行的#号注释并对齐 volumes: - /root/docker/wg-easy:/etc/wireguard # 映射容器目录 environment: #密码:colin举例 - PASSWORD_HASH=$$2a$$12$$EChaMs3sXJZEwIhWrhcr4.IZA/T3jiBCdB7qKeoSW3pQWyeQQb7a. # 粘贴你生成的HASH密码替换 - PORT=51821 # 自定义容器的 WebUI端口 - WG_PORT=51820 # 自定义容器的数据访问端口 - WG_DEFAULT_ADDRESS=10.6.2.x # 自定义VPN客户端的网段,参考我的不用改 - WG_CONFIG_PORT=51800 - WG_HOST=n.ptapp.cn # 你的服务器地址,IP和域名均可,推荐是域名,需要公网能访问到的 - WG_ALLOWED_IPS=192.168.8.0/24,10.6.2.0/24 #这里是VPN客户端可以访问的网段,如果你要全部都走VPN就改为0.0.0.0/0, ::/0 - WG_DEFAULT_DNS=223.6.6.6,119.29.29.29 你为VPN客户端分配的公网DNS,参考我的不用改 - WG_PERSISTENT_KEEPALIVE=25 # 保活,不用改 - LANG=zh - TZ=Asia/Shanghai network_mode: bridge # network_mode: host 两种模式自己选 ports: - 51800:51820/udp # 映射容器端口,数据传输端口,左侧要和 <WG_CONFIG_PORT> 保持一致;右侧需要和上面的 <WG_PORT> 的容器端口保持一致 - 51801:51821/tcp # WebUI 端口,左侧随意,右侧需要和上面的 <PORT> 的容器端口保持一致 restart: always # 重启策略    部署好后可以访问 http://你的IP:51801 看到登陆页面,密码为你配置的。 客户端管理页: