Персональный VPN-сервер WireGuard с удобным веб-интерфейсом
Установка и настройка персонального сервера WireGuard может быть выполнена с помощью всего нескольких команд благодаря проекту WG-Easy. Этот проект основан на технологии Docker и разворачивается за несколько секунд. VPN-сервер WG-Easy не требователен к ресурсам сервера, поэтому может быть развернут на VPS (конфигурация VPS зависит от планируемого количества пользователей). Компания Introserv d.o.o. предлагает широкий выбор VPS по низким ценам в 9 локациях на 4 континентах, что особенно важно для настройки частных VPN-серверов. Образ сервера Docker по умолчанию настроен для работы с подсетями IPv4 и IPv6.
Процесс установки на сервер с ОС Linux
1. подключитесь к серверу по SSH
2. Установите движок Docker Engine:
curl -sSL https://get.docker.com | sh
3. Добавьте своего пользователя в группу Docker:
sudo usermod -aG docker $(whoami)
4. Запустите контейнер docker одной командой. Стандартная команда выглядит следующим образом:
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"
Необязательно. По умолчанию параметр "Разрешенный ip" имеет значение 0.0.0.0/0 - это означает, что весь трафик подключенного клиента будет проходить через VPN-сервер. При необходимости этот параметр можно настроить в загруженной конфигурации на стороне клиентского приложения.
Если необходимо изменить порт подключения к серверу WireGuard, то команда будет выглядеть иначе. Будет добавлен параметр -e WG_PORT=PORT_NUMBER, а также изменен параметр проброса порта в контейнер. Пример команды с измененным портом:
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