ocservice — bash инструмент для управления ocserv VPN сервером

Предыстория
У вас конечно же нет VPN сервера ocserv, но возможно у какого-то абсолютно незнакомого человека он есть — с десятками, а может сотней пользователей. И этот незнакомый человек наверняка знает эту боль: каждый раз при добавлении нового клиента нужно вспоминать команды, лезть в документацию, не забыть обновить CRL, правильно экспортировать .p12. Когда этот гипотетический человек в очередной раз забыл флаг --legacy в openssl и получил нечитаемый файл сертификата — он вероятно захотел бы какое-нибудь автоматизированное решение.
Я написал набор bash скриптов для этого человека, чтобы автоматизировать рутину. Скрипт изначально создавался именно под связку ocserv + easy-rsa, поэтому глубоко интегрирован с её структурой PKI. Потом я решил привести код в порядок и выложить — вдруг найдутся ещё люди, которым он пригодится.
Что такое ocservice
Я смотрел существующие решения — нашёл несколько репозиториев на GitHub, но все они заброшены 2-4 года назад и работают только с логин/пароль авторизацией через ocpasswd. Сертификаты не поддерживает никто. Есть популярный проект с веб-интерфейсом, но это совсем другая история: Docker, отдельный порт, база данных, и всё равно только логин/пароль без easy-rsa. Если вам нужно просто управлять пользователями прямо на сервере без дополнительной инфраструктуры — это избыточно.
ocservice — это набор интерактивных bash скриптов для управления ocserv прямо из командной строки. Никакого Docker, никаких веб-серверов и баз данных — только bash и стандартные инструменты которые уже есть на сервере. Главная особенность — полная интеграция с easy-rsa: создание сертификатов, экспорт в .p12, отзыв и обновление CRL всё это делается в несколько нажатий.
















