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
админка будет доступна тут:

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


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

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

запускаем

нажимаем на +

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

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

соглашаемся и всё ок.
дальше можно проверить на myip

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

