Powrót do strony głównej

ocservice dla ocserv: zarządzanie VPN z CLI

ocservice automatyzuje zarządzanie ocserv VPN za pomocą skryptów bash z integracją easy-rsa. Obsługuje autoryzację cert/plain, generowanie .p12, odwołanie cert, user-center. Instalacja bez Docker, minimalne zależności.

ocservice: menedżer CLI dla ocserv VPN
Advertisement 728x90

ocservice: Narzędzie CLI do automatyzacji ocserv i easy-rsa

ocservice — zestaw skryptów bash do operacyjnego zarządzania serwerem VPN ocserv. Narzędzie integruje się z easy-rsa do pracy z PKI, automatyzuje generowanie certyfikatów klienckich, odwoływanie i aktualizację CRL. Obsługuje tryby autoryzacji cert, plain i both bez dodatkowych usług takich jak Docker czy bazy danych.

Skrypty uruchamiane są z wiersza poleceń, wyświetlają status serwera (czas pracy, sesje, ruch, błędy) przy każdym wywołaniu głównego menu. Ułatwia to monitorowanie bez osobnych poleceń occtl.

Główne funkcje

Główny skrypt ocservice udostępnia menu z aktualnym statusem: aktywne sesje, ruch RX/TX, zbanowane adresy IP, błędy autoryzacji.

Google AdInline article slot

Generowanie certyfikatów klienckich

gen-client tworzy użytkownika z certyfikatem:

  • Pyta o nazwę, okres ważności, limit połączeń.
  • Generuje certyfikat przez easy-rsa.
  • Eksportuje do .p12 z hasłem.
  • Loguje dane do wydania klientowi.

Użytkownicy z hasłem

gen-login używa ocpasswd do tworzenia kont w trybie plain. Dostępne tylko przy włączonej autoryzacji hasłem.

Centrum zarządzania użytkownikami

user-center wyświetla tabelę:

Google AdInline article slot

| Użytkownik | Online | Ważność cert | Punkty bana | Limit |

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

Dla każdego:

Google AdInline article slot
  • Szczegóły połączeń.
  • Edycja config-per-user.
  • Wyrzucanie sesji.
  • Resetowanie punktów bana.
  • Usuwanie z odwołaniem cert i aktualizacją CRL.

Instalacja i konfiguracja

Sklonuj repozytorium i uruchom instalator:

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

Instalator:

  • Parsuje ścieżki z ocserv.conf (ocpasswd, config-per-user).
  • Określa camouflage URL, jeśli włączony.
  • Pyta o prefiks instalacji, tryb autoryzacji, adres serwera.
  • Tworzy ocservice.conf.
  • Kopiuje skrypty do ~/bin/.
  • Konfiguruje /etc/sudoers.d/ocservice z uprawnieniami do occtl, ocpasswd, journalctl, systemctl.

Implementacja techniczna

Konfiguracja

Pojedynczy ocservice.conf jest źródłowany przy każdym uruchomieniu. Obsługuje dowolne ścieżki ocserv (/opt, katalog domowy).

Uprawnienia dostępu

Minimalne reguły sudo tylko dla niezbędnych poleceń, bez pełnego dostępu root.

Kamuflaż

Automatyczne odczytywanie camouflage_secret z ocserv.conf do generowania URL z tokenem.

Praca z PKI

  • Odwoływanie cert: easyrsa revoke.
  • Aktualizacja CRL: easyrsa gen-crl.
  • ocserv czyta crl.pem bezpośrednio z pki/.

Wymagania systemowe

  • ocserv ze źródeł.
  • easy-rsa 3.x.
  • openssl.
  • use-occtl = true w ocserv.conf.

Plany rozwoju

  • Autogeneracja nazw z bazy.
  • Backup konfigów, certyfikatów, użytkowników.
  • Przedłużanie cert bez odtwarzania.
  • Powiadomienia o wygaśnięciu.
  • Bot Telegram do zarządzania.

Co jest ważne

  • Pełna integracja z easy-rsa: gen .p12, revoke, CRL bez ręcznych poleceń.
  • Trzy tryby autoryzacji bez dodatkowej infrastruktury.
  • Status serwera w menu, user-center z akcjami (kick, edycja config).
  • Instalacja w 4 poleceniach z autokonfiguracją sudo.
  • Tylko standardowe narzędzia, bez Docker/Baz danych.

— Editorial Team

Advertisement 728x90

Czytaj dalej