Установка OpenVPN-сервера
Установим и настроим Openvpn-сервер, для удалённого подключения клиентов к внутренней сети. Прикрутим к нему мониторинг. Установим web-интерфейс управления сервером, пользователями и сертификатами. Исходная система будет Debian 10. Погнали.
Здесь будет схема планируемой сети
Здесь будет описан процесс установки сервера
Мониторинг
Первым делом включим консоль управления /etc/openvpn/server.conf
management 127.0.0.1 5555
Приложение написано на python, так что устанавливаем необходимые пакеты
# apt install gcc libgeoip-dev python-virtualenv python-dev geoip-database-extra uwsgi uwsgi-plugin-python
Активируем виртуальное окружение, устанавливаем пакет openvpn-monitor и с помощью gunicorn запускаем web-приложение
# mkdir /srv/www/openvpn-monitor # cd /srv/www/openvpn-monitor # virtualenv . # . bin/activate # pip install --upgrade pip # pip install openvpn-monitor gunicorn # gunicorn openvpn-monitor -b 0.0.0.0:8080
Проверяем http://openvpn.domain.com:8080 если открылся дефолтный интерфейс, стопаем и продолжаем настройку.
Готовим конфиг /srv/www/openvpn-monitor/lib/python2.7/site-packages/openvpn-monitor.conf
[OpenVPN-Monitor] site=Encry #logo=logo.jpg latitude=51.30 longitude=39.10 maps=True geoip_data=/srv/www/openvpn-monitor/GeoLite2-City.mmdb datetime_format=%d/%m/%Y %H:%M:%S show_monitor_ip=True [VPN1] host=localhost port=5555 name=OpenVPN Server show_disconnect=True show_vpn_ip=True
Находим на просторах интернета базу GeoLite2-City.mmdb и пихаем её сюда /srv/www/openvpn-monitor/
Настраиваем конфиг uWSGI /etc/uwsgi/apps-available/openvpn-monitor.ini
[uwsgi] base = /srv/www project = openvpn-monitor logto = /var/log/uwsgi/app/%(project).log plugins = python chdir = %(base)/%(project) virtualenv = %(chdir) module = openvpn-monitor:application manage-script-name = true mount=/openvpn-monitor=openvpn-monitor.py
Делаем симлинк и рестартим сервис
# ln -s /etc/uwsgi/apps-available/openvpn-monitor.ini /etc/uwsgi/apps-enabled/ # service uwsgi restart
Устанавливаем nginx и готовим конфиг /etc/nginx/sites-available/openvpn-monitor.conf
server { listen 80; server_name openvpn.domain.com; access_log /var/log/nginx/openvpn-monitor.access.log; error_log /var/log/nginx/openvpn-monitor.error.log; location / { uwsgi_pass unix:///run/uwsgi/app/openvpn-monitor/socket; include uwsgi_params; } }
Делаем симлинк и рестартим сервис
# ln -s /etc/nginx/sites-available/openvpn-monitor.conf /etc/nginx/sites-enabled/ # service nginx restart
После этого проверяем работу мониторинга.
При написании использовался данный источник http://openvpn-monitor.openbytes.ie/#configuration