Utilizando túneles de Cloudflare en Proxmox

Configurar un túnel en Cloudflare utilizando la plataforma Zero Trust es un proceso sencillo que mejora significativamente la seguridad y la gestión de tu infraestructura. Mi objetivo con esta configuración es eliminar al máximo las configuraciones de DDNS, aprovechando los túneles de Cloudflare para centralizar y simplificar la gestión de la red.
Nota (2024): Posteriormente migré de esta solución a una basada en WireGuard y Nginx Proxy Manager para evitar bloqueos de algunos ISP españoles. Este artículo documenta la configuración original, que sigue siendo válida y funcional en la mayoría de casos.
Ventajas de usar Cloudflare Tunnels
- Seguridad mejorada: el tráfico entre tu servidor y Cloudflare viaja cifrado, protegiendo tu infraestructura de ataques externos.
- Facilidad de configuración: la interfaz de Cloudflare hace que el proceso sea rápido e intuitivo.
- Gestión centralizada: todos los túneles y configuraciones de red desde una única plataforma.
Requisitos previos
Cloudflare ofrece una opción gratuita, pero es necesario tener un método de pago registrado en el perfil para poder crear túneles. Si no lo tienes, ese es el primer paso.
Instalando Docker
Utilizaremos Docker para ejecutar el conector cloudflared. Para instalarlo en Proxmox usaremos el sistema de scripts de Helper-Scripts, que genera un comando listo para copiar y pegar en la consola.

Instalamos Docker aceptando todas las opciones predeterminadas.
Configurando Cloudflare
Accede a tu panel de Cloudflare e inicia sesión. Navega a la sección Zero Trust:

Dentro de Zero Trust, ve al nodo Network y selecciona Tunnels:

Crea un nuevo túnel:

Selecciona el conector recomendado:

Asigna un nombre al túnel:

Selecciona Docker como entorno y copia el código generado:

Pega el código en la consola de Proxmox. Añade los parámetros -d (modo detached, para que se ejecute en segundo plano) y --restart=always (para que se reinicie automáticamente en caso de fallo):

El resultado en la consola será algo así:
docker run -d --restart=always cloudflare/cloudflared:latest tunnel --no-autoupdate run \
--token TU_TOKEN_AQUIUna vez ejecutado, verás en el panel de Cloudflare que el conector aparece como conectado:

Con el túnel activo, ya puedes asignar nombres de host públicos para acceder a tus servicios a través de URLs personalizadas:

Conclusiones
Los túneles de Cloudflare son una alternativa sólida al DDNS tradicional, especialmente si valoras la seguridad y la centralización. Sin embargo, hay algunas consideraciones a tener en cuenta:
- Dependencia de Cloudflare: si su red tiene problemas, tus servicios también se verán afectados.
- ISP bloqueantes: algunos proveedores de internet en España bloquean las conexiones a través de Cloudflare Tunnels, lo que puede obligarte a buscar alternativas.
- Coste: la capa gratuita es suficiente para uso doméstico, pero algunas funciones avanzadas requieren suscripción de pago.
En mi caso, acabé migrando a una solución propia con WireGuard y Nginx Proxy Manager, pero los túneles de Cloudflare siguen siendo una opción excelente para la mayoría de usuarios.
¿Te ha sido útil?
Ayúdame a mejorar con tu puntuación y comentarios.
Comentarios
Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!