La pregunta “Tailscale, WireGuard o Cloudflare Tunnel” aparece mucho cuando empiezas a querer entrar al homelab desde fuera. También aparece cuando ya has probado varias cosas, tienes subdominios repartidos, alguna regla NAT que no recuerdas bien y una sensación ligera de que el router está empezando a tener demasiada personalidad.
Yo no lo plantearía como una pelea de herramientas. Tailscale, WireGuard y Cloudflare Tunnel resuelven problemas parecidos desde ángulos distintos. El error es elegir una y empujarla para todos los casos. Acaba pasando lo de siempre: un panel privado publicado como si fuera una web, una VPN demasiado ancha para un familiar que solo quería ver fotos, o un túnel cómodo que termina metiendo medio homelab en Internet porque total, ya estaba montado.
Mi forma de decidir es más simple: quién necesita acceder, desde dónde, durante cuánto tiempo y a qué nivel de riesgo.
Este artículo va dentro de la ruta de red y acceso remoto. Complementa la guía anterior sobre Cloudflare Tunnel, Tailscale y VPN clásica para exponer servicios y también encaja con Tailscale para familia. Aquí quiero bajar al barro: administración, móviles, familia, servicios públicos, emergencias y esas decisiones pequeñas que luego te ahorran una tarde fea.
mi respuesta corta#
Si es un panel de administración, Tailscale o WireGuard. No Cloudflare Tunnel abierto al mundo.
Si es una web pública, Cloudflare Tunnel o un reverse proxy bien mantenido.
Si es acceso personal desde portátil y móvil, Tailscale.
Si quiero control directo, pocos peers y cero dependencia de una capa de coordinación externa, WireGuard.
Si alguien de fuera necesita usar una aplicación web sin instalar VPN, Cloudflare Tunnel con Access puede ser muy cómodo.
Si necesito conectar redes completas, Tailscale con subnet router o WireGuard site to site, pero con calma. Anunciar una subred entera porque el botón está ahí es una forma elegante de abrir más de la cuenta.
La matriz rápida sería esta:
| Caso | Opción que elegiría | Por qué |
|---|---|---|
| SSH, Proxmox, NAS, Grafana, Portainer | Tailscale | Acceso privado sin abrir puertos |
| Acceso remoto técnico muy controlado | WireGuard | Menos capas y más control manual |
| Web pública o proyecto que debe ver cualquiera | Cloudflare Tunnel | Publicación sencilla sin NAT entrante |
| App familiar web sin instalar clientes | Cloudflare Tunnel + Access | Menos fricción para usuarios no técnicos |
| Móvil propio, portátil, tablet | Tailscale | Funciona bien con dispositivos que cambian de red |
| Conectar dos casas o sedes pequeñas | Tailscale subnet router o WireGuard | Depende de cuánto control quieras |
| Acceso de emergencia independiente | WireGuard o acceso local documentado | Mejor tener una vía que no dependa de una sola cuenta externa |
Tailscale: lo que uso cuando quiero entrar yo#
Tailscale me parece la opción más agradecida para un homelab doméstico. Usa WireGuard por debajo, pero quita de en medio gran parte del trabajo manual: intercambio de claves, NAT traversal, coordinación entre peers, nombres, móviles que cambian de red y esa pequeña colección de detalles que convierten una VPN casera en una libreta de notas.
Para mis dispositivos, es difícil justificar algo más incómodo. Portátil, móvil, tablet, algún servidor y listo. Entro a paneles internos sin abrir puertos. Puedo usar MagicDNS si me compensa. Puedo añadir ACLs si la tailnet empieza a crecer. Puedo tener un subnet router si necesito llegar a equipos que no ejecutan Tailscale.
La documentación de Tailscale sobre subnet routers explica justo ese caso: un dispositivo dentro de la red anuncia una subred para que otros dispositivos de la tailnet puedan llegar a ella. Es muy potente. También conviene tratarlo con respeto, porque cambia el alcance de la VPN. Ya no entras solo a un servidor. Entras a una red.
Para casa, Tailscale me encaja en:
- Administración de servidores.
- Acceso a paneles internos.
- SSH desde fuera.
- Home Assistant si lo uso yo o alguien que acepta instalar la app.
- NAS, dashboards, monitorización y herramientas de mantenimiento.
- Acceso remoto temporal a un equipo concreto.
Lo que vigilaría:
- No dejar todos los dispositivos con acceso a todo por pereza.
- Revisar ACLs cuando entren más usuarios.
- No anunciar subredes enteras sin necesidad.
- No confundir exit node con acceso a servicios internos.
- Tener una forma alternativa de entrar si la cuenta, el proveedor o el dispositivo de coordinación dan guerra.
Tailscale también tiene exit nodes, documentados en su guía de exit nodes. Sirven para enrutar todo el tráfico de un dispositivo por otro nodo de la tailnet. Eso está muy bien para algunos viajes, redes poco confiables o casos de soporte. No lo usaría como sustituto mental de un subnet router. Son cosas distintas.
Mi opinión: para el 80 por ciento del acceso remoto personal en casa, Tailscale gana por comodidad sin sentirse cutre.
WireGuard: cuando prefiero saber exactamente qué está pasando#
WireGuard puro sigue siendo una maravilla. Rápido, limpio y bastante fácil de entender si ya tienes algo de red en la cabeza. La página oficial lo define como una VPN basada en intercambio de claves públicas, con una interfaz deliberadamente pequeña. La guía rápida de WireGuard es muy directa y se nota que la herramienta no intenta ser una plataforma enorme.
¿Entonces por qué no usar WireGuard siempre?
Porque la parte difícil en casa rara vez es el túnel. Lo difícil es operar el conjunto: claves, clientes, rutas, DNS, cambios de móvil, revocación, familiares, redes con CG-NAT, viajes, portátiles que duermen, reglas de firewall y documentación.
WireGuard me gusta cuando:
- Hay pocos clientes.
- Quiero control total.
- Tengo IP pública o un VPS que hace de punto fijo.
- Estoy conectando dos redes de forma estable.
- No quiero depender de una capa de coordinación externa.
- El acceso lo van a usar personas técnicas.
- Quiero una vía de emergencia más simple que mi stack principal.
También lo veo muy bien dentro de OPNsense o pfSense, donde el firewall ya es el centro de red. Ahí WireGuard tiene sentido como parte de la infraestructura, con rutas claras y reglas visibles.
Donde me gusta menos:
- Para dar acceso a familiares no técnicos.
- Para móviles que cambian mucho y necesitan cero mantenimiento.
- Para compartir algo durante una semana.
- Para entornos donde no quiero abrir ni mantener un puerto UDP.
WireGuard no es difícil, pero sí exige disciplina. Si la tienes, perfecto. Si no, Tailscale te da una versión más cómoda de la misma idea, con el precio de depender de su plano de coordinación y de aceptar su modelo.
Mi opinión: WireGuard es la opción que quiero tener documentada aunque use Tailscale a diario. Como puerta de emergencia y como solución controlada, sigue siendo muy buena.
Cloudflare Tunnel: publicar web sin abrir el router#
Cloudflare Tunnel resuelve otra necesidad. No es mi primera elección para entrar a administrar casa. Es mi elección cuando quiero publicar una aplicación web sin abrir puertos entrantes en el router.
La documentación actual de Cloudflare Tunnel separa los casos de aplicaciones públicas de los escenarios de Zero Trust y acceso privado. Ese matiz importa. Para una web pública, el túnel permite que cloudflared cree una conexión saliente desde tu red hacia Cloudflare. Desde fuera, el tráfico llega por Cloudflare y no por una regla NAT directa hacia tu casa.
Eso es comodísimo para:
- Webs públicas.
- Demos.
- Formularios.
- Endpoints concretos de automatización.
- Apps web que quieres enseñar a terceros.
- Servicios con Cloudflare Access delante.
Cloudflare Tunnel reduce dolores habituales: IP dinámica, CG-NAT, certificados, puertos abiertos y exposición directa del router. Pero no elimina la responsabilidad de lo que publicas. Si pones delante una app vieja, mal configurada o con permisos torpes, el túnel no la convierte en segura. Solo cambia el camino.
Para familia puede ser útil. Imagina una app web que alguien necesita abrir desde el móvil sin instalar nada. Puedes poner Cloudflare Access, limitar por correo y evitar meter a esa persona en tu VPN. Para una app puntual o semi privada, me parece razonable.
No lo usaría para:
- Proxmox.
- Portainer.
- Paneles de NAS.
- Bases de datos.
- Consolas de administración.
- Routers, firewalls o dashboards internos sensibles.
Sí, puedes poner Access delante. Y sí, puede quedar bastante protegido. Pero si algo no necesita ser web pública, prefiero que no tenga ruta pública. Un panel administrativo dentro de Tailscale me deja más tranquilo.
Mi opinión: Cloudflare Tunnel es excelente para publicar cosas. No debería convertirse en el atajo para publicar todo.
el caso familia#
La familia cambia la decisión porque añade fricción real. A una persona técnica le puedes decir “instala Tailscale, autentica este dispositivo y entra por este nombre”. A otra persona quizá no.
Para acceso familiar yo separaría tres casos.
Primero, servicios muy personales y frecuentes. Fotos, biblioteca digital, alguna app de casa. Si la persona la usa mucho y puedes instalar Tailscale sin convertirte en soporte continuo, Tailscale funciona muy bien. En ese caso, el servicio sigue privado y solo entran dispositivos autorizados.
Segundo, servicios web que se comparten de vez en cuando. Aquí Cloudflare Tunnel con Access puede ser más cómodo. La persona abre una URL, inicia sesión y no toca nada de VPN. Para compartir algo temporal, suele ganar.
Tercero, servicios críticos. Contraseñas, documentos importantes, paneles de administración y acceso de emergencia. Aquí no buscaría solo comodidad. Buscaría un plan claro, explicado y probado. Ya lo desarrollé en el manual de emergencia para un homelab familiar, porque el problema también toca convivencia.
No metería a la familia en una VPN que da acceso amplio a toda la red si solo necesitan una app. Tampoco publicaría una app sensible porque instalar una VPN da pereza. Hay un punto medio: permisos mínimos, acceso por servicio y documentación sencilla.
servicios públicos frente a servicios privados#
Esta distinción parece obvia hasta que empiezas a mezclar subdominios.
Un servicio público es algo que tiene sentido que exista en Internet: una web, un blog, una landing, un formulario, una documentación pública, un endpoint concreto. Cloudflare Tunnel encaja.
Un servicio privado es algo que solo necesitas tú o un grupo pequeño: dashboards, SSH, Home Assistant, paneles de administración, NAS, métricas, herramientas internas. Tailscale o WireGuard encajan mejor.
Un servicio híbrido es el que da problemas. Por ejemplo, Immich. Puede ser privado, familiar o casi público si compartes álbumes. O Home Assistant, que puede ser personal, familiar o de acceso externo constante. Ahí no hay receta universal. Hay que decidir por usuario y por riesgo.
Para mí la pregunta útil es: si esta URL termina indexada, compartida o atacada, ¿me parece aceptable?
Si la respuesta es no, no debería depender solo de que el subdominio sea difícil de adivinar.
conectar redes enteras#
Conectar redes completas es donde mucha gente se emociona demasiado rápido.
Tailscale subnet router permite anunciar una red local. WireGuard site to site permite unir dos redes con rutas. Cloudflare tiene productos Zero Trust para acceso privado y túneles orientados a redes. Todo eso puede ser útil.
Pero en casa intentaría evitar que “puedo llegar a todo” sea el comportamiento por defecto.
Para conectar una segunda casa, una oficina pequeña o el domicilio de un familiar, pensaría antes:
- Qué dispositivos necesitan acceso.
- Qué puertos hacen falta.
- Si hay solapamiento de rangos privados.
- Quién administra cada lado.
- Cómo se revoca el acceso.
- Qué pasa si una red se compromete.
A veces es mejor instalar Tailscale en dos equipos concretos que unir dos LANs completas. A veces necesitas site to site porque hay impresoras, cámaras, NAS o servicios que no admiten cliente. Pero cada ruta nueva debería tener una razón.
La documentación de Tailscale sobre site to site entra en esos escenarios. Merece leerla antes de anunciar subredes con alegría.
acceso de emergencia#
Me gusta que el acceso diario sea cómodo. No me gusta que el acceso de emergencia dependa de una sola pieza.
Si uso Tailscale para todo, quiero saber qué hago si mi cuenta no entra, si un dispositivo queda bloqueado o si el nodo que anuncia la subred está apagado.
Si uso Cloudflare Tunnel para publicar una app, quiero saber si hay acceso local o privado si Cloudflare cae o si una política de Access se rompe.
Si uso WireGuard, quiero que las claves y configuraciones estén guardadas de forma recuperable, no solo en una carpeta perdida de mi portátil.
Mi diseño ideal tendría:
- Tailscale para acceso diario.
- WireGuard o acceso local documentado como vía secundaria.
- Cloudflare Tunnel solo para lo que debe ser web.
- DNS interno que no dependa de una sola pieza rara.
- Un manual corto de qué hacer si no entra nada.
No hace falta montar una arquitectura paranoica. Hace falta evitar el bloqueo absurdo: necesitar acceder al gestor de contraseñas para arreglar la VPN que da acceso al gestor de contraseñas. Esa clase de círculo vicioso es más común de lo que debería.
cómo lo montaría en una casa normal#
Si hoy tuviera que plantear acceso remoto para un homelab doméstico razonable, empezaría así.
Primero, Tailscale en mis dispositivos personales y en uno o dos servidores estables. Nada de anunciar toda la red el primer día. Probaría acceso a SSH, NAS, Home Assistant y paneles internos por nombre de Tailscale.
Segundo, ACLs básicas cuando haya más de una persona o más de una categoría de equipo. No hace falta una política enorme. Solo evitar que todo el mundo pueda hablar con todo.
Tercero, Cloudflare Tunnel para webs públicas o servicios muy concretos que deban abrirse desde fuera sin VPN. Uno por uno, con Access cuando tenga sentido.
Cuarto, WireGuard documentado como alternativa si hay un firewall adecuado, un VPS puente o una necesidad real de control directo.
Quinto, DNS claro. Nombres internos para lo interno, nombres públicos para lo público y nada de depender de memoria para saber dónde vive cada cosa.
Sexto, revisión periódica de accesos. Usuarios, dispositivos viejos, rutas anunciadas, túneles activos y servicios que ya no deberían estar publicados.
La revisión es donde se descubren los pecados. Un portátil antiguo que aún entra. Un túnel de prueba que sigue vivo. Un subnet router que anunciaba más de lo necesario. Un acceso temporal que se quedó permanente porque daba pereza quitarlo. Internet no perdona la pereza, que ya es bastante mala gente.
errores que intentaría evitar#
El primero: publicar paneles de administración por comodidad.
El segundo: usar Tailscale sin mirar ACLs cuando la tailnet crece.
El tercero: anunciar una subred completa cuando solo hacía falta entrar a un servidor.
El cuarto: creer que Cloudflare Access permite publicar cualquier cosa sin pensar.
El quinto: montar WireGuard manual y no documentar claves, rutas ni clientes.
El sexto: no tener plan si DNS falla.
El séptimo: dar acceso familiar demasiado amplio para resolver un caso pequeño.
El octavo: no revisar dispositivos antiguos autorizados.
Son errores normales. Precisamente por eso conviene tener un criterio antes de acumular herramientas.
mi decisión final#
Tailscale para acceso privado diario. WireGuard para control directo, site to site pequeño o emergencia. Cloudflare Tunnel para publicar aplicaciones web que deban salir fuera.
No buscaría una herramienta única. Buscaría puertas distintas para riesgos distintos.
El homelab doméstico funciona mejor cuando lo administrativo queda privado, lo público está acotado y lo familiar no exige que nadie aprenda redes para ver una foto o encender una luz. Parece menos espectacular que una arquitectura llena de capas, pero se mantiene mejor una noche cualquiera, que es cuando estas decisiones importan.