Utilizando túneles de Cloudflare en Proxmox

Esquema de túnel Cloudflare conectando infraestructura doméstica
3 min. Lectura
0 Vistas
0 Valoración

Utilizando túneles de Cloudflare en Proxmox

Implementando túneles de Cloudflare

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.

Script de instalación de Docker en Proxmox

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:

Enlace a Zero Trust

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

Gestión de túneles desde Zero Trust

Crea un nuevo túnel:

Añadimos un nuevo túnel

Selecciona el conector recomendado:

Seleccionamos el conector recomendado

Asigna un nombre al túnel:

Introducimos el nombre del túnel

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

Seleccionamos entorno Docker y copiamos el código

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):

Comando listo para ejecutarse en la consola de Proxmox

El resultado en la consola será algo así:

docker run -d --restart=always cloudflare/cloudflared:latest tunnel --no-autoupdate run \
  --token TU_TOKEN_AQUI

Una vez ejecutado, verás en el panel de Cloudflare que el conector aparece como conectado:

Estado de la conexión correcta

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

Introducción del nombre de host público

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.

0.0 (0 votos)
Jaume Ferré

Jaume Ferré

Soy un entusiasta de las nuevas tecnologías, apasionado por explorar su potencial innovador. Colecciono CDs en formato físico y disfruto creando mezclas musicales. Además, la fotografía es otra de mis pasiones, capturando momentos y expresiones con cada disparo. ¡Gracias por leerme!

Comentarios

Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!