Персональный WireGuard VPN сервер с удобным веб-интерфейсом

Установка и настройка персонального WireGuard сервера может быть выполнена всего с помощью нескольких команд благодаря проекту WG-Easy. Данный проект основан на технологии Docker и разворачивается в считанные секунды. Такой VPN cервер не требователен к ресурсам, а потому может быть развернут на VPS (конфигурация VPS зависит от планируемого количества пользователей). Компания Introserv предлагает большой выбор VPS по конкурентной цене в 9 локациях на 4 континентах, что особенно актуально для организации частных серверов VPN. Docker образ сервера по умолчанию настроен на использование и в IPv4  и в IPv6 сетях. 

Процесс установки на Linux OS сервер

1. Подключитесь к серверу по SSH

2. Установите Docker Engine:

curl -sSL https://get.docker.com | sh

3. Добавьте вашего пользователя в группу Docker:

sudo usermod -aG docker $(whoami)

4. Запустите докер контейнер одной командой. Стандартная команда выглядит следующим образом:

docker run -d --name=wg-easy -e WG_HOST=YOUR_SERVER_IP -e PASSWORD=YOUR_ADMIN_PASSWORD -v ~/.wg-easy:/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl="net.ipv4.conf.all.src_valid_mark=1" --sysctl="net.ipv4.ip_forward=1" --restart unless-stopped weejewel/wg-easy

Важно! Прежде чем запустить команду вам нужно заменить несколько переменных. Ниже мы приведем описание параметров, которые вам нужно заменить своими значеними:
WG_HOST=” укажите IP-адрес вашего сервера вместо значения "YOUR_SERVER_IP"
PASSWORD=” укажите пароль, который будет использоваться для входа в веб-панель вместо значения  "YOUR_ADMIN_PASSWORD"

 

Опционально. По умолчанию параметр “Allowed ip” задан как 0.0.0.0/0 - это значит, что весь трафик подключенного клиента будет проходить через VPN сервер. При необходимости этот параметр может быть подкорректирован в загружаемой конфигурации на стороне клиентского приложения.

Если есть необходимость сменить порт подключения к WireGuard серверу, тогда команда будет выглядеть иначе. Добавится опция -e WG_PORT=НОМЕР_ПОРТА, а также изменение в опции проброса порта в контейнер. Пример команды с измененным портом на 2345:

docker run -d --name=wg-easy -e WG_HOST=YOUR_SERVER_IP -e PASSWORD=YOUR_ADMIN_PASSWORD -e WG_PORT=2345 -v ~/.wg-easy:/etc/wireguard -p 2345:51820/udp -p 51821:51821/tcp --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl="net.ipv4.conf.all.src_valid_mark=1" --sysctl="net.ipv4.ip_forward=1" --restart unless-stopped weejewel/wg-easy

5. По завершении установки перейдите в браузере по ссылке YOUR_SERVER_IP:51821 и увидите форму для ввода пароля.

6. Введите пароль и попадете на главную страницу управления сервером. На главной странице вам доступно удобное создание клиентских конфигураций.

Эти конфигурации могут быть загружены в виде файла для последующего импорта в клиентском приложении.

Или конфигурация может быть применена на мобильное устройство с камерой с помощью сканирования QR-кода

Когда клиент подключен к серверу, будет видна активность в виде красного маркера, а также интенсивность расходования трафика

Чтобы остановить контейнер с VPN сервером запустите команду:

docker stop wg-easy

Чтобы удалить контейнер с VPN сервером запустите команду:

docker rm wg-easy