Volver al inicio

ocservice para ocserv: gestión de VPN desde CLI

ocservice automatiza la gestión de VPN ocserv mediante scripts bash con integración easy-rsa. Soporta autorización cert/plain, generación .p12, revocación cert, user-center. Instalación sin Docker, dependencias mínimas.

ocservice: gestor CLI para VPN ocserv
Advertisement 728x90

ocservice: Herramienta CLI para automatizar ocserv y easy-rsa

ocservice es un conjunto de scripts bash para la gestión operativa del servidor VPN ocserv. La herramienta se integra con easy-rsa para operaciones PKI, automatizando la generación de certificados de cliente, revocación y actualizaciones de CRL. Admite modos de autorización por certificado, contraseña y ambos, sin servicios adicionales como Docker o bases de datos.

Los scripts se ejecutan desde la línea de comandos, mostrando el estado del servidor (tiempo de actividad, sesiones, tráfico, errores) cada vez que se llama al menú principal. Esto simplifica el monitoreo sin comandos occtl separados.

Características principales

El script principal ocservice proporciona un menú con el estado actual: sesiones activas, tráfico RX/TX, IPs bloqueadas, errores de autorización.

Google AdInline article slot

Generación de certificados de cliente

gen-client crea un usuario con un certificado:

  • Solicita nombre, período de validez, límite de conexión.
  • Genera un certificado mediante easy-rsa.
  • Exporta a .p12 con una contraseña.
  • Registra datos para la entrega al cliente.

Usuarios con contraseñas

gen-login utiliza ocpasswd para crear cuentas en modo de contraseña. Disponible solo cuando la autorización por contraseña está habilitada.

Centro de gestión de usuarios

user-center muestra una tabla:

Google AdInline article slot

| Usuario | En línea | Vencimiento del certificado | Puntos de bloqueo | Límite |

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

Para cada uno:

Google AdInline article slot
  • Detalles de conexión.
  • Edición de config-per-user.
  • Expulsión de sesiones.
  • Restablecimiento de puntos de bloqueo.
  • Eliminación con revocación de certificado y actualización de CRL.

Instalación y configuración

Clona el repositorio y ejecuta el instalador:

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

El instalador:

  • Analiza las rutas de ocserv.conf (ocpasswd, config-per-user).
  • Identifica la URL de camuflaje si está habilitada.
  • Solicita prefijo de instalación, modo de autorización, dirección del servidor.
  • Crea ocservice.conf.
  • Copia scripts a ~/bin/.
  • Configura /etc/sudoers.d/ocservice con permisos para occtl, ocpasswd, journalctl, systemctl.

Implementación técnica

Configuración

Un único ocservice.conf se carga en cada ejecución. Admite rutas arbitrarias de ocserv (/opt, directorio personal).

Permisos

Reglas mínimas de sudo solo para comandos necesarios, sin acceso root completo.

Camuflaje

Lee automáticamente camouflage_secret de ocserv.conf para generar URLs con tokens.

Operaciones PKI

  • Revocación de certificados: easyrsa revoke.
  • Actualización de CRL: easyrsa gen-crl.
  • ocserv lee crl.pem directamente desde pki/.

Requisitos del sistema

  • ocserv desde fuente.
  • easy-rsa 3.x.
  • openssl.
  • use-occtl = true en ocserv.conf.

Planes de desarrollo

  • Generación automática de nombres desde una base de datos.
  • Copia de seguridad de configuraciones, certificados, usuarios.
  • Renovación de certificados sin recreación.
  • Notificaciones de vencimiento.
  • Bot de Telegram para gestión.

Puntos clave

  • Integración completa con easy-rsa: genera .p12, revoca, CRL sin comandos manuales.
  • Tres modos de autorización sin infraestructura adicional.
  • Estado del servidor en el menú, user-center con acciones (expulsar, editar configuración).
  • Instalación en 4 comandos con configuración automática de sudo.
  • Solo herramientas estándar, sin Docker/bases de datos.

— Editorial Team

Advertisement 728x90

Leer después