ovpn-admin — простой веб-интерфейс для управления сертификатами и маршрутами для пользователей OpenVPN. Утилита изначально была разработана для внутренних проектов «Фланта». Этой весной мы решили, что ovpn-admin будет полезен не только нам, и выложили его как Open Source-проект на GitHub.
Напомним, что с помощью утилиты можно генерировать сертификаты для новых пользователей, отзывать и восстанавливать сертификаты, передавать метрики в Prometheus и т. д. Код написан на Go, лицензия — Apache 2.0. Подробнее о возможностях ovpn-admin см. в этом анонсе.
Что нового в ovpn-admin
Утилита получила ряд доработок, которые мы представили в версии 1.7.0. После этого вышло еще несколько релизов с улучшениями, так что последняя на момент публикации версия — 1.7.4. Среди новых фич в ovpn-admin 1.7.x:
возможность указывать собственный путь для шаблонов ccd (опция
--templates.ccd-path
) и конфигурационного файла пользователя (--templates.clientconfig-path
);автоматическое определение параметра
remote
(в шаблонеclient.conf.tpl
) при подключении внешнего балансировщика нагрузки в Kubernetes (опция--ovpn.server.behindLB
— для включения,ovpn.service
— для указания имени сервиса в K8s типа LoadBalancer);возможность указывать сеть для сервера OpenVPN через переменную окружения (переменные
OVPN_SERVER_NET
иOVPN_SERVER_MASK
для OpenVPN,OVPN_SERVER_NETWORK
— для ovpn-admin).возможность настройки других параметров ovpn-admin через переменные окружения.
Основные баги, которые были исправлены:
возможная ошибка при первичном удалении правил
iptables
, из-за которой ovpn-admin не запускался в Docker-контейнере на Ubuntu Server 20.04;отключение пользователя при отзыве сертификата;
некорректное отображение имени пользователя во всплывающих уведомлениях;
проверка кастомного адреса пользователя в ccd на уникальность.
Кроме того, была реализована автовыкладка собранного бинарного файла ovpn-admin через GitHub Actions для Linux-систем с архитектурой amd64, i386, arm и arm64.
Многие из упомянутых фич появились благодаря сторонним контрибьюторам из сообщества — большое спасибо им за участие!
Вместо заключения
У нас не было больших планов по развитию ovpn-admin, но выглядит так, что она оказалась действительно полезной. Заметна активность сообщества, и у проекта уже почти 300 звёзд на GitHub. Конечно, будем рады новым звёздам, пользователям и улучшениям!
P. S.
Читайте также в нашем блоге: