Zpět na domů

ocservice pro ocserv: správa VPN z CLI

ocservice automatizuje správu ocserv VPN prostřednictvím bash skriptů s integrací easy-rsa. Podporuje cert/plain autentizaci, generování .p12, odvolání cert, user-center. Instalace bez Docker, minimální závislosti.

ocservice: CLI manažer pro ocserv VPN
Advertisement 728x90

ocservice: CLI nástroj pro automatizaci ocserv a easy-rsa

ocservice je sada bash skriptů pro operační správu VPN serveru ocserv. Nástroj se integruje s easy-rsa pro práci s PKI, automatizuje generování klientských certifikátů, odvolávání a aktualizaci CRL. Podporuje režimy autorizace cert, plain a both bez nutnosti dalších služeb jako Docker nebo databází.

Skripty se spouštějí z příkazového řádku, zobrazují stav serveru (doba provozu, relace, provoz, chyby) při každém volání hlavního menu. To zjednodušuje monitorování bez nutnosti samostatných příkazů occtl.

Hlavní funkce

Hlavní skript ocservice poskytuje menu s aktuálním stavem: aktivní relace, RX/TX provoz, zabanované IP adresy, chyby autorizace.

Google AdInline article slot

Generování klientských certifikátů

gen-client vytváří uživatele s certifikátem:

  • Dotazuje se na jméno, dobu platnosti, limit připojení.
  • Generuje certifikát přes easy-rsa.
  • Exportuje do .p12 s heslem.
  • Loguje data pro předání klientovi.

Uživatelé s heslem

gen-login používá ocpasswd pro vytváření účtů v režimu plain. Dostupné pouze při zapnuté autorizaci heslem.

Centrum správy uživatelů

user-center zobrazuje tabulku:

Google AdInline article slot

| Uživatel | Online | Platnost cert | Ban body | Limit |

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

Pro každého:

Google AdInline article slot
  • Detaily připojení.
  • Úprava config-per-user.
  • Ukončení relací.
  • Reset ban bodů.
  • Smazání s odvoláním cert a aktualizací CRL.

Instalace a nastavení

Naklonujte repozitář a spusťte instalátor:

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

Instalátor:

  • Parsuje cesty z ocserv.conf (ocpasswd, config-per-user).
  • Určuje camouflage URL, pokud je zapnuto.
  • Dotazuje se na prefix instalace, režim autorizace, adresu serveru.
  • Vytváří ocservice.conf.
  • Kopíruje skripty do ~/bin/.
  • Nastavuje /etc/sudoers.d/ocservice s právy pro occtl, ocpasswd, journalctl, systemctl.

Technická realizace

Konfigurace

Jednotný ocservice.conf se načítá při každém spuštění. Podporuje libovolné cesty ocserv (/opt, domovský adresář).

Práva přístupu

Minimální sudo pravidla pouze pro potřebné příkazy, bez plného root přístupu.

Kamufláž

Automatické čtení camouflage_secret z ocserv.conf pro generování URL s tokenem.

Práce s PKI

  • Odvolání cert: easyrsa revoke.
  • Aktualizace CRL: easyrsa gen-crl.
  • ocserv čte crl.pem přímo z pki/.

Systémové požadavky

  • ocserv ze zdrojových kódů.
  • easy-rsa 3.x.
  • openssl.
  • use-occtl = true v ocserv.conf.

Plány rozvoje

  • Autogenerace jmen z databáze.
  • Zálohování konfigů, certů, uživatelů.
  • Prodloužení cert bez přegenerování.
  • Upozornění na vypršení platnosti.
  • Telegram-bot pro správu.

Co je důležité

  • Plná integrace s easy-rsa: gen .p12, revoke, CRL bez manuálních příkazů.
  • Tři režimy autorizace bez dodatečné infrastruktury.
  • Stav serveru v menu, user-center s akcemi (kick, edit config).
  • Instalace za 4 příkazy s automatickým nastavením sudo.
  • Pouze standardní nástroje, bez Dockeru/databází.

— Editorial Team

Advertisement 728x90

Číst dál