Zurück zur Startseite

ocservice für ocserv: VPN-Verwaltung über CLI

ocservice automatisiert ocserv VPN-Verwaltung über bash-Skripte mit easy-rsa-Integration. Unterstützt cert/plain-Autorisierung, .p12-Generierung, cert-Widerruf, user-center. Installation ohne Docker, minimale Abhängigkeiten.

ocservice: CLI-Manager für ocserv VPN
Advertisement 728x90

ocservice: CLI-Tool zur Automatisierung von ocserv und easy-rsa

ocservice ist eine Sammlung von Bash-Skripten für das operative Management des ocserv VPN-Servers. Das Tool integriert easy-rsa für PKI-Operationen und automatisiert die Erstellung, Sperrung und CRL-Aktualisierung von Client-Zertifikaten. Es unterstützt Zertifikats-, Passwort- und gemischte Authentifizierungsmodi ohne zusätzliche Dienste wie Docker oder Datenbanken.

Die Skripte werden über die Kommandozeile ausgeführt und zeigen bei jedem Aufruf des Hauptmenüs den Serverstatus (Betriebszeit, Sitzungen, Datenverkehr, Fehler) an. Dies vereinfacht die Überwachung ohne separate occtl-Befehle.

Hauptfunktionen

Das Hauptskript ocservice bietet ein Menü mit aktuellem Status: aktive Sitzungen, RX/TX-Datenverkehr, gesperrte IPs, Authentifizierungsfehler.

Google AdInline article slot

Client-Zertifikate generieren

gen-client erstellt einen Benutzer mit Zertifikat:

  • Fragt Name, Gültigkeitsdauer, Verbindungslimit ab.
  • Generiert ein Zertifikat über easy-rsa.
  • Exportiert als .p12 mit Passwort.
  • Protokolliert Daten für die Client-Übergabe.

Benutzer mit Passwörtern

gen-login verwendet ocpasswd, um Konten im Passwortmodus zu erstellen. Nur verfügbar, wenn die Passwortauthentifizierung aktiviert ist.

Benutzerverwaltungszentrum

user-center zeigt eine Tabelle an:

Google AdInline article slot

| Benutzer | Online | Zertifikatablauf | Sperrpunkte | Limit |

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

Für jeden:

Google AdInline article slot
  • Verbindungsdetails.
  • Bearbeitung der config-per-user.
  • Beenden von Sitzungen.
  • Zurücksetzen der Sperrpunkte.
  • Löschung mit Zertifikatsperrung und CRL-Aktualisierung.

Installation und Einrichtung

Repository klonen und Installer ausführen:

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

Der Installer:

  • Liest Pfade aus ocserv.conf (ocpasswd, config-per-user).
  • Erkennt Tarn-URL, falls aktiviert.
  • Fragt Installationspräfix, Authentifizierungsmodus, Serveradresse ab.
  • Erstellt ocservice.conf.
  • Kopiert Skripte nach ~/bin/.
  • Konfiguriert /etc/sudoers.d/ocservice mit Berechtigungen für occtl, ocpasswd, journalctl, systemctl.

Technische Umsetzung

Konfiguration

Eine einzelne ocservice.conf wird bei jedem Start eingelesen. Unterstützt beliebige ocserv-Pfade (/opt, Home-Verzeichnis).

Berechtigungen

Minimale sudo-Regeln nur für notwendige Befehle, ohne vollen Root-Zugriff.

Tarnung

Liest automatisch camouflage_secret aus ocserv.conf, um URLs mit Tokens zu generieren.

PKI-Operationen

  • Zertifikatssperrung: easyrsa revoke.
  • CRL-Aktualisierung: easyrsa gen-crl.
  • ocserv liest crl.pem direkt aus pki/.

Systemvoraussetzungen

  • ocserv aus Quellcode.
  • easy-rsa 3.x.
  • openssl.
  • use-occtl = true in ocserv.conf.

Entwicklungspläne

  • Automatische Namensgenerierung aus einer Datenbank.
  • Sicherung von Konfigurationen, Zertifikaten, Benutzern.
  • Zertifikatsverlängerung ohne Neuerstellung.
  • Ablaufbenachrichtigungen.
  • Telegram-Bot für die Verwaltung.

Wichtige Punkte

  • Volle Integration mit easy-rsa: .p12 generieren, sperren, CRL ohne manuelle Befehle.
  • Drei Authentifizierungsmodi ohne zusätzliche Infrastruktur.
  • Serverstatus im Menü, user-center mit Aktionen (kick, Konfig bearbeiten).
  • Installation in 4 Befehlen mit automatischer sudo-Einrichtung.
  • Nur Standardtools, keine Docker/Datenbanken.

— Editorial Team

Advertisement 728x90

Weiterlesen