Headscale: la alternativa libre a Tailscale
Índice de contenidos
- Puntos clave
- Qué es Headscale y qué no
- La madurez en 2025: qué ha cambiado
- Arquitectura práctica
- Las ACLs de Tailscale en Headscale
- Dónde sigue siendo menos cómodo que Tailscale
- Mi lectura
- Preguntas frecuentes
- ¿Qué es Headscale y en qué se diferencia de Tailscale?
- ¿Puedo usar los clientes oficiales de Tailscale con Headscale?
- ¿Cuántos nodos soporta Headscale?
Actualizado: 2026-05-03
Headscale es una reimplementación libre del plano de control de Tailscale, activa desde 2020, que con la versión 0.25 ha alcanzado un nivel de madurez donde se puede recomendar sin matices grandes para cargas que no exijan todo el ecosistema comercial. Este post es una guía práctica desde el punto de vista de quien administra una malla de entre cinco y cien nodos y se plantea si merece la pena salir de la plataforma comercial.
Puntos clave
- Headscale reimplementa únicamente el plano de control de Tailscale; los clientes oficiales se conectan sin modificación.
- La versión 0.25.1 estabiliza ACLs completas con formato HuJSON de Tailscale, rutas anunciadas y resolución DNS en mallas grandes.
- El despliegue requiere un binario Go, base de datos (SQLite o PostgreSQL) y un proxy inverso con TLS.
- La integración SSO, Funnel y el ecosistema de analítica son las áreas donde la plataforma comercial sigue siendo superior.
- Para equipos con requisitos de control total del plano de control (sector público, sanitario, defensa), Headscale es la opción más sólida.
Qué es Headscale y qué no
Tailscale tiene dos partes claramente separables:
- Los clientes (tailscale, tailscaled): libres, se instalan en cada nodo.
- El plano de control: el servidor comercial que gestiona identidades, claves, ACLs, descubrimiento y coordinación entre nodos.
El plano de datos (los túneles WireGuard reales) es directo entre nodos y no pasa por la nube de Tailscale.
Headscale, iniciado por Juan Font, reimplementa el plano de control. Los clientes oficiales de Tailscale se conectan a un servidor Headscale en lugar de al servidor comercial sin cambios en el cliente. Lo que Headscale no ofrece es el ecosistema comercial: no hay panel SaaS incluido, no hay integración directa con SSO empresarial lista para usar, ni servicios adicionales como Funnel o MagicDNS completamente equiparables.
La madurez en 2025: qué ha cambiado
La versión 0.24 trajo soporte más completo para ACL con el formato de políticas de Tailscale, permitiendo migrar reglas existentes sin reescribirlas. La 0.25 estabiliza la implementación y corrige problemas con rutas anunciadas y resolución DNS en mallas grandes. La 0.25.1, publicada poco después, incorpora correcciones puntuales y es la versión recomendada para producción.
Hay también varios paneles de administración de terceros: Headscale-ui y Headscale Admin ofrecen gestión de usuarios, claves previas y ACLs desde el navegador. No son tan pulidos como el panel comercial, pero cubren el 80 % de lo que un administrador necesita.
Arquitectura práctica
El componente principal es un binario Go que necesita:
- Una base de datos (SQLite o PostgreSQL).
- Un proxy inverso con TLS delante (Traefik o Caddy).
- Un archivo YAML de configuración con URL pública, DERP map, directivas DNS y políticas de ACL.
La arquitectura interna tiene tres piezas conceptuales. Primero, el mapa de dispositivos y usuarios: cada dispositivo pertenece a un usuario y tiene claves públicas WireGuard que el servidor firma. Segundo, las ACLs, que describen qué dispositivos pueden hablar con cuáles y en qué puertos. Tercero, la coordinación, que mantiene informados a los clientes de cambios en la topología.
Los clientes se conectan por HTTPS y mantienen una conexión de larga duración. El tráfico real entre nodos es WireGuard directo siempre que es posible, con relay DERP solo cuando NAT estricto lo impide. La puesta en marcha de Headscale encaja bien con el patrón de auto-alojamiento con Traefik que ya describimos en esta web.
Las ACLs de Tailscale en Headscale
El lenguaje de políticas de Tailscale, basado en HuJSON, describe usuarios, grupos, etiquetas de dispositivos y reglas entre ellos. Headscale 0.24 y superior admite la sintaxis más reciente casi por completo, con excepciones menores documentadas por el proyecto.
Una ACL típica define grupos (admin, dev, operations), etiqueta los dispositivos (tag:server, tag:laptop) y establece reglas como “los miembros del grupo admin pueden llegar a tag:server en puertos 22 y 443”. Es un modelo de identidad sobre red que reemplaza con ventaja a las reglas por IP.
La parte que más atención pide son las claves previas (preauthkeys): tokens emitidos por el servidor que permiten a un dispositivo registrarse automáticamente. Emitir claves con caducidad corta y ámbito restringido es buena higiene.
Dónde sigue siendo menos cómodo que Tailscale
No es un equivalente total. Hay cuatro áreas donde la plataforma comercial sigue siendo mejor:
- Integración SSO. Tailscale conecta Okta, Google Workspace, Entra o GitHub con un asistente; en Headscale hay que configurar OpenID Connect a mano.
- Funnel. No hay equivalente al servicio que expone servicios internos a Internet con TLS automático.
- Analítica y auditoría. Headscale expone métricas Prometheus y logs estructurados, pero hay que construir el equivalente al panel comercial uno mismo.
- Soporte. No hay acuerdo de nivel de servicio; hay issues del repositorio y una comunidad activa.
Mi lectura
Para un equipo técnico que ya auto-aloja y tiene confianza con PostgreSQL, un proxy inverso y TLS automático, Headscale en 2025 es una alternativa seria sin asterisco grande. Es especialmente útil cuando los requisitos de cumplimiento pasan por tener control total del plano de control, o cuando el coste de la suscripción no está justificado.
Donde seguiría en Tailscale comercial es en empresas donde el tiempo del equipo cuesta más que la suscripción, donde SSO y Funnel son parte del día a día y donde hay presupuesto para externalizar la operación. La decisión no es ideológica, es operacional.
La integración con containerd 2.0 en producción y la segmentación de redes que ofrece Headscale forman un stack de aislamiento coherente para entornos multi-tenant pequeños.
Preguntas frecuentes
¿Qué es Headscale y en qué se diferencia de Tailscale?
Headscale es una reimplementación open source y auto-hospedable del servidor de coordinación de Tailscale. Usa los mismos clientes oficiales, pero el servidor de control lo gestionas tú. Tailscale es el servicio SaaS; Headscale es la alternativa soberana.
¿Puedo usar los clientes oficiales de Tailscale con Headscale?
Sí. Los clientes de Tailscale para Linux, macOS, Windows, iOS y Android pueden apuntar a un servidor Headscale. Solo necesitas cambiar la URL del servidor de login durante la autenticación.
¿Cuántos nodos soporta Headscale?
Headscale no tiene un límite fijo y funciona bien para redes de decenas a cientos de nodos. Para redes corporativas muy grandes, la escalabilidad sigue madurando comparada con la infraestructura de Tailscale.