
cloudflared v2026.8.1
Cliente para Cloudflare Tunnel que permite conexiones seguras solo de salida a orígenes mediante la arquitectura Zero Trust. Soporta tráfico HTTP, WebSocket, SSH y RDP sin cambios en el firewall, proporcionando control de acceso y autenticación.
Cliente de Cloudflare Tunnel
Contiene el cliente de línea de comandos para Cloudflare Tunnel, un daemon de tunelización que redirige el tráfico desde la red de Cloudflare hacia tus orígenes.
Este daemon se sitúa entre la red de Cloudflare y tu origen (por ejemplo, un servidor web). Cloudflare atrae las solicitudes de los clientes y te las envía
a través de este daemon, sin necesidad de abrir huecos en tu firewall --- tu origen puede permanecer tan cerrado como sea posible.
Puedes encontrar documentación extensa en la sección de Cloudflare Tunnel de la documentación de Cloudflare.
Todos los usos relacionados con la redirección hacia tus orígenes están disponibles en cloudflared tunnel help.
También puedes usar cloudflared para acceder a orígenes de Tunnel (que están protegidos con cloudflared tunnel) para tráfico TCP
en la capa 4 (es decir, no HTTP/websocket), lo cual es relevante para casos de uso como SSH, RDP, etc.
Dichos usos están disponibles en cloudflared access help.
En su lugar, puedes usar el cliente WARP
para acceder a orígenes privados detrás de Tunnels para tráfico de capa 4 sin requerir comandos cloudflared access en el lado del cliente.
Antes de empezar
Antes de usar Cloudflare Tunnel, deberás completar algunos pasos en el panel de Cloudflare: necesitas añadir un sitio web a tu cuenta de Cloudflare. Ten en cuenta que hoy en día es posible usar Tunnel sin un sitio web (por ejemplo, para enrutamiento privado), pero por razones heredadas este requisito sigue siendo necesario:
Instalar cloudflared
Las descargas están disponibles como binarios independientes, una imagen de Docker y paquetes Debian, RPM y Homebrew. También puedes encontrar las versiones aquí en el repositorio de GitHub de cloudflared.
- Puedes instalar en macOS mediante Homebrew o descargando la última versión para Darwin amd64
- Los binarios y paquetes Debian y RPM para Linux se pueden encontrar aquí
- Una imagen de Docker de
cloudflaredestá disponible en DockerHub - Puedes instalar en máquinas Windows con los pasos que se indican aquí
- Para compilar desde el código fuente, instala la versión requerida de go, mencionada en la sección Desarrollo a continuación. Después puedes ejecutar
make cloudflared.
La documentación de usuario de Cloudflare Tunnel se puede encontrar en https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/
Crear Tunnels y enrutar tráfico
Una vez instalado, puedes autenticar cloudflared en tu cuenta de Cloudflare y comenzar a crear Tunnels para servir tráfico a tus orígenes.
- Crea un Tunnel con estas instrucciones
- Enruta el tráfico hacia ese Tunnel:
- Mediante registros DNS públicos en Cloudflare
- O mediante un nombre de host público guiado por un Cloudflare Load Balancer
- O desde tráfico privado del cliente WARP
TryCloudflare
¿Quieres probar Cloudflare Tunnel antes de añadir un sitio web a Cloudflare? Puedes hacerlo con TryCloudflare usando la documentación disponible aquí.
Cambios disruptivos
La eliminación de flags de CLI, variables de entorno, claves de configuración o comandos es un cambio disruptivo. Dichas eliminaciones deben anunciarse en el changelog de Cloudflare Tunnel antes de la versión que las elimina.
Versiones obsoletas
Actualmente Cloudflare admite versiones de cloudflared que estén dentro de un año de la versión más reciente. Pueden introducirse cambios disruptivos no relacionados con la disponibilidad de funcionalidades que afectarán a versiones publicadas hace más de un año. Puedes leer más sobre cómo actualizar cloudflared en nuestra documentación para desarrolladores.
Por ejemplo, a partir de enero de 2023 Cloudflare admitirá cloudflared versión 2023.1.1 hasta cloudflared 2022.1.1.
Desarrollo
Requisitos
- GNU Make
- capnp
- go >= 1.27.3
- Herramientas opcionales:
Actualizar Go
La directiva go en go.mod debe especificar la versión completa major.minor.patch
(por ejemplo, go 1.27.3). No omitas la versión de parche, incluidas las versiones .0.
Esta es la versión exacta de Go usada para compilar y probar cloudflared: el Makefile exporta
GOTOOLCHAIN=go<version> a partir de ella, por lo que make descarga ese toolchain siempre que
el Go instalado sea más antiguo o más reciente. Las herramientas que make ejecuta con go run pkg@version también
usan este toolchain. Una directiva toolchain en go.mod se ignora; no añadas ninguna.
Para usar el Go instalado en su lugar, ejecuta make <target> GOTOOLCHAIN=local.
Al actualizar Go, actualiza la directiva go y todas las referencias de versión correspondientes
en .gitlab-ci.yml, .ci/image/Dockerfile, .github/workflows/check.yaml y los
Dockerfiles. Actualiza la imagen del builder de CI de Linux y su digest en .ci/linux.gitlab-ci.yml
para que coincidan; su golangVersion selecciona la familia de imágenes major/minor. En macOS y
Windows, una discrepancia solo supone la descarga de un toolchain. Las compilaciones que usan GOTOOLCHAIN=local
fallan si su Go es más antiguo que go.mod y usan su propio Go si es más reciente.
Compilación
Para compilar cloudflared localmente ejecuta make cloudflared
Pruebas
Para ejecutar las pruebas localmente ejecuta make test
Linting
Para formatear el código y mantener una buena calidad de código usa make fmt y make lint
Mocks
Tras cambios en las interfaces puede que necesites regenerar los mocks, así que ejecuta make mocks
Git Hooks
Para evitar errores de CI, puedes instalar hooks de pre-push que ejecutan linting y pruebas antes de cada push:
make install-hooks
Esto configurará git para usar los hooks en .githooks/ que ejecutan make fmt-check lint test antes de cada push.