24.04.2024

WireGuard Easy: VPN сервер с удобной web-панелью

WireGuard работает по протоколу UDP, имеет отличную скорость передачи данных и открытый исходный код. Для шифрования трафика используется алгоритм ChaCha20. Помимо всего прочего, имеет хорошую расширяемость благодаря сторонним скриптам. Разрабатывается WireGuard с 2015 года.

Что касается установки и настройки клиентской части в операционных системах Linux, читайте тут. В этой статье поднимем WireGuard на сервере с web-панель для управления. Как известно, по умолчанию в WireGuard добавление и удаление пользователей происходит редактируя конфигурационный файл. Разработчик Emile Nijssen с Github этот процесс вынес в web-панель, тем самым упростив его. Из достоинств можно выделить: Список, создание, редактирование, удаление, включение, отключение и статистика клиентов. Диаграммы Tx/Rx для каждого подключенного клиента.

Установка WireGuard Easy на сервер

Итак, первое, что необходимо, это сам сервер на который будем производить установку WireGuard Easy. Его можно арендовать у любого провайдера предоставляющего соответствующие услуги. Разумеется, поднять сервер можно и в компании, если есть такая необходимость. К примеру, для подключения сотрудников к внутренней сети по защищенному туннелю.

Начнем с установки curl, Docker контейнера и добавления нашего пользователя в группу docker. После установки Docker и добавления пользователя в группу docker, выходим командой exit:

sudo apt install curl -y && curl -sSL https://get.docker.com | sh && sudo usermod -aG docker $(whoami)
exit

Подробнее про работу с Docker читайте тут.

WireGuard Easy VPN сервер с удобной web панелью 1 1

Затем снова возвращаемся в терминал и создаем конфигурацию для панели WireGuard Easy от root пользователя. В создаваемой конфигурации задайте свои данные с IP адресом и паролем для входа в web-панель:

docker run -d \ --name=wg-easy \ -e WG_HOST=192.168.122.6 \ -e PASSWORD=123\ -e WG_DEFAULT_DNS=1.1.1.1 \ -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

В данной конфигурации мы перенаправляем DNS запросы через Cloudflare (1.1.1.1), при желании можно задать свой предпочитаемы DNS, либо, вообще убрать эту строчку, например:

docker run -d \ --name=wg-easy \ -e WG_HOST=ip_адрес_сервера \ -e 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
WireGuard Easy VPN сервер с удобной web панелью 2

Далее нажимаем Enter, в случае, если при создании конфигурации WireGuard Easy DNS запросы будут перенаправляться через Cloudflare, необходимо внести правки в /etc/resolv.conf:

echo nameserver 1.1.1.1 | sudo tee /etc/resolv.conf
WireGuard Easy VPN сервер с удобной web панелью 3

Добавление пользователя в WireGuard Easy

На этом все, установка WireGuard Easy на сервер завершена. Переходим в браузер, вводим IP адрес сервера и указываем порт 51821, вводим пароль, который указывали ранее и попадаем в web-панель:

WireGuard Easy VPN сервер с удобной web панелью 4

Для добавления нового пользователя в web-панели WireGuard Easy нажимаем на кнопку “New” или “New Client”, затем вводим имя добавляемого клиента и нажимаем “Create”:

WireGuard Easy VPN сервер с удобной web панелью 5

Новый пользователь добавлен, в правой стороне от имени пользователя имеются QR код, конфигурационный файл, который можно скачать и передать пользователю для подключения к серверу WireGuard Easy либо, удалить пользователя:

WireGuard Easy VPN сервер с удобной web панелью 6

Заключение

Теперь осталось настроить подключение к серверу на хосте, что собственно тоже делается довольно просто. Ссылка о том как настраивать WireGuard на хосте давалась ранее, но, на всякий пожарный продублирую ее. Параметры для подключения к серверу можно получить способами, описанными чуть выше.

WireGuard Easy удобный инструмент для управления пользователями на сервере, который может облегчить жизнь администраторам. Все исходники WireGuard Easy доступны на Github по этой ссылке.

Разумеется, сам сервер тоже должен быть настроен правильно и на нем должна быть обеспечена безопасность. Иначе, есть риск того, что ваш VPN будет взломан.

А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:

YouTube
ВКонтакте
Telegram
Дзен

По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.

Источник.