Cloudflare Tunnel · cloudflared · Redes
Cloudflare Tunnel crea una conexión segura desde tu infraestructura hacia la red de Cloudflare. Eso permite que usuarios autorizados o públicos lleguen a servicios internos sin que el origen necesite una IP pública accesible ni puertos inbound abiertos.
- Qué papel cumple
cloudflared. - Cómo viaja una petición por el Tunnel.
- Qué es una Published application.
- Qué seguridad añade y qué cosas no resuelve por sí solo.
Concepto
Cloudflare Tunnel es un enlace entre Cloudflare y tu infraestructura
Cloudflare lo define como una conexión segura y con identidad estable entre su red y los recursos que ejecutas detrás de cloudflared.
La diferencia fundamental frente a publicar directamente un servidor es que la conexión inicial parte desde dentro de tu red hacia Cloudflare. Cloudflare no necesita iniciar una conexión nueva contra una IP pública de tu servidor.
Conector
cloudflared mantiene el túnel
cloudflared es el daemon que ejecutas en una máquina que puede alcanzar tus servicios internos. Establece y mantiene conexiones salientes hacia Cloudflare.
Puede vivir en el mismo servidor que la aplicación o en otro equipo de la LAN. Lo importante es que el conector pueda acceder a la dirección y puerto del servicio de origen.
Un mismo Tunnel puede enrutar múltiples hostnames hacia varios servicios accesibles desde el conector.
Ruta
Cómo viaja una petición
El navegador resuelve el hostname hacia Cloudflare. Cloudflare recibe la petición, determina a qué Tunnel pertenece y la envía por las conexiones existentes del conector. cloudflared finalmente entrega la petición al servicio definido.
Routing
Una Published application conecta hostname y servicio
Una ruta publicada asocia un nombre público con un origen privado. Por ejemplo:
app.example.com→http://localhost:3000api.example.com→http://localhost:3001home.example.com→http://192.168.1.20:8123Esto permite publicar varios servicios con URLs limpias aunque internamente usen puertos y máquinas diferentes.
Nombre público
El hostname forma parte de la ruta
Cuando configuras una aplicación publicada desde Cloudflare, asocias un dominio o subdominio de una zona administrada por tu cuenta al Tunnel. Ese hostname es el que utiliza el visitante.
La configuración DNS y la ruta del Tunnel trabajan juntas: DNS lleva al usuario a Cloudflare y el Tunnel determina cómo llegar al origen.
NAT
¿Por qué funciona sin abrir puertos?
Los firewalls y routers suelen permitir conexiones salientes y mantener estado para sus respuestas. cloudflared aprovecha ese modelo: inicia la sesión hacia Cloudflare y mantiene canales por los que después viajan peticiones y respuestas.
Tu router no necesita una regla que acepte conexiones entrantes nuevas desde cualquier IP de Internet hacia el puerto de la aplicación.
Esto también ayuda en entornos donde no controlas una IPv4 pública, como determinadas conexiones bajo CGNAT.
Privacidad
Un Tunnel no hace privada una URL automáticamente
Si publicas una aplicación sin una capa de autenticación, el hostname puede ser accesible para usuarios de Internet. Cloudflare Tunnel protege la ruta al origen, pero no decide automáticamente quién debería usar tu aplicación.
Cloudflare Access puede colocarse delante del servicio para exigir identidad y políticas antes de permitir la conexión.
Home Assistant, dashboards internos, paneles de servidores y APIs privadas no deberían depender únicamente de que la URL “sea difícil de adivinar”.
Configuración
Tunnels administrados remotamente y localmente
Cloudflare ofrece configuración administrada desde su plataforma, donde rutas y parámetros se gestionan de forma remota, y mantiene también el modelo de Tunnels administrados localmente mediante archivos de configuración.
Para instalaciones nuevas, el flujo administrado remotamente simplifica operación. El modelo local sigue siendo útil cuando quieres conservar reglas de ingress y credenciales de Tunnel bajo tu propia gestión.
Aplicaciones
Casos donde Cloudflare Tunnel encaja bien
Publicar Node.js, dashboards y sitios internos.
Exponer endpoints HTTPS sin abrir el puerto del backend.
Acceso controlado a servicios que corren en casa.
Publicar aplicaciones aunque no puedas hacer port forwarding.
Poner autenticación de identidad delante de herramientas internas.
Un Tunnel hacia varios puertos y equipos de la LAN.
Consideraciones
Qué no debes asumir
- No reemplaza la autenticación de tu aplicación.
- No todos los protocolos arbitrarios se publican igual que HTTP/HTTPS.
- Introduce dependencia de Cloudflare y del proceso
cloudflared. - El rendimiento pasa por una capa adicional frente a una conexión directa.
- Tokens y credenciales del Tunnel deben protegerse.
Lee Cloudflare Tunnel vs abrir puertos o pasa directamente a Configurar Cloudflare Tunnel en Ubuntu.
