WireGuard使用docker构建

 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

看到登陆页面,密码为你配置的。

 

 客户端管理页:

 

 

posted @ 2025-04-09 20:44  Colin.liu  阅读(1375)  评论(0)    收藏  举报