FENCODE
Infraestructura & DevOps
Self-Hosted

Tailscale: cómo conectamos todos nuestros servidores sin abrir un solo puerto

Qué es Tailscale, cómo funciona, cómo lo usamos en fencode para conectar servidores en Coolify sin abrir puertos al internet, y por qué es mejor que una VPN tradicional para equipos pequeños.

Jesús Blanco

Jesús Blanco

Autor

11 min
Tailscale: cómo conectamos todos nuestros servidores sin abrir un solo puerto

Si tienes más de un servidor y quieres que se comuniquen entre sí de forma segura, la respuesta tradicional siempre fue la misma: configurar un servidor VPN, abrir puertos en el firewall, gestionar certificados, y rezar para que todo funcione cuando alguien se conecta desde una red diferente.

Nosotros lo hicimos así durante un tiempo. Y después descubrimos Tailscale.

Hoy todos nuestros servidores, incluyendo el servidor principal con Coolify, la mini PC que mencionamos en el artículo de infraestructura privada, y los dispositivos del equipo, están conectados en una red privada sin que ninguno tenga un puerto abierto al internet público. Sin VPN tradicional, sin configuración de firewall, sin certificados que gestionar manualmente.

Este artículo explica cómo funciona Tailscale, cómo lo configuramos nosotros, y cuándo tiene sentido usarlo.


Qué es Tailscale exactamente

Tailscale es una herramienta de red que crea una red privada cifrada entre todos tus dispositivos y servidores, sin importar dónde estén físicamente. Puede ser tu laptop en casa, un VPS en un datacenter, un servidor en la oficina, o una Raspberry Pi en otra ciudad. Tailscale los conecta a todos como si estuvieran en la misma red local.

Técnicamente funciona sobre WireGuard, el protocolo de VPN moderno que está integrado directamente en el kernel de Linux desde la versión 5.6. WireGuard es conocido por ser extremadamente rápido, ligero y con un código base pequeño y auditado, lo que lo hace más seguro que protocolos más viejos como OpenVPN o IPSec.

La diferencia entre Tailscale y una VPN tradicional es que Tailscale crea conexiones punto a punto entre dispositivos directamente, sin pasar por un servidor central. Tus datos viajan directamente de un dispositivo al otro, cifrados de extremo a extremo. Tailscale solo gestiona la coordinación inicial para establecer esas conexiones, no el tráfico en sí.


Por qué no necesitas abrir puertos

Esta es la parte que más le llama la atención a la gente cuando descubre Tailscale.

En una arquitectura de red normal, si quieres acceder a un servicio en tu servidor desde fuera de tu red local, tienes que abrir un puerto en el firewall y exponer ese servicio al internet. Eso es un riesgo de seguridad real, especialmente si el servicio no está diseñado para estar expuesto públicamente.

Tailscale resuelve esto con una técnica llamada NAT traversal. Cuando dos dispositivos de tu Tailscale network, o tailnet, quieren comunicarse, Tailscale establece una conexión directa entre ellos usando una serie de técnicas para atravesar los NAT de los routers, sin necesidad de que ninguno de los dos abra un puerto al internet.

Si la conexión directa no es posible por alguna restricción de red muy estricta, Tailscale tiene servidores de relay llamados DERP que actúan de intermediarios, pero incluso en ese caso el tráfico va cifrado de extremo a extremo y los servidores de Tailscale no pueden leerlo.

El resultado práctico es que puedes acceder a cualquier servicio en cualquier servidor de tu tailnet desde cualquier lugar, sin abrir un solo puerto en ningún firewall.


Cómo lo usamos en fencode

Tenemos dos servidores principales: el servidor de producción donde corre Coolify con todos nuestros servicios, y la mini PC con Ryzen 4500U que configuramos recientemente para correr agentes de IA como nanobot.

Antes de Tailscale, para acceder al dashboard de Coolify desde fuera de la oficina teníamos que o bien exponer el puerto al internet con protección extra, o conectarnos primero a una VPN. Con Tailscale, ambos servidores están en nuestra tailnet y podemos acceder a cualquier servicio en cualquiera de ellos directamente desde cualquier dispositivo del equipo, sin configurar nada adicional.

El caso de uso más frecuente es acceder al dashboard de Coolify desde el móvil o desde una laptop fuera de la oficina. Con Tailscale, simplemente abrimos el navegador y accedemos a la IP de Tailscale del servidor, que siempre es la misma independientemente de desde dónde nos conectemos.

También lo usamos para conectar la mini PC al servidor principal. Como explicamos en el artículo de cómo agregar un segundo servidor en Coolify, necesitamos que ambos servidores se comuniquen entre sí para que Coolify pueda gestionar servicios en la mini PC. Con Tailscale esa comunicación es completamente privada y cifrada, sin exponer nada al internet.


Instalación en Linux: menos de 5 minutos

La instalación de Tailscale en Ubuntu o cualquier distribución de Linux moderna es un solo comando:

bash
      curl -fsSL https://tailscale.com/install.sh | sh
    

Después de instalar, autenticas el dispositivo con tu cuenta de Tailscale:

bash
      sudo tailscale up
    

