Solución de la comunidad

Usa Cloudflare Tunnel en CasaOS sin redirección de puertos

A September 2023 CasaOS tutorial showing the built-in Cloudflared app, creation of a Cloudflare Tunnel, copying its connector token into CasaOS, and verifying that the tunnel becomes Healthy.

El tutorial de CasaOS de septiembre de 2023 es una publicación genuinamente paso a paso, no solo una recomendación de enlace. Muestra el flujo histórico completo que siguieron los usuarios de CasaOS en aquel momento: instalar la aplicación Cloudflared, crear un túnel de Cloudflare administrado de forma remota, copiar el token del conector, pegarlo en la interfaz web de Cloudflared de CasaOS, iniciar el conector y verificar que Cloudflare informa que el túnel está en buen estado.

La arquitectura principal sigue siendo útil, pero hay dos aspectos que deben actualizarse para una página que se mantendrá durante mucho tiempo. Primero, la interfaz de Cloudflare Zero Trust ha cambiado desde 2023. Segundo, el token del conector que se muestra en la configuración moderna de Cloudflare Tunnel es una credencial confidencial y nunca debe exponerse en capturas de pantalla ni copiarse del ejemplo de otro usuario.

Este es un tutorial de CasaOS, no un procedimiento de ZimaOS

La fuente pertenece a la categoría de CasaOS y utiliza un paquete de la tienda de aplicaciones de CasaOS con su propia pequeña interfaz web de Cloudflared. Es posible que ZimaOS ejecute la misma tecnología de Cloudflare subyacente, pero no debe suponerse que su interfaz de gestión de aplicaciones y su modelo de red coincidan exactamente con las capturas de pantalla de 2023.

Paso 1: Instala Cloudflared desde la tienda de aplicaciones de CasaOS

Tienda de aplicaciones de CasaOS mostrando la aplicación Cloudflared disponible para su instalación
El tutorial original comenzaba con la aplicación Cloudflared de CasaOS, en lugar de un contenedor de Docker creado manualmente.

El propósito de esta aplicación es ejecutar el conector de Cloudflare en el servidor doméstico. El conector establece una ruta saliente cifrada hacia Cloudflare, por lo que el enrutador no necesita una nueva regla de reenvío de puertos entrante simplemente para mantener el túnel activo.

Paso 2: Crea un túnel en Cloudflare Zero Trust

Página de túneles de Cloudflare Zero Trust con el control «Crear un túnel» visible
La interfaz de Cloudflare ha cambiado desde esta captura de pantalla, pero el paso lógico sigue siendo crear un túnel administrado de forma remota para el conector.

Dale al túnel un nombre que identifique el servidor o la ubicación, en lugar de una aplicación específica. Un conector puede enrutar varios nombres de host o servicios, por lo que nombres como casa-casaos o sala-de-servidores envejece mejor que solo-jellyfin.

Paso 3: Copia el token del conector de forma privada

Página de configuración del conector de Cloudflare Tunnel que muestra un comando de conector de Docker que contiene el token del túnel
El comando del conector incluye un token que autoriza a un conector a unirse al túnel administrado de forma remota.

La documentación actual de Cloudflare deja claro el límite de seguridad: un token de túnel es suficiente para ejecutar un conector para ese túnel administrado de forma remota. Trátalo como una contraseña. Si alguna vez ha aparecido un token real en una captura de pantalla pública o en un registro, rótalo.

Paso 4: abrir la interfaz web de Cloudflared de CasaOS

El paquete histórico proporcionaba una pequeña interfaz que se abría desde el icono de la aplicación de CasaOS. Esa interfaz aceptaba el token del conector para que los usuarios no tuvieran que construir manualmente el comando completo de Docker.

Esta capa de comodidad pertenecía a ese paquete de CasaOS. Un contenedor actual de Cloudflared puede configurarse mediante variables de entorno, argumentos de comandos, un archivo de Compose o los ajustes del paquete actual.

Pasos 5 y 6: guardar el token e iniciar el conector

En la interfaz de 2023, pegar el token y guardarlo cambiaba el estado del botón a Start. Al iniciar el conector, cambiaba a Stop. Esos estados visuales eran específicos del paquete, pero representan dos comprobaciones distintas: se aceptó la configuración y luego se inició realmente el proceso del conector.

Si un conector moderno se cierra inmediatamente, revisa sus registros antes de cambiar los registros DNS. Un túnel que no está conectado no puede enrutar un nombre de host, independientemente de la configuración de DNS de Cloudflare.

Paso final: verificar que el túnel esté saludable

El tutorial original volvía a la lista de túneles de Cloudflare y comprobaba que apareciera el estado Healthy. Sigue siendo un paso de validación importante. Tener un nombre de host público configurado no demuestra que el conector esté conectado.

«Saludable» significa que Cloudflare puede ver al menos un conector activo para el túnel. Esto aún no demuestra que el conector pueda acceder a la aplicación local que se encuentra detrás de él.

Añadir una ruta al servicio local correcto

Cuando el conector esté en línea, asigna un nombre de host al origen real de la aplicación. Para una aplicación HTTP, puede ser una IP de la LAN más un puerto, u otra dirección de contenedor a la que Cloudflared pueda acceder.

Si Cloudflared se ejecuta dentro de una red de puente normal de Docker, localhost se refiere al propio contenedor de Cloudflared. No significa automáticamente el host de CasaOS. Esta distinción es una de las causas más comunes de que un túnel en estado «healthy» devuelva un error 502 o errores de conexión.

Por qué no se necesita redireccionar puertos en el router

El conector crea una conexión saliente desde CasaOS hasta Cloudflare. Las solicitudes entrantes del navegador llegan a Cloudflare y regresan a través de ese túnel establecido. Por eso Cloudflare Tunnel puede publicar un servicio incluso cuando el router no tiene configurado ningún redireccionamiento de puertos entrantes.

Protege los servicios sensibles con Cloudflare Access

Un túnel es un medio de transporte, no una política de autenticación. Si publicas un panel, terminal, gestor de contraseñas o interfaz de administración mediante un nombre de host público, añade una política de identidad con Cloudflare Access u otra capa de autenticación adecuada.

Mantén también habilitada la autenticación propia de la aplicación. Cloudflare Access y la autenticación de la aplicación protegen límites diferentes.

Rota los tokens cuando la implementación cambie de responsable

Si un servidor se vende, se reconstruye o se transfiere a otro administrador, revoca o rota las credenciales del túnel anterior. Los volúmenes persistentes de Docker pueden conservar la configuración más tiempo de lo esperado, por lo que el ciclo de vida de las credenciales debe gestionarse de forma deliberada.

Preguntas frecuentes sobre Cloudflare Tunnel en CasaOS

¿Cloudflare Tunnel requiere redireccionamiento de puertos?

No. El conector establece una conexión saliente con Cloudflare.

¿Qué utilizaba el tutorial original de CasaOS para la configuración?

Una aplicación Cloudflared con una pequeña interfaz web en la que el usuario pegó el token del túnel administrado de forma remota.

¿Es seguro mostrar el token del conector en una captura de pantalla de un tutorial?

No. Trata un token real como un secreto y rótalo si ha quedado expuesto.

¿«Healthy» significa que mi aplicación ya es accesible?

No necesariamente. «Healthy» confirma que el conector está en línea; la ruta al origen y la aplicación aún deben ser correctas.