Không có mô tả

root bea219c5a8 We skip processing active users if the configuration does not specify the management interface parameters. 9 tháng trước cách đây
addons 49488af07f fixed exit code from bash scripts 9 tháng trước cách đây
html bea219c5a8 We skip processing active users if the configuration does not specify the management interface parameters. 9 tháng trước cách đây
LICENSE.txt 14790c276e license changed to MIT 10 tháng trước cách đây
README.md 65605af119 Direct access from the browser to the configuration files of the openvpn server has been completely removed. 9 tháng trước cách đây

README.md

OpenVPN Status Monitor

Проект предоставляет веб-интерфейс для мониторинга состояния OpenVPN сервера.

Возможности

  • Отображение подключенных пользователей в реальном времени
  • Управление доступом:
    • Блокировка/разблокировка пользователей (ban/unban)
    • Создание сертификата клиента
    • Удаление конфигурационного файла клиента
    • Отзыв сертификата клиента
  • Генерация конфигурационных файлов для клиентов (открыть ссылку /ccd в браузере)
  • Автоматическое обновление данных (каждые 30 секунд)

!!!Важно!!!

Каталог /ccd надо либо не устанавливать вообще, либо закрыть паролем через вэб-сервер.
Пользователи, которым выдаёте доступ должны совпадать с логином клиента в впн-сервере.
Тогда пользователь при обращении на данную ссылку сможет получить свой конфигурационный файл.
Базу авторизации делать не стал специально - проще использовать авторизацию в вэб-сервере.

Каталог /admin - закрывайте паролем обязательно.

Требования

  • Сервер с OpenVPN
  • Веб-сервер Apache2
  • PHP 7.4+
  • Доступ к управляющему интерфейсу OpenVPN

Установка

Установите необходимые пакеты:

apt install apache2 php php-mbstring
a2enmod session

Настройте OpenVPN:

echo "management 127.0.0.1 3003 /etc/openvpn/server/password" >> /etc/openvpn/server/server1.conf
echo "your_password" > /etc/openvpn/server/password

Установите скрипты:

cp addons/sudoers.d/www-data /etc/sudoers.d/
mkdir -p /etc/openvpn/server/cmd
cp addons/cmd/*.sh /etc/openvpn/server/cmd/
chmod 755 /etc/openvpn/server/cmd/
chmod 555 /etc/openvpn/server/cmd/*.sh

Создайте шаблон конфигурации клиента (без сертификатов) в каталоге сайта.

Отредактируйте файл конфигурации config.php

Здесь name - это имя сервиса в systemd!!! т.е. если сервис называется openvpn-server@server1, то name=server1

Если какие-то опции не используются - значение долно быть пустым

'server1' => [
    'name' => 'server1',
    'title' => 'Server1',
    'config' => '/etc/openvpn/server/server.conf',
    'ccd' => '/etc/openvpn/server/server/ccd',
    'port' => '3003',
    'host' => '127.0.0.1',
    'password' => 'password',
    'cfg_template' => 'server1.ovpn.template',
    'cert_index' => '/etc/openvpn/server/server/rsa/pki/index.txt',
    'ipp_file' => '/etc/openvpn/server/server/ipp.txt'
],

Использование

Откройте веб-интерфейс в браузере

Для управления пользователями используйте кнопки:

Ban - заблокировать пользователя

Unban - разблокировать пользователя

Revoke - отозвать сертификат

Remove - удалить ccd-файл конфигурации пользователя

Для скачивания конфигурации клиента нажмите на имя пользователя