Установка WireGuard Easy на Debian 10
Когда мне в очередной раз потребовался VPN сервер, чтобы зайти на сайт, доступ к которому запрещён в России, я вспомнил про проект WireGuard Easy, на описание которого натыкался в телеграм канале ServerAdmin.ru. Я подумал, что раз у меня есть своя виртуалка с Debian 10, на которой крутится этот сайт, то почему бы не хостить на нём и свой небольшой VPN, тем более что WireGuard работает значительно быстрее OpenVPN и даже с 1 ядром процессора и 1 ГБ оперативной памяти можно без особой нагрузки и вреда для доступности сайта получать скорость свыше 200 Мбит/с, чего более чем достаточно для сёрфинга и потокового видео.
Процесс установки и настройки WireGuard Easy весьма прост, повторить его сможет практический каждый, кто не сильно боится линуксовой консоли. Проект рассчитан на использование Docker и Docker Compose, так что единственное, что нужно поставить на хостовую машину кроме этого софта — это поддержка самого WireGuard в качестве модуля для ядра системы. Если этого не сделать, то контейнер просто не запустится. Для Debian 10 поддержка WireGuard доступна из репозитория backports, использование которого надо добавить в конфигурационный файл /etc/apt/sources.list:
deb http://deb.debian.org/debian buster-backports main
После этого обновляем список пакетов и ставим wireguard:
sudo apt update
sudo apt install wireguard/buster-backports
Compose-файл для запуска WireGuard Easy написан с расчётом на более свежие версии docker и docker-compose, чем Debian 10 предлагает в своих родных репозиториях, так что лучше установить эти компоненты с официального сайта, там всегда предлагается самая свежая стабильная версия:
curl -sSL https://get.docker.com | sh
sudo sh get-docker.sh
sudo usermod -aG docker $(whoami)
После этого в систему надо перелогиниться, чтобы применилось членство в группе docker и вы смогли давать команды соответствующему демону без использования sudo. После перезахода доставляем docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Отлично, на самом деле это практически всё, остаётся только скачать compose-файл проекта WireGuard Easy, задать свой пароль и запустить контейнер:
mkdir ~/.wg-easy
cd ~/.wg-easy
wget https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/docker-compose.yml
nano docker-compose.yml
В конфиге надо поправить только два параметра — DNS имя вашего сервера (хотя наверняка можно использовать и просто белый IP адрес) и пароль для входа в админку. Подразумевается, что админка будет висеть открытой для всего интернета, так что пароль лучше сделать понадёжнее. Пример конфига:
version: "3.8"
services:
wg-easy:
environment:
# ⚠️ Required:
# Change this to your host's public address
- WG_HOST=example.com
# Optional:
- PASSWORD=YourStrongPassword
# - WG_PORT=51820
# - WG_DEFAULT_ADDRESS=10.8.0.x
# - WG_DEFAULT_DNS=1.1.1.1
# - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
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
Если всё прошло удачно, что на порту 51821 вашего сервера поднимется новый веб-интерфейс, доступный по http, например — http://example.com:51821/. Для входа в админку нужно ввести только пароль, указанный в конфиге.
Здесь вы можете добавить столько клиентов, сколько вам будет нужно. Советую вам давать имена профилям без пробелов и спецсимволов.


Для установки профиля на Windows нужно скачать конфигурационный файл и импортировать его в официальный клиент. Для установки на смартфон можно использовать QR-код, который умеет генерить админка и принимать на вход клиент. Дальнейшее использование не отличается от того же OpenVPN или OpenVPN Connect.
Не думаю, что такое решение годится для серьёзного корпоративного применения, но в качестве домашнего «семейного» VPN для редких случаев — решение выглядит очень привлекательно, я результатом полностью доволен.
Приветсвтую! Прошу у вас помощи. Вышло дополнение позволяющее отключать диаграммы для веб-интерфейса wg-easy. Никак не удается их реализовать. Вы не могли бы помочь и дополнить статью информацией по отлючению графиков?))
Извянюсь если нагло поступил.
Добрый день, и еще интересно можно ли к WEB админке wg-easy прикрутить HTTPS?
Добрый! Да, конечно можно поставить перез wg-easy прокси-сервер, терминирующий HTTPS. Думаю, пора обновить статью, перейти на Debian 11 и добавить получение сертификата.