Despliegue en redes Restrictivas
Objetivo: Garantizar la conexión de cloudflared en servidores Windows cuando el ISP (ej. Telcel) bloquea el tráfico UDP nativo o el Administrador de Servicios (SCM) rechaza parámetros personalizados.
Fase 1: Diagnóstico ¿Cuándo usar este método?
- El ISP es Telcel: O cualquier red celular / satelital que cuente con un CGNAT estricto.
- Fallo en instalación estándar: El técnico instaló el servicio nativo (
cloudflared service install [TOKEN]) y Windows arroja un error indicando que el servicio se inició y se detuvo inesperadamente. - La Prueba de Fuego (Detección Definitiva): Abre PowerShell e intenta correr el túnel manualmente forzando la conexión TCP:
& "C:\Program Files (x86)\cloudflared\cloudflared.exe" tunnel run --protocol http2 --token [TU_TOKEN]
QUIC connection failed pero inmediatamente después dice Registered tunnel connection protocol=http2: Aplica WinSW inmediatamente.Fase 2: El Script Anti-Errores
Si el diagnóstico de la fase anterior confirma el bloqueo, no intentes modificar el registro de Windows. Ejecuta el siguiente bloque de código directamente en PowerShell (como Administrador).
$TOKEN en la primera línea. El script se encargará del resto de la configuración automáticamente.# 1. INSERTA EL TOKEN AQUÍ
$TOKEN = "PEGA_AQUÍ_EL_TOKEN_DEL_DASHBOARD"
# 2. Limpieza de instalaciones fallidas previas
Stop-Process -Name "cloudflared" -Force -ErrorAction SilentlyContinue
sc.exe delete cloudflared
Start-Sleep -Seconds 2
# 3. Descarga de WinSW (Contenedor de Servicio)
$winswUrl = "[https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe](https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe)"
$winswExe = "C:\Program Files (x86)\cloudflared\cloudflared-service.exe"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri $winswUrl -OutFile $winswExe
# 4. Inyección de Configuración (Fuerza HTTP2 para saltar el firewall)
$xmlConfig = @"
<service>
<id>cloudflared</id>
<name>Cloudflare Zero Trust (WinSW)</name>
<description>Túnel de Cloudflare forzado por TCP</description>
<executable>C:\Program Files (x86)\cloudflared\cloudflared.exe</executable>
<arguments>tunnel run --protocol http2 --token $TOKEN</arguments>
<log mode="roll"></log>
<onfailure action="restart" delay="10 sec"/>
</service>
"@
$xmlConfig | Out-File -FilePath "C:\Program Files (x86)\cloudflared\cloudflared-service.xml" -Encoding UTF8
# 5. Instalación y Arranque
cd "C:\Program Files (x86)\cloudflared"
.\cloudflared-service.exe install
.\cloudflared-service.exe start
Write-Host "Instalación completada. Verifica el dashboard de Zero Trust." -ForegroundColor Green
Fase 3: Criterios de Éxito
Para confirmar que el procedimiento funcionó correctamente y el túnel está operativo, debes verificar lo siguiente:
- En la consola de servicios de Windows (
services.msc) debe existir un servicio llamadoCloudflare Zero Trust (WinSW)y debe encontrarse en estadoEn ejecución. - En el dashboard web de Zero Trust, el conector debe marcar el estado como
Active.
Alta Túneles Cloudflare
Guía técnica para la publicación segura de portales administrativos mediante Cloudflare Tunnels, eliminando la necesidad de IPs públicas y apertura de puertos.
Limpieza Registros Cloudflare
Guía técnica para la limpieza manual del Registro de Windows cuando un conector de Cloudflare presenta conflictos o no permite una reinstalación limpia. Este proceso solo es recomendable realizarlo bajo previa autorización.