25 abril, 2025

Instalar OpenVPN fácil y rápido + Cloudflare Tunnel (sin abrir puertos)

Configurar una red VPN puede parecer complicado, pero gracias a la comunidad de software libre existen soluciones que nos hacen la vida más fácil.

Hoy aprenderás a instalar OpenVPN en tu servidor de forma rápida, segura y automatizada, usando un script creado por Angristan.

Si estás montando tu servidor VPN en casa (por ejemplo, en una Raspberry Pi o un PC con Ubuntu), lo normal sería tener que abrir el puerto 1194 en tu router.
Pero con Cloudflare Tunnel no necesitas abrir nada.

Cloudflare actúa como un túnel inverso cifrado entre tu servidor y el mundo exterior, evitando la exposición directa de tu IP doméstica.

Instalar y configurar Cloudflared

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

Si usas ARM (como en Raspberry Pi), usa el .deb para ARM64 desde el mismo repo de GitHub.

Iniciar sesión con tu cuenta de Cloudflare

cloudflared tunnel login

Esto abrirá un enlace en tu navegador. Inicia sesión y autoriza el dominio que usarás.

Crear un túnel

cloudflared tunnel create openvpn-tunnel

Esto generará un ID único para tu túnel y guardará las credenciales en ~/.cloudflared.

Crear una configuración para enrutar tráfico

Edita o crea un archivo config.yml en ~/.cloudflared/:

tunnel: openvpn-tunnel
credentials-file: /home/tu_usuario/.cloudflared/XXXXXX.json

ingress:
  - hostname: vpn.tudominio.com
    service: tcp://localhost:1194
  - service: http_status:404

Este archivo le dice al túnel: “cualquier conexión a vpn.tudominio.com → redirígela al puerto 1194 local”.

Crear un registro CNAME en tu dominio

En el panel de Cloudflare:

  • Ve a la zona DNS
  • Crea un CNAME:
    vpn.tudominio.com → UUID.tunnel.cloudflare.com

(Ese UUID te lo da el comando del paso 3)

Levantar el túnel

cloudflared tunnel run openvpn-tunnel

¡Listo! Tu puerto 1194 ahora es accesible mediante el dominio vpn.tudominio.com sin necesidad de tocar tu router.
Y además, todo pasa por la red segura de Cloudflare.

Instalar y configurar OpenVPN

Actualizar el sistema

Conéctate a tu servidor por SSH y actualiza los paquetes:

sudo apt update && sudo apt upgrade -y

Descargar el script

Clona el repositorio o simplemente descarga el script desde GitHub:

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh

Ejecutar el script

Ahora inicia la instalación con:

sudo ./openvpn-install.sh

El script es interactivo y muy fácil de seguir. Te preguntará:

  1. ¿Qué dirección IP usar?: Aqui pondremos el dominio que creamos en cloudflare
  2. ¿Qué puerto quieres usar?: 1194
  3. ¿Qué protocolo usar?: tcp
  4. ¿Quieres usar DNS de Cloudflare, Google, etc.?: Escogemos el que querramos, recomiendo el de cloudflare
  5. Nombre del cliente inicial: Cualquier usuario que quieras

Generar un perfil .ovpn

Cuando termine, tendrás un archivo .ovpn con el nombre del cliente que ingresaste.
Por ejemplo: admin.ovpn.

Puedes copiarlo a tu computadora o teléfono para usarlo con cualquier cliente OpenVPN.

Usar el archivo .ovpn

En Windows o macOS:

  • Descarga OpenVPN GUI
  • Importa el archivo .ovpn
  • Conéctate

En Android:

  • Usa la app OpenVPN for Android
  • Importa el perfil desde tus archivos

En Linux:

  • Conecta con:
sudo openvpn --config admin.ovpn

Gestión del servidor VPN

Si quieres agregar más usuarios o revocar accesos, solo vuelve a ejecutar el script:

sudo ./openvpn-install.sh

Verás un menú con opciones para:

  • Agregar nuevos clientes
  • Revocar clientes
  • Desinstalar el servidor

Agradecimientos

Este tutorial se basa completamente en el excelente script de Angristan.
No es de mi autoría, simplemente documenté el proceso de uso paso a paso para facilitar la vida a quienes quieren montar una VPN rápidamente.