Setup de OpenVPN self-hosted en VPS con un agente de IA
Configura un servidor OpenVPN privado y self-hosted en un VPS con flujo guiado por agente, ruta probada en Hetzner y archivos locales seguros.
Harllens George | 2026-05-26
one-click-self-hosted-openvpn es un proyecto practico de self-hosted OpenVPN VPS para personas que quieren una VPN privada pequena bajo su propio control. El repositorio le da a un agente de IA un contrato de setup cuidadoso, en vez de pedir al operador que copie comandos aleatorios de un blog.
La primera ruta probada usa un VPS de Hetzner Cloud en Alemania con OpenVPN Community Edition. El proyecto esta estructurado para que mas proveedores, sistemas operativos y modulos de setup se puedan agregar con el tiempo.
Que es
Este es un repositorio de setup OpenVPN preparado para agentes. Documenta entradas requeridas, verificaciones de seguridad, supuestos del proveedor, rutas de salida locales y comandos helper protegidos para configurar una VPN privada en un VPS.
No es un servicio VPN comercial y no es OpenVPN Access Server. El proyecto usa OpenVPN Community Edition con administracion por SSH, sin UI publica de administracion, y con archivos privados generados fuera de Git.
Para quien es
- Desarrolladores que quieren una VPN privada en VPS bajo su propio control
- Operadores que prefieren revisar firewall y SSH hardening de forma explicita
- Builders que quieren usar un agente de IA, pero dentro de un proceso documentado y revisable
Obtenerlo
- Repositorio: Just-Boring-Cat/one-click-self-hosted-openvpn
Compatibilidad actual
- Primer proveedor probado: Hetzner Cloud
- Primera region probada: Alemania
- Primer sistema operativo probado: Ubuntu 24.04 LTS
- Stack VPN: OpenVPN Community Edition
- Modelo de administracion: solo SSH, sin UI publica de OpenVPN
Otros proveedores y sistemas operativos son objetivos de extension. El agente debe detenerse si la ruta del proveedor o del sistema operativo no esta clara.
Por que importa
Las VPN comerciales son comodas, pero las IPs de salida compartidas pueden ser ruidosas, bloqueadas o marcadas por sitios web. Una VPN privada en VPS te da un servidor dedicado, control directo sobre perfiles de cliente y una configuracion que puedes inspeccionar.
El costo es la responsabilidad. Tu controlas el servidor, firewall, perfiles de cliente, claves SSH, autoridad certificadora y ruta de actualizaciones. Este proyecto ayuda porque hace esa responsabilidad explicita, en vez de esconderla detras de un instalador de una sola linea.
Que ofrece el repositorio
El proyecto actual incluye:
- un contrato de entrada
.env.examplepara operador y agente - un helper protegido
scripts/setup-openvpn.sh - documentacion del proveedor Hetzner
- una matriz de soporte de sistemas operativos
- notas de operacion y verificacion de OpenVPN
- guia de seguridad para claves privadas, perfiles
.ovpn, logs y notas del servidor - carpetas
local/ignoradas para salidas privadas de runtime
El helper no intenta ser todo el producto. Soporta recoleccion, validacion, inspeccion y planificacion. El setup real todavia requiere revision y confirmacion del operador en decisiones sensibles de seguridad.
Flujo guiado por agente
Un flujo seguro guiado por agente se ve asi:
- Leer el playbook y los docs de setup.
- Recolectar los valores requeridos en
.env. - Verificar acceso SSH antes de endurecer nada.
- Inspeccionar el servidor y sistema operativo.
- Confirmar expectativas del firewall del proveedor.
- Imprimir el plan de setup.
- Ejecutar solo la ruta de proveedor y OS revisada.
- Guardar perfiles de cliente generados bajo rutas locales ignoradas.
La README publica da esta instruccion a un agente:
Use this repository to configure my private OpenVPN server. Read docs/agent-playbook.md and docs/agent-setup.md first. Help me fill .env from .env.example, inspect the server over SSH, choose the correct provider and OS path, run the setup helpers when needed, and place generated client profiles only under local/clients/.
Comandos helper de setup
El helper soporta el flujo inicial:
cp .env.example .env
scripts/setup-openvpn.sh --requirements
scripts/setup-openvpn.sh --collect
scripts/setup-openvpn.sh --check
scripts/setup-openvpn.sh --inspect
scripts/setup-openvpn.sh --plan
Estos comandos son utiles porque hacen que el proceso se detenga en los momentos correctos. El agente debe inspeccionar el sistema, explicar el plan y detenerse si aparece un OS no soportado, una regla de firewall faltante, un fallo SSH o un riesgo con secretos.
Modelo de seguridad
El modelo de seguridad es deliberadamente pequeno:
- sin UI publica de administracion OpenVPN
- sin tokens de proveedor en Git
- sin perfiles
.ovpngenerados en Git - sin claves SSH privadas en Git
- sin IPs reales del servidor en docs publicos
- acceso SSH verificado antes del hardening
- OS inspeccionado antes de instalar paquetes
- archivos privados de runtime bajo rutas
local/ignoradas
Esto no garantiza anonimato, cumplimiento legal, uptime ni proteccion contra un proveedor VPS o dispositivo cliente comprometido. Es un patron practico para una VPN privada, no una promesa de privacidad perfecta.
Errores comunes a evitar
- Ejecutar comandos de setup antes de inspeccionar el OS del servidor
- Desactivar root SSH antes de verificar acceso sudo no-root
- Publicar perfiles
.ovpngenerados o material de la CA - Asumir que toda imagen VPS funciona como Ubuntu
- Abrir TCP 443 sin configurar un fallback TCP de OpenVPN
- Tratar el firewall del proveedor y el firewall del host como equivalentes sin revisar ambos
Cuando encaja bien
Este proyecto encaja cuando quieres una VPN privada para uso personal o de equipo pequeno y aceptas la responsabilidad operativa. Es especialmente util si quieres que el setup sea repetible, revisable y amigable para agentes.
No encaja bien si necesitas soporte gestionado, infraestructura VPN anonima amplia, muchos usuarios o un dashboard publico de administracion.
Siguientes pasos
Empieza leyendo la README y el agent playbook. Luego decide si la ruta probada de Hetzner y Ubuntu encaja con tu necesidad. Si encaja, prepara un VPS limpio, configura reglas de firewall del proveedor, completa .env y ejecuta los comandos helper en orden.
Si quieres contribuir, los modulos de proveedor, modulos de OS, patrones de firewall, checks de validacion y variantes mas seguras de perfiles OpenVPN son buenas areas.
Conclusion
Un self-hosted OpenVPN VPS es util cuando el control importa mas que la comodidad. one-click-self-hosted-openvpn convierte ese setup en un flujo documentado y guiado por agente, con condiciones claras de parada y limites para archivos privados.
Links
- Repositorio GitHub: https://github.com/Just-Boring-Cat/one-click-self-hosted-openvpn
- Guia relacionada: Servidor MCP de memoria persistente para Codex
- Guia relacionada: Codex Thread Renamer Patcher para VS Code