Configuración del túnel en Raspberry Pi
Cloudflare Tunnel en Raspberry Pi para servidor doméstico siempre activo
Usa esta guía cuando una Raspberry Pi o mini PC debe mantener cloudflared activo con un hostname real. Incluye configuración, systemd, comprobaciones y cuándo GhostlyShare o ghs CLI son opciones más ligeras.
El objetivo es un conector estable saliente, no anonimato mágico. Los visitantes no necesitan acceso al router, pero Cloudflare, tus cuentas y hábitos siguen siendo importantes.
Una Raspberry Pi es útil para que el túnel sobreviva a suspensión del portátil, cierre de sesión o trabajo diario. GhostlyShare también sirve para compartir a largo plazo si prefieres app o CLI en vez de archivos de servicio manuales.
Índice
Respuesta breve: usa Raspberry Pi si el túnel debe estar siempre activo
Una Raspberry Pi es un buen conector para Cloudflare Tunnel cuando web, panel, webhook o servicio de laboratorio deben estar accesibles sin depender del portátil diario. No es la única opción para ejecución prolongada; GhostlyShare puede ser un flujo de túnel más sencillo.
| Necesidad | Usar | Por qué |
|---|---|---|
| Hostname siempre activo para servicio doméstico | Cloudflare Tunnel en Raspberry Pi | La Pi puede estar siempre conectada, reiniciarse de forma predecible y ejecutar cloudflared como servicio Linux. |
| Vista previa, callback webhook o compartición gestionada | GhostlyShare | GhostlyShare mantiene el flujo del túnel en app o CLI, más sencillo que gestionar manualmente la configuración de cloudflared. |
| App en producción con mayor aislamiento | VPS o hosting gestionado | Un servidor público suele ser más fácil de monitorizar, respaldar y separar de la red doméstica. |
Arquitectura sencilla: visitante, Cloudflare, Pi, servicio local
Cloudflare Tunnel mantiene la conexión saliente del origen. La Raspberry Pi abre conexiones a Cloudflare, que asigna tu hostname público a un servicio local como localhost:3000 o una dirección LAN.
El visitante accede a tu nombre de host público y al borde de Cloudflare, no a un puerto del router de tu conexión doméstica.
Cloudflare controla el borde público, la zona DNS, el mapeo del túnel y la ruta de la solicitud para el nombre de host.
cloudflared se ejecuta en el Pi y mantiene abiertas las sesiones de conexión salientes hacia Cloudflare.
La aplicación real puede permanecer en localhost, otro puerto o en un host LAN accesible desde el Pi.
No consideres esto como un muro de privacidad contra todos. Principalmente evita que visitantes y escaneos aleatorios accedan a tu router doméstico o descubran el origen directamente.
Prepara el Raspberry Pi antes de instalar cloudflared
La mayoría de los problemas con túneles no son causados por Cloudflare. Provienen de un dispositivo inestable, una dirección local cambiante o un archivo de configuración inaccesible para el usuario del servicio.
Comienza con Raspberry Pi OS o Debian, aplica actualizaciones y prefiere 64 bits si el dispositivo lo soporta.
Proporciona al Pi una ruta de red fiable, preferiblemente Ethernet por cable o una reserva DHCP si el servicio accede a hosts LAN.
Asegúrate de que la app funcione localmente antes de involucrar Cloudflare, DNS o systemd.
No expongas paneles de administración por accidente. Protege herramientas privadas con Cloudflare Access o mantenlas locales.
Elección de hardware: opta por un kit Raspberry Pi 5, no solo la placa
Para un conector de túnel, un kit Raspberry Pi 5 es la opción más segura que solo la placa suelta. Necesitas la placa, una fuente USB-C estable, refrigeración o ventilador, y almacenamiento fiable antes de culpar a Cloudflare por desconexiones aleatorias.

