Retour à l'accueil

ocservice pour ocserv : gestion VPN depuis CLI

ocservice automatise la gestion VPN ocserv via des scripts bash avec intégration easy-rsa. Prend en charge l'autorisation cert/plain, génération .p12, révocation cert, user-center. Installation sans Docker, dépendances minimales.

ocservice : gestionnaire CLI pour VPN ocserv
Advertisement 728x90

ocservice : Outil CLI pour automatiser ocserv et easy-rsa

ocservice est un ensemble de scripts bash pour la gestion opérationnelle du serveur VPN ocserv. L'outil s'intègre à easy-rsa pour les opérations PKI, automatisant la génération de certificats clients, leur révocation et les mises à jour de la CRL. Il prend en charge les modes d'autorisation par certificat, par mot de passe, ou les deux, sans services supplémentaires comme Docker ou des bases de données.

Les scripts s'exécutent depuis la ligne de commande, affichant l'état du serveur (temps de fonctionnement, sessions, trafic, erreurs) à chaque appel du menu principal. Cela simplifie la surveillance sans commandes occtl séparées.

Fonctionnalités principales

Le script principal ocservice propose un menu avec l'état actuel : sessions actives, trafic RX/TX, IP bannies, erreurs d'autorisation.

Google AdInline article slot

Génération de certificats clients

gen-client crée un utilisateur avec un certificat :

  • Demande le nom, la période de validité, la limite de connexions.
  • Génère un certificat via easy-rsa.
  • Exporte en .p12 avec un mot de passe.
  • Enregistre les données pour la livraison au client.

Utilisateurs avec mots de passe

gen-login utilise ocpasswd pour créer des comptes en mode simple. Disponible uniquement lorsque l'autorisation par mot de passe est activée.

Centre de gestion des utilisateurs

user-center affiche un tableau :

Google AdInline article slot

| Utilisateur | En ligne | Expiration certificat | Points de bannissement | Limite |

|-------------|----------|----------------------|------------------------|--------|

Pour chacun :

Google AdInline article slot
  • Détails de connexion.
  • Édition de config-per-user.
  • Expulsion des sessions.
  • Réinitialisation des points de bannissement.
  • Suppression avec révocation du certificat et mise à jour de la CRL.

Installation et configuration

Clonez le dépôt et exécutez l'installateur :

git clone https://github.com/Ilyntiy/ocservice.git
cd ocservice
chmod +x install.sh
sudo ./install.sh

L'installateur :

  • Analyse les chemins depuis ocserv.conf (ocpasswd, config-per-user).
  • Identifie l'URL de camouflage si activée.
  • Demande le préfixe d'installation, le mode d'autorisation, l'adresse du serveur.
  • Crée ocservice.conf.
  • Copie les scripts dans ~/bin/.
  • Configure /etc/sudoers.d/ocservice avec les permissions pour occtl, ocpasswd, journalctl, systemctl.

Implémentation technique

Configuration

Un seul fichier ocservice.conf est chargé à chaque exécution. Prend en charge des chemins ocserv arbitraires (/opt, répertoire personnel).

Permissions

Règles sudo minimales uniquement pour les commandes nécessaires, sans accès root complet.

Camouflage

Lit automatiquement camouflage_secret depuis ocserv.conf pour générer des URL avec jetons.

Opérations PKI

  • Révocation de certificat : easyrsa revoke.
  • Mise à jour de la CRL : easyrsa gen-crl.
  • ocserv lit directement crl.pem depuis pki/.

Prérequis système

  • ocserv depuis les sources.
  • easy-rsa 3.x.
  • openssl.
  • use-occtl = true dans ocserv.conf.

Plans de développement

  • Génération automatique de noms depuis une base de données.
  • Sauvegarde des configurations, certificats, utilisateurs.
  • Renouvellement de certificats sans recréation.
  • Notifications d'expiration.
  • Bot Telegram pour la gestion.

Points clés

  • Intégration complète avec easy-rsa : génération .p12, révocation, CRL sans commandes manuelles.
  • Trois modes d'autorisation sans infrastructure supplémentaire.
  • État du serveur dans le menu, user-center avec actions (expulsion, édition de config).
  • Installation en 4 commandes avec configuration sudo automatique.
  • Seuls des outils standard, pas de Docker/bases de données.

— Editorial Team

Advertisement 728x90

Lire ensuite