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.
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:
| Uživatel | Online | Platnost cert | Ban body | Limit |
|----------|--------|---------------|----------|-------|
Pro každého:
- 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
Zatím žádné komentáře.