Kit Raspberry Pi 5 para un pequeño servidor doméstico con Cloudflare Tunnel
Busca un kit Raspberry Pi 5 con fuente USB-C fiable, refrigeración, carcasa y almacenamiento. 4 GB son suficientes para cloudflared; 8 GB ofrecen más espacio si el Pi también ejecuta la app.
Prefiere la fuente oficial Raspberry Pi 27W USB-C o equivalente 5V/5A, y no omitas la refrigeración. Potencia débil y calor pueden parecer inestabilidad del túnel aunque la configuración de cloudflared sea correcta.
Guía de configuración Cloudflare Tunnel en Raspberry Pi
Usa el panel de Cloudflare o la documentación oficial para el comando actual del paquete según la arquitectura de tu Pi. Considera los comandos siguientes como un orden seguro de trabajo, no como garantía de que las URLs de los paquetes no cambien.
Paso 1: actualiza el Pi y confirma la arquitectura
Instala primero las actualizaciones y luego verifica la arquitectura para copiar el comando correcto del paquete cloudflared desde Cloudflare.
sudo apt update
sudo apt upgrade -y
dpkg --print-architecturePaso 2: instala cloudflared con el comando oficial actual
Consulta el panel de Cloudflare o la documentación para obtener el comando Linux actual que se adapte a tu arquitectura. Verifica el binario tras la instalación.
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --versionPaso 3: autentica y crea un túnel con nombre
Autoriza la zona de Cloudflare, crea un túnel con nombre y copia el UUID del túnel que aparece en la salida.
cloudflared tunnel login
cloudflared tunnel create home-piPaso 4: crea un config.yml explícito
Sustituye el UUID del túnel, el nombre de host, el servicio local y la ruta de credenciales antes de ejecutarlo. La regla de reserva debe quedar al final.
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.ymltunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json
ingress:
- hostname: app.example.com
service: http://localhost:3000
- service: http_status:404Paso 5: valida, enruta DNS y ejecuta en primer plano
Valida las reglas de entrada, crea la ruta DNS y mantén el túnel en primer plano mientras pruebas desde otra red.
cloudflared tunnel ingress validate
cloudflared tunnel route dns home-pi app.example.com
cloudflared tunnel run home-piEjecuta cloudflared como servicio Linux con la ruta de configuración correcta
El detalle clave en Linux es la ruta de configuración. Si instalas el servicio con sudo, el directorio home puede ser el de root, y el servicio no encontrará la configuración que probaste como usuario pi.
Paso 1 del servicio: instala el servicio con una ruta de configuración explícita
Esto evita el error común de desajuste entre el directorio home de sudo y la configuración probada como usuario pi y la cuenta del servicio.
sudo cloudflared --config /home/pi/.cloudflared/config.yml service installPaso 2 del servicio: activa el servicio y comprueba su estado
Inicia cloudflared con systemd y verifica que use la configuración esperada y se mantenga activo.
sudo systemctl enable --now cloudflared
systemctl status cloudflaredPaso 3 del servicio: lee los logs y prueba a reiniciar
Usa los logs para detectar errores en la ruta de configuración, credenciales, DNS y servicio local antes de depender de la ruta.
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflaredLista de comprobación para un túnel pequeño siempre activo
Un túnel doméstico solo es fiable cuando el reinicio, las actualizaciones, los logs y las reglas de acceso también son fiables. Prueba estas partes antes de compartir la URL ampliamente.
Reinicia el Pi y confirma que el nombre de host funciona sin abrir antes una sesión SSH.
Protege las apps privadas con Cloudflare Access, un inicio de sesión fuerte o un límite de red local.
Actualiza el sistema operativo y cloudflared regularmente y verifica el servicio tras las actualizaciones.
No publiques logs ni capturas con IDs de túnel, correos de cuenta, nombres de host o servicios privados.
Haz copias de seguridad de la configuración de forma intencionada, pero protege las credenciales del túnel como secretos.
Esta configuración oculta el origen a los visitantes; no oculta tu cuenta de Cloudflare, el historial del dominio ni la actividad administrativa.
Solución de problemas: fallos que suelen ser prioritarios
| Síntoma | Causa probable | Primera comprobación |
|---|---|---|
| Página de error de Cloudflare en lugar de la app | El túnel está caído, la URL del servicio es incorrecta o la app local no está escuchando. | Ejecuta systemctl status cloudflared, journalctl y curl al servicio local en el Pi. |
| El servicio funciona en primer plano pero no tras la instalación | systemd está usando un directorio home o ruta de configuración diferente. | Instala el servicio de nuevo con la ruta --config explícita a /home/pi/.cloudflared/config.yml. |
| El nombre de host no llega al túnel | La ruta DNS, el nombre de host o la zona Cloudflare no están conectados al túnel nombrado. | Confirma el nombre de host público en Zero Trust y ejecuta cloudflared tunnel info home-pi. |
| La página de administración es accesible públicamente | La regla de ingreso apunta a una herramienta privada sin capa de acceso. | Colócalo detrás de Cloudflare Access o mantén ese servicio solo local. |
Documentación oficial que vale la pena revisar antes de confiar
Mantén abiertas las docs oficiales de Cloudflare mientras configuras el Pi. Nombres de producto, comandos, pantallas y límites pueden cambiar.
Guía de configuración de Cloudflare Tunnel Guía de servicio en Linux Parámetros de ejecución del túnel
Preguntas frecuentes sobre Raspberry Pi y Cloudflare Tunnel
Preguntas frecuentes
¿Es un Raspberry Pi adecuado para Cloudflare Tunnel?
Sí, si buscas un conector siempre activo para un servidor doméstico pequeño o servicio de laboratorio. Consume poco, es predecible y más fácil de mantener online que un portátil diario.
¿Necesito redirección de puertos en el router?
No. Cloudflare Tunnel usa conexiones salientes de cloudflared a Cloudflare, por lo que los visitantes no necesitan una ruta directa entrante a tu router.
¿Debería usar GhostlyShare CLI en su lugar?
Usa GhostlyShare o la CLI ghs para compartir localmente con gestión desde la app, vistas previas, webhooks, scripts o compartidos prolongados que mantienes online. Usa Raspberry Pi con cloudflared si quieres control total sobre archivos de servicio, configuración de ingreso y el sistema operativo.
¿Hace esto que mi servidor doméstico sea anónimo?
No. Puede ocultar el origen a los visitantes, pero los datos de la cuenta de Cloudflare, registros de dominio, pagos, registros, contenido y la actividad del administrador aún pueden vincular el proyecto contigo.