Найти в Дзене
Норка Сисадмина

Установка Wireguard и Web интерфейс к нему.

Сегодня будем настраивать VPN wireguard и Web интерфейс к нему. Все действия проводились на Ubuntu 22.04.2 server. Не забываем что должны быть проброшенны UDP порты на вашем роутере или коммутаторе.

Первым делом поднимем на сервере wireguard. Тут дело ваше можете пошагово делать с оф. сайта, но я предпочитаю делать через скрипт.

Скрипт поддерживается следующими дистрибутивами:

  • AlmaLinux >= 8
  • Arch Linux
  • CentOS Stream >= 8
  • Debian >= 10
  • Fedora >= 32
  • Oracle Linux
  • Rocky Linux >= 8
  • Ubuntu >= 18.04

Все действия делаю из под root.

Качаем наш скрипт с github:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

Даем права скрипту:

chmod +x wireguard-install.sh

Запускаем скрипт:

./wireguard-install.sh

Начнется процесс установки. Во время установки скрипт будет запрашивать данные (сеть, DNS и т.п.). Ничего сложного там нет, по этому разбирать подробно не буду.

После завершения работы скрипта в принципе wireguard готов к работе. Чтобы добавить нового пользователя просто запускаете снова скрипт и выбираете цифрой, то что вы хотите сделать.

Далее настраиваем Web интерфейс для нашего VPN.

Качаем скрипт:

git clone https://github.com/donaldzou/WGDashboard.git

Переходим в директорию:

cd ./WGDashboard/src

Даём права и запускаем скрипт:

sudo chmod u+x wgd.sh && \
sudo ./wgd.sh install

Меняем права на каталог:

sudo chmod -R 755 /etc/wireguard

Запускаем:

sudo ./wgd.sh start

Рекомендуется включить форвадинг:

sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

После всех манипуляций Дашборд должен стать доступным по ссылке

http://<ваш ip>:10086

Логин/Пароль admin/admin

Далее чтобы каждый раз не запускать вручную, сделаем автозапуск нашего дашборда.

Смотрим полный путь:

pwd

Должен получиться примерно такой вывод:

/root/WGDashboard/src

Копируем наш путь и вносим его в файл:

nano wg-dashboard.service

**************************************************

[Unit]
After=syslog.target network-online.target
Wants=wg-quick.target
ConditionPathIsDirectory=/etc/wireguard

[Service]
Type=forking
PIDFile=<absolute_path_of_WGDashboard_src>/gunicorn.pid
WorkingDirectory=<absolute_path_of_WGDashboard_src>
ExecStart=<absolute_path_of_WGDashboard_src>/wgd.sh start
ExecStop=<absolute_path_of_WGDashboard_src>/wgd.sh stop
ExecReload=<absolute_path_of_WGDashboard_src>/wgd.sh restart
TimeoutSec=120
PrivateTmp=yes
Restart=always

[Install]
WantedBy=multi-user.target

************************************************************

В файле меняем все <absolute_path_of_WGDashboard_src> на наш реальный путь и сохраняем.

Копируем полученный файл:

sudo cp wg-dashboard.service /etc/systemd/system/wg-dashboard.service

Включаем сервис:

sudo chmod 664 /etc/systemd/system/wg-dashboard.service
sudo systemctl daemon-reload
sudo systemctl enable wg-dashboard.service
sudo systemctl start wg-dashboard.service

Рекомендую перезапустить сервер.

Ну и проверяем, что все работает:

systemctl status wg-dashboard.service

После всех выше перечисленных действий вы получаете рабочий wireguard с web интерфейсом. Спасибо за внимание.