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

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.example para 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:

  1. Leer el playbook y los docs de setup.
  2. Recolectar los valores requeridos en .env.
  3. Verificar acceso SSH antes de endurecer nada.
  4. Inspeccionar el servidor y sistema operativo.
  5. Confirmar expectativas del firewall del proveedor.
  6. Imprimir el plan de setup.
  7. Ejecutar solo la ruta de proveedor y OS revisada.
  8. 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 .ovpn generados 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 .ovpn generados 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