Найти тему
Норка Сисадмина

Установка 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.

Ставим недостающие пакеты:

apt-get update

apt install gunicorn

apt-get -y install python3-pip

pip install -r requirements.txt

Качаем скрипт установки Web интерфейса:

git clone -b v3.0.6 https://github.com/donaldzou/WGDashboard.git wgdashboard

Переходим в директорию, даём права на исполнение, запускаем:

cd wgdashboard/src
chmod u+x wgd.sh
./wgd.sh install

Меняем права на директорию ранее установленного wg и запускаем web интерфейс:

chmod -R 755 /etc/wireguard
./wgd.sh start

Ваш web интерфейс готов. Для запуска переходите по вашему ip с портом 10086 (IP:10086). Учетка по умолчанию admin\admin.

Если не хотите каждый раз запускать web интерфейс в ручную, то создаем автозапуск:

cd wgdashboard/src
nano wg-dashboard.service

В открывшемся редакторе заменяем всё на:

[Unit]
After=network.service

[Service]
WorkingDirectory=
<Ваша директория dashboard>
ExecStart=/usr/bin/python3
<Ваша директория dashboard>/dashboard.py
Restart=always


[Install]
WantedBy=default.target

Пример директории /home/wgdashboard/src

Далее копируем файл и добавляем его в автозагрузку:

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

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

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

systemctl status wg-dashboard.service

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