Saltar a contenido

Runbook: Restaurar Cloudflare Tunnel

Propósito

Restaurar el túnel Cloudflare que expone servicios del homelab.

Síntomas

  • Servicios accesibles por IP local pero no por dominio
  • cloudflared no responde
  • Error "Connection refused" en dominios gntech.dev
  • Dashboard de Cloudflare muestra túnel desconectado

Prerrequisitos

  • Acceso al dashboard de Cloudflare
  • Token de autenticación del túnel (ver inventario/credenciales.md)
  • Acceso SSH al servidor donde corre cloudflared

Procedimiento

1. Verificar estado del servicio

# Estado de cloudflared
sudo systemctl status cloudflared

# Logs recientes
sudo journalctl -u cloudflared -n 50 --no-pager

# Conectividad general
ping cloudflared.com

2. Reiniciar el servicio

sudo systemctl restart cloudflared
sleep 5
sudo systemctl status cloudflared

3. Verificar configuración

cat /etc/cloudflared/config.yml

4. Reautenticar si es necesario

# Si el token expiró o el túnel no reconecta
cloudflared tunnel login

# Verificar túneles configurados
cloudflared tunnel list

# Validar ruta del túnel
cloudflared tunnel route dns <tunnel-id> <dominio>

5. Verificar desde dashboard de Cloudflare

  1. Ir a Cloudflare Dashboard > Zero Trust > Access > Tunnels
  2. Localizar el túnel
  3. Verificar estado (debe mostrar "Healthy")
  4. Si aparece "Inactive" o "Degraded", reiniciar desde dashboard

6. Probar conectividad

# Prueba local
curl -s -o /dev/null -w "%{http_code}" http://servicio.gntech.dev

# Prueba desde internet
curl -s -o /dev/null -w "%{http_code}" https://servicio.gntech.dev

7. Validación

  • cloudflared corre sin errores
  • Dashboard muestra túnel Healthy
  • Todos los servicios expuestos responden
  • SSL/TLS funcionando
  • Monitoreo externo reporta OK

Prevención

  • Configurar monitoreo del túnel en Uptime Kuma
  • Documentar token de túnel en vault de credenciales
  • Probar renovación automática de tokens
  • Backup del archivo config.yml y certificados