Volver a la lista

Blog

Cloudflare Tunnel para desarrollo remoto: guía completa de configuración

Accede a tu servidor de desarrollo Mac desde cualquier lugar sin abrir puertos, gestionar DNS ni configurar tu router. Así es cómo Cloudflare Tunnel hace práctico el desarrollo remoto.

Publicado Etiquetas: Primeros pasos / redes / cloudflare / seguridad / seo
Blog

Sigue las novedades de producto e ingeniería de esta categoría.

Ver categoría

Si quieres acceder a tu entorno de desarrollo Mac desde fuera de tu red local — desde una cafetería, un aeropuerto, otra ciudad — necesitas un camino seguro a través de internet hasta tu máquina. Los enfoques tradicionales (reenvío de puertos, DNS dinámico, VPN) tienen desventajas significativas para casos de uso de desarrollo.

Cloudflare Tunnel ofrece un modelo mejor: tu Mac establece una conexión saliente a la red de Cloudflare. Los clientes remotos se conectan a Cloudflare. Sin puertos abiertos en tu router, sin DNS que gestionar, sin reglas de firewall que configurar.

Esta guía cubre cómo configurarlo para desarrollo remoto, específicamente para acceder a Claude Code vía Tactic Remote.

Cómo funciona Cloudflare Tunnel

La arquitectura es directa:

