Установка сервера

Docker-compose yaml

version: "2.1"
services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Netherlands
      - SERVERURL=auto #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - /app/vpn/wireguard/config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: always

 

Рассмотрим основные параметры:

    • PUID=1000 - ID пользователя от которого запускаем контейнер. Если вы создавали пользователя с айдишником 1337 то вписываем сюда 1337
    • PGID=1000 - ID группы от которой запускаем контейнер. Если вы создавали пользователя с айдишником 1337 то вписываем сюда 1337
    • TZ=Europe/London - Таймзона например Europe/Netherlands
    • SERVERURL=auto - Если у нас есть домен можем вписать его сюда для удобства либо оставляем значение по умолчанию
    • SERVERPORT=51820 - Порт на котором будет висеть wireguard. Не забываем разрешить в фаерволле
    • PEERS=1 - Количество создаваемых конфигов. Хорошая практика 1 конфиг = 1 клиент, а не сажать 10 клиентов на 1 конфиг. При подключении каждый клиент будет иметь уникальный ip в виртуальной подсети
    • PEERDNS=auto - Можно вписать кастомные днс или например 1.1.1.1 или оставить значение auto
    • INTERNAL_SUBNET=10.13.13.0 - Внутренняя виртуальная сеть
    • ALLOWEDIPS=0.0.0.0/0 - Диапазоны ip к которым пиры могут обращаться через VPN тунель. По стандарту все ip
  • /app/vpn/wireguard/config:/config - Место для хранения данных докер контейнера

Управление сервером 

sudo docker exec -it wireguard wg - статистика

sudo docker-compose up -d --force-recreate  - для изменения конфига

sudo docker exec -it wireguard /app/show-peer НОМЕР-ПИРА - показать qr код