2 puntos por GN⁺ 2025-11-17 | 1 comentarios | Compartir por WhatsApp
  • Explica la estructura para conectar redes privadas y controlar el acceso a servicios con Cloudflare Zero Trust y WARP, sin problemas de NAT ni firewall
  • Con el túnel Argo, es posible exponer una red privada o un servicio local mediante un dominio público, o bien crear una red privada accesible solo cuando hay conexión con WARP
  • Tailscale es rápido porque se basa en P2P, pero tiene limitaciones en entornos NAT; Cloudflare, en cambio, enruta todo el tráfico a través de la red edge, lo que brinda una conexión estable
  • Cloudflared se encarga de crear túneles, y el cliente WARP de la conexión de red y la aplicación de políticas; con Tunnels, Routes y Targets se configura el flujo de tráfico y el control de acceso
  • Se puede construir un entorno de red seguro con Access Policy detalladas, usando inicio de sesión por correo electrónico o GitHub, y omitiendo o restringiendo el proceso de login según si existe conexión WARP

Resumen de Cloudflare Zero Trust y WARP

  • Empezó a aprender Cloudflare Zero Trust + WARP después de que fallara la traversía NAT de Tailscale
  • Con los túneles de Zero Trust se pueden aprovechar varias funciones: conectar redes privadas, publicar servicios, construir redes con IP privadas y exponer temporalmente servicios locales
  • Todo el tráfico se transmite por la red de Cloudflare sin problemas de NAT, y con políticas de acceso granulares es posible controlar el acceso entre usuarios, bots y servidores
  • Para conexiones SSH, ofrece inicio de sesión basado en autenticación de Zero Trust sin necesidad de puertos públicos

Cloudflare Zero Trust vs Tailscale

  • Tailscale intenta establecer conexiones P2P sorteando NAT y firewalls, y si no es posible usa un servidor de retransmisión
  • En Cloudflare, salvo Warp-to-Warp, todo el tráfico pasa por los servidores edge de Cloudflare, así que no hay problemas de NAT, aunque sí aparece algo de latencia

Diferencia entre Cloudflared y WARP

  • Cliente WARP: herramienta que conecta el cliente a la red de Cloudflare y aplica políticas
    • Normalmente se ejecuta en el cliente, aunque también puede usarse en servidores
    • Soporta conexiones P2P mediante enrutamiento Warp-to-Warp
  • Cloudflared: herramienta que crea túneles y los agrega a la red Zero Trust
    • Se ejecuta en el servidor para ofrecer un punto de entrada a la red
    • Puede conectarse a otros recursos de Zero Trust con el comando cloudflared access
    • Permite crear túneles de un solo uso para pruebas

Estructura de Tunnels, Routes y Targets

  • Tunnels: puntos de salida de tráfico desplegados con cloudflared
    • Ejemplo: instalarlo en un equipo siempre encendido dentro de la red doméstica (192.168.1.1/24)
    • En el archivo de configuración (/etc/cloudflared/config.yml) se define a dónde enrutar cuando llega una solicitud
    • Ejemplo: gitlab.widgetcorp.techlocalhost:80, gitlab-sshlocalhost:22
  • Ejemplo de exposición pública:
    • homeassistant.mydomain.com → se enruta a 192.168.1.3
    • Si en Cloudflare DNS se define un CNAME hacia la dirección del túnel, se puede acceder sin WARP
  • Routes: definen a qué túnel enviar un rango IP específico
    • Ejemplo: toda la red 192.168.1.1/24 o una sola IP 192.168.1.3/32
    • Cuando hay conexión WARP, las solicitudes a esas IP se envían al túnel a través de la red de Cloudflare
    • También es posible enrutar IP virtuales inexistentes, por ejemplo 10.128.1.1
  • Targets: definen la unidad de infraestructura que se va a proteger
    • Ejemplo: homeassistant.mydomain.com192.168.1.3/32
    • Se pueden asignar políticas de acceso al destino para permitir acceso solo a usuarios específicos

Access Policies: control de acceso

  • Después de configurar túneles, rutas y targets, los permisos de acceso se definen con Access Policy
  • Componentes de la política
    • Include: condiciones para permitir acceso (OR)
    • Require: condiciones que deben cumplirse obligatoriamente (AND)
    • Action: Allow / Deny / Bypass / Service Auth
  • Ejemplo 1 – control de acceso basado en correo electrónico
    • Solo se permite el acceso a una dirección de correo específica
    • También se puede restringir la autenticación usando inicio de sesión con GitHub
  • Ejemplo 2 – omitir el login cuando hay conexión WARP
    • Usando el selector de Gateway, se puede omitir la pantalla de login cuando existe conexión Zero Trust WARP
    • Si no hay conexión WARP, se exige inicio de sesión con GitHub

Despliegue y registro del cliente WARP

  • Configuración de la política de registro en Settings → Warp Client
    • Se puede permitir el registro solo con autenticación de GitHub y ciertos correos electrónicos
    • Si se configura un ID de autenticación de WARP, se puede usar el selector de Gateway
  • En Profile Settings se define el comportamiento del cliente
    • Se pueden configurar protocolo (MASQUE/WireGuard), modo de servicio, IP excluidas del enrutamiento, etc.
    • También es posible instalar automáticamente la CA de Cloudflare, asignar una IP CGNAT única y configurar Device Posture
  • Después de iniciar sesión en el cliente WARP, se completa la conexión a la red Zero Trust
    • A partir de ahí, las solicitudes a 192.168.1.3 se enrutan por el túnel

