Tailscale es un servicio de VPN que crea una red privada y segura entre tus dispositivos, sin importar dónde se encuentren. Se basa en el protocolo WireGuard y se enfoca en la simplicidad y la configuración cero, permitiendo crear una red de malla (mesh network) de forma rápida y sencilla.
Funcionalidades clave
- Red de malla (Mesh Network): A diferencia de las VPN tradicionales, Tailscale crea conexiones directas punto a punto entre los dispositivos, lo que reduce la latencia y mejora la velocidad.
- Configuración cero: No requiere abrir puertos en el firewall ni configuraciones complejas. Funciona en la mayoría de las condiciones de red gracias a su capacidad para atravesar NAT.
- Cifrado de extremo a extremo: Toda la comunicación a través de la red Tailscale está cifrada de extremo a extremo.
- Control de acceso (ACLs): Permite definir reglas de acceso para controlar qué dispositivos pueden comunicarse entre sí.
- MagicDNS: Asigna nombres de host a los dispositivos de la red, permitiendo acceder a ellos por su nombre en lugar de su dirección IP.
- Multiplataforma: Compatible con una amplia gama de sistemas operativos, incluyendo Linux, Windows, macOS, Android, iOS y más.
Ventajas
- Facilidad de uso: Es extremadamente fácil de instalar y configurar, incluso para usuarios sin experiencia en redes.
- Rendimiento: Las conexiones directas punto a punto ofrecen un rendimiento superior al de las VPN tradicionales.
- Seguridad: Construido sobre WireGuard, utiliza criptografía moderna y un modelo de seguridad sólido.
- Flexibilidad: Ideal para conectar de forma segura servidores, contenedores, dispositivos personales y servicios en la nube.
- Acceso remoto simplificado: Permite acceder a cualquier dispositivo de tu red privada desde cualquier lugar del mundo.
Docker compose (como sidecar)
Este ejemplo muestra cómo usar Tailscale como un “sidecar” para exponer un servicio (en este caso, un servidor Nginx) a tu red de Tailscale.
services:
nginx:
image: nginx:latest
network_mode: service:tailscale
depends_on:
- tailscale
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: my-nginx-server
environment:
- TS_AUTHKEY=tskey-auth-xxxxxxxxxxxxxxxxxxxx
- TS_STATE_DIR=/var/lib/tailscale
volumes:
- ./tailscale_state:/var/lib/tailscale
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
- SYS_MODULE
restart: unless-stopped
- network_mode: service:tailscale: Hace que el contenedor
nginxuse la red del contenedortailscale. - hostname: El nombre que aparecerá en tu panel de administración de Tailscale.
- TS_AUTHKEY: Una clave de autenticación que puedes generar en el panel de administración de Tailscale. Se recomienda usar una clave reutilizable y efímera.