Tu iPhone            Cloudflare Edge          Tu Mac
     │                    │                       │
     │  HTTPS (wss://)    │  Túnel saliente       │
     │───────────────────►│◄──────────────────────│
     │                    │                       │
     │  WebSocket         │  proceso cloudflared  │
     │  cifrado           │  conecta saliente     │
     │                    │  a Cloudflare         │
     │                    │                       │

Puntos clave:

  • Tu Mac inicia la conexión del túnel de forma saliente a Cloudflare. Nada escucha en un puerto público.
  • Cloudflare asigna una URL (p.ej., https://random-words.trycloudflare.com) que enruta a tu Mac a través del túnel.
  • El tráfico está cifrado de extremo a extremo con TLS.
  • Tu router no necesita configuración — sin reenvío de puertos, sin UPnP, sin DMZ.

Esto es fundamentalmente diferente a exponer un puerto. Con reenvío de puertos, tu Mac acepta conexiones entrantes de todo internet. Con Cloudflare Tunnel, solo el tráfico autenticado a través de Cloudflare llega a tu Mac.

Requisitos previos

  • macOS 14 (Sonoma) o posterior (para la integración con la app Mac)
  • Homebrew instalado
  • cloudflared — el cliente de túnel de Cloudflare

Instala cloudflared:

brew install cloudflared

Verifica la instalación:

cloudflared --version
# cloudflared version 2025.x.x

No necesitas una cuenta de Cloudflare para túneles rápidos. El dominio trycloudflare.com es gratuito y no requiere registro.

Configuración con la app Mac de Tactic Remote

La app Mac gestiona la mayor parte de la configuración de Cloudflare Tunnel automáticamente.

Paso 1: Activar Cloudflare Tunnel

En los Ajustes de la app Mac:

  1. Activa Cloudflare Tunnel
  2. La app inicia cloudflared con la configuración correcta
  3. Aparece una URL de túnel (p.ej., https://bright-river-abc123.trycloudflare.com)

Internamente, la app Mac ejecuta:

cloudflared tunnel --url http://localhost:8765 --protocol h2mux

El flag --protocol h2mux usa multiplexación HTTP/2 para la conexión del túnel, lo que proporciona mejor rendimiento para tráfico WebSocket.

Paso 2: Configurar una clave API

Esto es obligatorio para conexiones Cloudflare. Cuando tu servidor es accesible desde internet, debes autenticar las conexiones.

La app Mac genera una clave API aleatoria de 32 caracteres. También puedes establecer la tuya. Esta clave se requiere al conectar desde tu iPhone — se envía en el handshake WebSocket vía la cabecera Sec-WebSocket-Protocol.

Paso 3: Configurar tu iPhone

En Tactic Remote en tu iPhone:

  1. Ve a ajustes de conexión
  2. Cambia a modo Cloudflare
  3. Introduce la URL del túnel desde la app Mac
  4. Introduce la clave API

O escanea el código QR desde la app Mac, que codifica tanto la URL del túnel como la clave API.

Paso 4: Probar la conexión

  1. Cambia tu iPhone a datos móviles (desactiva WiFi para confirmar que no estás usando LAN accidentalmente)
  2. Abre Tactic Remote
  3. Verifica que la conexión se establece
  4. Crea o abre una sesión
  5. Envía un comando de prueba

Si funciona, está listo. La URL del túnel persiste mientras cloudflared esté ejecutándose.

Cómo usa Tactic Remote el túnel

Cuando Cloudflare Tunnel está activo, la ruta de comunicación cambia:

Modo LAN: iPhone → WiFi → Mac (puerto 8765) — WebSocket directo Modo Cloudflare: iPhone → Datos/WiFi → Cloudflare Edge → Túnel → Mac (puerto 8765) — WebSocket cifrado a través del túnel

Desde la perspectiva de la app iPhone, la única diferencia es la URL:

  • LAN: ws://192.168.1.100:8765
  • Cloudflare: wss://bright-river-abc123.trycloudflare.com

El prefijo wss:// indica WebSocket Secure (cifrado). Todos los datos entre tu teléfono y Cloudflare, y entre Cloudflare y tu Mac, están cifrados.

Consideraciones de seguridad

Qué protege el túnel

  • Sin puertos públicos — el firewall de tu Mac no necesita reglas de entrada
  • Cifrado TLS — todo el tráfico está cifrado en tránsito
  • Protección DDoS — la red edge de Cloudflare absorbe ataques volumétricos antes de que lleguen a tu Mac
  • Oscuridad de URL — la URL de trycloudflare.com se genera aleatoriamente y es difícil de adivinar

De qué eres responsable

  • Fortaleza de la clave API — usa una clave larga y aleatoria (la app Mac genera 32 caracteres). No uses contraseñas débiles.
  • Transmisión de la clave API — transfiere la clave vía código QR (en persona) en lugar de enviarla por email o chat
  • Privacidad de la URL del túnel — no publiques tu URL de túnel públicamente. Cualquiera con la URL y la clave API puede conectarse.
  • Seguridad física del Mac — el servidor tiene acceso a tu sistema de archivos a través de Claude Code. Bloquea tu Mac.
  • Limitación de tasa — el servidor de Tactic Remote incluye middleware de limitación de tasa para frenar intentos de fuerza bruta, pero no es sustituto de una clave API fuerte

¿Y si Cloudflare ve mi tráfico?

Cloudflare termina TLS en su edge, lo que significa que teóricamente pueden ver tu tráfico. Para la mayoría de casos de uso de desarrollo, esto es aceptable — no estás enviando datos clasificados, y los compromisos de privacidad de Cloudflare están bien documentados.

Si esto te preocupa, usa el modo LAN exclusivamente y trabaja solo desde tu red local.

Solución de problemas

"La URL del túnel no aparece"

  • Comprueba que cloudflared está instalado: which cloudflared
  • Revisa los logs de la app Mac para errores de cloudflared
  • Prueba ejecutar cloudflared manualmente: cloudflared tunnel --url http://localhost:8765
  • Verifica que tu conexión a internet está activa

"La conexión funciona en LAN pero no con Cloudflare"

  • Verifica que estás usando wss:// (no ws://) con la URL del túnel
  • Confirma que la clave API coincide entre la app Mac y los ajustes del iPhone
  • Comprueba si tu red bloquea conexiones salientes en puertos no estándar (raro pero posible en redes corporativas)

"Desconexiones intermitentes"

  • Los túneles rápidos de Cloudflare pueden reciclar URLs tras inactividad prolongada
  • Comprueba la app Mac — si la URL del túnel cambió, actualiza los ajustes de tu iPhone
  • Considera usar un túnel nombrado con una cuenta Cloudflare para URLs permanentes

"Latencia alta"

  • Los túneles rápidos enrutan a través del centro de datos de Cloudflare más cercano, que normalmente es rápido
  • Si la latencia es consistentemente alta, tu ISP podría tener mal peering con Cloudflare
  • Prueba con: curl -o /dev/null -w "%{time_total}" https://your-tunnel-url.trycloudflare.com
  • Latencia bajo 200ms está bien para interacción de terminal. Más de 500ms se nota.

Túnel rápido vs túnel nombrado

Tactic Remote usa túneles rápidos por defecto — sin necesidad de cuenta Cloudflare, URL asignada automáticamente. Es el camino más rápido a acceso remoto funcional.

Limitaciones del túnel rápido:

  • La URL se genera aleatoriamente y cambia si cloudflared se reinicia
  • Sin dominio personalizado
  • Sin integración con Cloudflare Access (sin SSO, sin capas de autenticación adicionales)

Los túneles nombrados (requieren cuenta gratuita de Cloudflare) proporcionan:

  • URL persistente que no cambia entre reinicios
  • Mapeo de dominio personalizado (p.ej., dev.tudominio.com)
  • Cloudflare Access para autenticación adicional (SSO, verificación por email)
  • Mejor para configuraciones de equipo donde múltiples personas necesitan acceso consistente

Para desarrolladores individuales, los túneles rápidos funcionan bien. Si te encuentras actualizando frecuentemente la URL del túnel en tu teléfono, considera pasar a un túnel nombrado.

Alternativas a Cloudflare Tunnel

Para completar, otros enfoques de acceso remoto:

Reenvío de puertos

  • Abre un puerto en tu router, configura firewall
  • Riesgo: tu Mac queda directamente expuesto a internet
  • Requiere DNS dinámico si tu IP cambia
  • No recomendado para entornos de desarrollo

Tailscale/WireGuard VPN

  • Crea una red privada entre tus dispositivos
  • Buen modelo de seguridad (cifrado peer-to-peer)
  • Requiere cliente Tailscale en Mac e iPhone
  • Nota: Tactic Remote actualmente no se integra con Tailscale — necesitarías ejecutarlo por separado y apuntar Tactic Remote a la IP de Tailscale

ngrok

  • Concepto similar a Cloudflare Tunnel
  • El nivel gratuito tiene limitaciones (recuento de conexiones, ancho de banda)
  • Producto maduro con buena experiencia de desarrollador
  • Alternativa si prefieres el ecosistema de ngrok

Túnel SSH

  • Enfoque clásico usando reenvío de puertos SSH
  • Requiere configuración de servidor SSH en tu Mac
  • Nota: Tactic Remote usa WebSocket, no SSH — un túnel SSH envolvería la conexión WebSocket, añadiendo complejidad sin beneficio claro

Cloudflare Tunnel es la opción recomendada para Tactic Remote porque es gratuito, no requiere cuenta para túneles rápidos y está directamente integrado en la app Mac.

Prueba Tactic Remote

Controla tus agentes de programación desde el móvil

Conéctate a Claude Code, Codex y otros agentes en tu Mac, Windows o Linux. Consulta el progreso y envía la siguiente instrucción desde el iPhone o iPad.