Wireguard in docker

Wireguard in docker


https://www.wireguard.com/install/

Подготавливаем саму операционку (здесь в статье мы используем Centos):

yum install epel-release https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm 
yum install yum-plugin-elrepo 
yum install kmod-wireguard wireguard-tools jq -y
modprobe wireguard

ставим docker и docker-compose

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
 

cat docker-compose.yml

version: "3.8"
services:
 wg-easy:
   environment:
     # ⚠️ Required:
     # Change this to your host's public address
     - WG_HOST=192.168.1.170
     # Optional:
     - PASSWORD=foobar123
     - WG_PORT=51820
     # - WG_DEFAULT_ADDRESS=192.168.1.170
     - WG_DEFAULT_DNS=8.8.8.8
     # - WG_MTU=1420
     # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
     # - WG_PRE_UP=echo "Pre Up" > /etc/wireguard/pre-up.txt
     # - WG_POST_UP=echo "Post Up" > /etc/wireguard/post-up.txt
     # - WG_PRE_DOWN=echo "Pre Down" > /etc/wireguard/pre-down.txt
     # - WG_POST_DOWN=echo "Post Down" > /etc/wireguard/post-down.txt

   image: weejewel/wg-easy
   container_name: wg-easy
   volumes:
     - .:/etc/wireguard
   ports:
     - "51820:51820/udp"
     - "51821:51821/tcp"
   restart: unless-stopped
   cap_add:
     - NET_ADMIN
     - SYS_MODULE
   sysctls:
     - net.ipv4.ip_forward=1
     - net.ipv4.conf.all.src_valid_mark=1

WG_HOST тут указываем наше публичное имя

PASSWORD это соответственно пароль для админки

стартуем:

docker compose up -d

админка будет доступна тут:

http://192.168.1.170:51821/


залогинившись создаём пользователя:



по сути всё.

Далее нужно выслать пользователю или конфиг или QR код

Теперь рассмотрим как подключаться со стороны клиента:

Находим клиент и ставим его

запускаем

нажимаем на +

У нас выбрано сканирование QR кода

 

при включении тунеля появится следующее окно:

соглашаемся и всё ок.

дальше можно проверить на myip

после отключения:



Report Page