Установка OpenVPN-сервера — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 12: | Строка 12: | ||
− | + | Приложение написано на python, так что устанавливаем необходимые пакеты | |
# apt install gcc libgeoip-dev python-virtualenv python-dev geoip-database-extra uwsgi uwsgi-plugin-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 если открылся дефолтный интерфейс, стопаем и продолжаем настройку. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Готовим конфиг <code>/srv/www/openvpn-monitor/lib/python2.7/site-packages/openvpn-monitor.conf</code> | ||
+ | [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 и пихаем её сюда <code>/srv/www/openvpn-monitor/</code> | ||
+ | Настраиваем конфиг uWSGI <code>/etc/uwsgi/apps-available/openvpn-monitor.ini</code> | ||
+ | [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 и готовим конфиг <code>/etc/nginx/sites-available/openvpn-monitor.conf</code> | ||
+ | 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 | При написании использовался данный источник http://openvpn-monitor.openbytes.ie/#configuration |
Текущая версия на 21:32, 16 мая 2020
Установим и настроим 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