Resumen del resultado de la implementación

  • Se registró el cliente WARP con políticas de login basadas en GitHub y correo electrónico
  • El túnel dentro de la red privada envía las solicitudes a homeassistant.mydomain.com hacia 192.168.1.3
  • El tráfico a 192.168.1.3 solo puede accederse por el túnel cuando existe conexión WARP
  • Se ofrecen dos métodos: acceso público basado en DNS y acceso privado basado en WARP
  • Cuando hay conexión WARP se omite el login; sin conexión, se exige autenticación con GitHub

Temas adicionales que no se cubrieron

  • Enrutamiento Warp-to-Warp
  • Creación de IP privadas internas exclusivas de Zero Trust
  • Configuración de políticas de autenticación SSH
  • Tipos de aplicaciones distintos de Self-Hosted

No hay información adicional en el original

1 comentarios

 
GN⁺ 2025-11-17
Opiniones de Hacker News
  • Cloudflare actúa como punto de terminación TLS, así que tiene desventajas para uso personal
    Con Tailscale Funnel, el certificado se instala directamente en mi endpoint, pero Cloudflare descifra el tráfico en medio y luego lo vuelve a cifrar
    No sé bien cuál es el nivel de privacidad de la red personal de WARP, pero creo que al tunelizar tráfico de Internet hay una gran pérdida de privacidad
    Además, una arquitectura de conexión P2P + fallback por relay puede funcionar sin intermediación de terceros, así que me parece mucho más deseable

    • Hace poco hice yo mismo un proyecto llamado TunnelBuddy
      Usa la máquina de un amigo como exit node basada en WebRTC, y solo soporta P2P, sin servidores TURN/relay
      La tasa de éxito de conexión es baja según el entorno NAT, pero como el tráfico no pasa por servidores de terceros, la garantía de privacidad es clara
    • Es irónico que lo llamen “Zero Trust” cuando al final igual tienes que confiar por completo en Cloudflare
    • Personalmente confío más en Tailscale, pero las funciones de dominio personalizado y acceso sin cliente de Cloudflare son atractivas
      Se puede armar algo parecido con Caddy, pero igual hace falta port forwarding
    • NetFoundry de la lista awesome-tunneling también es una buena alternativa
      Su ventaja es el cifrado de extremo a extremo y el buen rendimiento y confiabilidad gracias a más de 100 PoP
    • connet apunta a una arquitectura de P2P + fallback por relay
      Como solo los peers participantes exponen endpoints, tiene ventajas en seguridad y privacidad
      Puedes self-hostearlo o usar el servicio oficial
  • Yo uso Netbird en casa y para uso personal
    Lo instalé en un Synology NAS y en todas las laptops, desktops y móviles de la familia, y es muy cómodo para usarlo como escritorio remoto dentro de un entorno Tmux

  • Dejé de leer en la frase “todo el tráfico pasa por la red de Cloudflare”
    Hyprspace ha logrado atravesar todos los NAT con los que me he topado, y funciona bien sin infraestructura de una gran empresa

  • El texto se siente como una guía de configuración realmente excelente
    Cloudflare incluso podría documentarlo y usarlo como guía oficial

  • Leí un post de alguien que decía que aprendió Cloudflare Zero Trust + Warp porque se frustró cuando Tailscale no lograba establecer conexiones P2P en entornos NAT
    Pero Cloudflare ni siquiera intenta P2P desde el principio, así que al final lo que hace es cambiarse al modelo de confianza de Cloudflare
    Cuesta entender la motivación, pero el texto en sí está bien organizado

    • Cloudflare tiene una red global de PoP de alta calidad, así que en la práctica la calidad fue mejor que con P2P
      Nuestra empresa también es totalmente remota, y el rendimiento mejoró después de pasar de Tailscale a Cloudflare
    • La clave es si el cifrado entre peers se mantiene incluso al pasar por Cloudflare
      Si se mantiene, la diferencia en el modelo de confianza no es tan grande, pero Cloudflare destaca por el rendimiento del relay, así que tiene ventaja en velocidad
      Aun así, la capacidad de NAT hole punching de Tailscale es muy buena, así que prefiero conexión directa cuando se puede
  • Estoy usando tuns.sh para exponer servicios personales
    Me gusta que, al estar basado en túneles SSH, se puede usar de inmediato sin instalación

  • Tanto el artículo como los comentarios fueron útiles
    Eso sí, las imágenes del texto están rotas y dan error 404 — por ejemplo: targets-config-screen.png

  • Me alegra por fin ver críticas al tema de oro de CF
    Creo que hace falta una discusión que señale los problemas del modelo Zero Trust

  • Es fatal que con una cuenta gratuita de Cloudflare no se pueda operar un servidor Plex
    Los términos relacionados se pueden revisar aquí

    • ¿Tu ISP te da IPv6 por casualidad?
      Yo uso Emby y Jellyfin con amigos sobre IPv6 sin problemas
    • ¿Quién esperaría que alguien diera gratis tráfico de streaming de video?
      A diferencia del tráfico web simple, una sola película genera costos de ancho de banda cientos de veces mayores
    • En mi cuenta gratuita, cloudflared tunnel funciona bien con Jellyfin
      Este método me sirvió porque en la laptop de trabajo de mi novia no se puede instalar Tailscale
    • En la práctica, si no hay mucho tráfico, los términos no se aplican de forma estricta
    • Yo también lo uso con Jellyfin y lleva meses funcionando sin problemas
  • Me queda la duda de si usar Cloudflare no es vendor lock-in
    Al menos creo que Tailscale no tiene ese tipo de dependencia

    • Pero me sorprendió enterarme de que Tailscale al final también era un vendor comercial
      Pensaba que era un proyecto open source, pero no lo es