Ese comando te da un enlace para autenticar desde el navegador. Una vez autenticado, el dispositivo aparece en tu tailnet y tiene una IP de Tailscale asignada automáticamente, normalmente en el rango 100.x.x.x.

Para ver la IP de Tailscale del dispositivo actual:

bash
      tailscale ip
    

Y para ver todos los dispositivos de tu tailnet y su estado:

bash
      tailscale status
    

En macOS e iOS la instalación es desde la App Store. En Windows desde el instalador oficial. En todos los casos el proceso es igual de simple.


MagicDNS: nombres en lugar de IPs

Una de las features más útiles de Tailscale es MagicDNS. En lugar de recordar la IP de Tailscale de cada servidor, puedes acceder a ellos por nombre.

Si tu servidor se llama servidor-coolify en Tailscale, puedes acceder a él desde cualquier otro dispositivo de tu tailnet simplemente usando servidor-coolify como hostname. Tailscale resuelve automáticamente ese nombre a la IP correcta.

Esto es especialmente útil cuando tienes varios servidores y no quieres memorizar IPs para cada uno. Además, la IP de Tailscale de un dispositivo nunca cambia mientras esté en tu tailnet, así que los nombres son estables.

Para activar MagicDNS, ve al admin console de Tailscale en login.tailscale.com y actívalo en la sección DNS. No requiere ninguna configuración adicional en los dispositivos.


Cuánto cuesta y qué incluye el plan gratuito

Tailscale tiene un plan Personal gratuito para uso individual, Personal Plus a $5 al mes, Starter a $6 por usuario al mes y Premium a $18 por usuario al mes.

El plan gratuito Personal incluye hasta 3 usuarios y 100 dispositivos, lo que es más que suficiente para un equipo pequeño o para uso personal. Si necesitas más usuarios o features avanzados como SSO o controles de acceso por grupos, los planes de pago tienen sentido.

Para la mayoría de developers y equipos pequeños que quieren conectar sus servidores de forma segura, el plan gratuito es perfectamente suficiente. Nosotros llevamos meses usándolo y no hemos necesitado pagar nada.

El plan gratuito es gratuito porque Tailscale mantiene sus costos de escalado bajos y, a diferencia de otros modelos freemium, tú y tus datos no son el producto. El negocio de Tailscale son los planes enterprise para empresas grandes, y el plan gratuito sirve para generar adopción y recomendaciones.


Tailscale vs VPN tradicional

La diferencia más importante no es técnica sino práctica: el tiempo que tardas en configurar cada uno.

Configurar una VPN tradicional como WireGuard o OpenVPN de forma manual requiere gestionar claves, configurar el servidor, distribuir configuraciones a cada cliente y gestionar el acceso de cada usuario. No es complicado si tienes experiencia, pero tiene fricción y hay cosas que pueden salir mal.

Tailscale elimina toda esa gestión. No hay servidor VPN que mantener, no hay claves que distribuir manualmente, no hay configuración que replicar en cada dispositivo. El auth se hace con tu cuenta de Google, GitHub o Microsoft, y Tailscale gestiona todo lo demás.

La contrapartida es que Tailscale tiene un componente centralizado para la coordinación, lo que significa que dependes de que su servicio esté disponible para establecer nuevas conexiones. Las conexiones existentes siguen funcionando si Tailscale tiene una interrupción, pero conectar un dispositivo nuevo requiere que el servicio esté activo.

Para la mayoría de equipos pequeños y desarrolladores, ese tradeoff vale la pena. Para organizaciones con requisitos de seguridad muy estrictos que no pueden depender de un servicio externo, existe Headscale, una implementación open source del servidor de coordinación de Tailscale que puedes alojar tú mismo.


Casos de uso más frecuentes

Acceso remoto a servidores sin exponer puertos. El más obvio y el que más usamos. Puedes acceder al panel de Coolify, a bases de datos, a servicios internos, o a cualquier puerto de cualquier servidor de tu tailnet sin que ese puerto esté expuesto al internet.

Conectar servidores entre sí de forma privada. Si tienes un servidor de base de datos y un servidor de aplicación, puedes conectarlos por Tailscale para que se hablen entre sí sin exponer la base de datos al internet público.

Acceso desde móvil a la infraestructura. Desde el móvil con la app de Tailscale instalada tienes acceso a toda tu tailnet. Puedes revisar logs, acceder a dashboards o hacer SSH a un servidor desde cualquier lugar.

Compartir un servidor con colaboradores temporales. Puedes invitar a alguien a tu tailnet con acceso limitado a ciertos dispositivos usando las ACLs de Tailscale, y revocar ese acceso cuando ya no lo necesites.


Artículos relacionados

Tags:

#Redes domésticas
#Self-hosted
#Seguridad en red
#Infraestructura privada
#Infraestructura
#DevOPS

¿Listo para Transformar tu Proyecto?

Si este artículo te ha sido útil y buscas llevar tu presencia digital al siguiente nivel, nuestro equipo de expertos está preparado para ayudarte.

Preguntas Frecuentes del Artículo

Resolvemos las dudas específicas sobre este tema.

Artículos relacionados