阿坤玩存储

不只是存储

wireguard docker配置,一分钟搞定异地组网

2025-06-14

在众多 WireGuard 教程中,大多数都是基于 OpenWRT 软路由进行部署,对于不熟悉 OpenWRT 或不想折腾配置的用户而言,门槛相对较高。为此,我整理了一套通过 Docker 快速部署 WireGuard 的方法,支持自定义客户端数量,并可一键扫码连接,适合内网穿透、远程访问等场景

本教程将教你如何:

  • 使用 Docker Compose 一键部署 WireGuard

  • 设置配置文件目录结构

  • 自定义客户端数量并自动生成配置

  • 扫码连接 WireGuard 客户端(支持安卓、iOS 等)

  • 配置公网端口转发,轻松实现远程访问

整个部署过程无需复杂命令,部署完成后你将拥有一个稳定、安全的 WireGuard VPN 服务,支持多设备同时连接,轻松访问你家中或办公室的局域网服务。

如果你曾因为复杂配置望而却步,现在只需1分钟,就能轻松拥有属于自己的 WireGuard 服务。

docker compose 配置(仅IPV4)

version: '3.8'

services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard1
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - SERVERURL=wg.kuntech.xyz  # 服务器公网域名或 IP,客户端配置中将使用此地址连接
      - SERVERPORT=51820  # WireGuard 服务监听端口(UDP)
      - PEERS=1  # 预生成的客户端配置数量
      - PEERDNS=auto  
      - INTERNAL_SUBNET=192.168.18.0 # 内部 VPN 网络的 IP 段
      - ALLOWEDIPS=0.0.0.0/0  # 允许客户端访问的 IP 范围(0.0.0.0/0 表示全部流量通过 VPN)
      - PERSISTENTKEEPALIVE_PEERS=
      - LOG_CONFS=true
    volumes:
      - ./config:/config  # 挂载配置目录,保存 WireGuard 配置文件和客户端配置
      - /lib/modules:/lib/modules  # 挂载宿主机内核模块(可选,若使用用户空间实现可省略)
    ports:
      - 51820:51820/udp  #WireGuard 端口
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

docker compose 配置(支持IPV6)

version: '3.8'

services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard1
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - SERVERURL=wg.kuntech.xyz  # 服务器公网域名(需同时支持IPv4和IPv6解析)
      - SERVERPORT=51820  # 端口保持不变
      - PEERS=1
      - PEERDNS=auto  
      - INTERNAL_SUBNET=192.168.18.0  # IPv4内网段
      - INTERNAL_SUBNET_V6=fd00:1234:5678::/64  # IPv6内网段(自定义非路由前缀)
      - ALLOWEDIPS=0.0.0.0/0,::/0  #允许IPv6流量(::/0表示全部IPv6地址)
      - PERSISTENTKEEPALIVE_PEERS=
      - LOG_CONFS=true
    volumes:
      - ./config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp  # 保持UDP端口
      - :::51820:51820/udp  #IPv6端口映射(格式:[::]:端口:端口/协议)
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0  #启用IPv6
      - net.ipv6.conf.all.forwarding=1  #开启IPv6转发
    restart: unless-stopped

WireGuard官网链接:https://zh-wireguard.com

资源下载链接(内含docker镜像、安卓、电脑版客户端):

https://www.123912.com/s/d83gjv-2lvCd

https://www.123865.com/s/d83gjv-2lvCd