Túneles de Cloudflare

Esteban expone servicios internos a internet sin abrir puertos usando Cloudflare Tunnel (cloudflared).

En vm-playground corre un solo túnel, vm-playground-glances (id 9513015a-60f4-4b22-8c5c-1072f0f9af33), con varias reglas de ingress — un mismo túnel sirviendo varios hostnames hacia distintos puertos locales:

  • monitor.estebanalcocer.cloudGlances (127.0.0.1:61208)
  • notes.estebanalcocer.cloudTrilium (127.0.0.1:8080)

La cuenta de Cloudflare para la zona estebanalcocer.cloud (ehalsou@gmail.com) es una cuenta/zona separada de conkafecito.com, que usa su propio túnel en vm-main con un token limitado únicamente a esa zona.

Lección aprendida

Correr cloudflared tunnel route dns con el cert.pem/túnel equivocado para la zona del hostname no falla limpio: anida mal el hostname como subdominio de la zona que sí tiene ese certificado. Pasó una vez con conkafecito.com en vez de estebanalcocer.cloud, creando monitor.estebanalcocer.cloud.conkafecito.com en lugar de fallar con un error. Si vuelve a pasar, el registro mal creado se puede borrar vía la API de Cloudflare usando el token embebido en el cert.pem (es un JWT con zoneID/accountID/apiToken, decodificable con base64).

Véase también

  • Glances — servicio expuesto por este túnel
  • Trilium — ídem
  • NetBird — alternativa usada para tráfico agente↔agente que no necesita ser público