Configurar Tailscale permite crear una red privada (Tailnet) entre tus dispositivos de forma sencilla. A continuación, te detallo los pasos para la instalación, gestión de DNS y pruebas. [1]
1. Instalación y adición de dispositivos
- Windows:
- Descarga el instalador
.exedesde la página oficial de Tailscale. - Ejecuta el instalador y, una vez finalizado, busca el icono de Tailscale en la bandeja del sistema (system tray).
- Haz clic derecho y selecciona Log in para abrir el navegador, autentícate con tu cuenta (Google, Microsoft, GitHub, etc.) y el dispositivo se añadirá automáticamente a tu red.
- Descarga el instalador
- Ubuntu:
- Ejecuta el script de instalación automática:
curl -fsSL https://tailscale.com/install.sh | sh. - Inicia el servicio y vincula el dispositivo:
sudo tailscale up. - Copia el enlace que aparece en la terminal, pégalo en tu navegador y autoriza el acceso. [2, 3, 4, 5, 6, 7]
- Ejecuta el script de instalación automática:
2. Deshabilitar MagicDNS (DNS de Tailscale)
Si prefieres usar tus propios servidores DNS o evitar que Tailscale gestione los nombres de dominio de la red:
- Windows: Mantén presionada la tecla SHIFT mientras haces clic derecho en el icono de Tailscale en la bandeja del sistema. Desmarca la opción Use Tailscale DNS.
- Ubuntu (CLI): Ejecuta el siguiente comando para dejar de aceptar la configuración DNS de la red:
tailscale set --accept-dns=false. - Consola de Administración: También puedes desactivar MagicDNS globalmente para todos los dispositivos desde la pestaña DNS en el Panel de Administración de Tailscale. [4, 8, 9]
3. Configurar Ubuntu para resolver nombres mediante Pi-hole
Para que tus dispositivos usen un Pi-hole (ya sea local o remoto en la Tailnet) para resolver DNS:
- Instala Tailscale en el servidor Pi-hole: Sigue los pasos de instalación de Ubuntu mencionados arriba.
- Configura Pi-hole: En la interfaz web de Pi-hole, ve a Settings > DNS > Interface settings y selecciona Permit all origins (o “Respond only on interface tailscale0” si prefieres más restricción).
- Configura Tailscale para usar Pi-hole:
- En el Panel de Administración de Tailscale, ve a la pestaña DNS.
- En Nameservers, haz clic en Add nameserver > Custom.
- Introduce la IP de Tailscale (empieza por 100.x.y.z) de tu servidor Pi-hole.
- Activa la opción Override local DNS si quieres forzar a todos los clientes a usar Pi-hole.
- En el cliente Ubuntu: Asegúrate de que acepte la configuración DNS con
sudo tailscale up --accept-dns=true. [6, 10, 11, 12, 13]
4. Pruebas de conexión
Para verificar que tus dispositivos están comunicándose correctamente:
- Estado de la red: Ejecuta
tailscale statusen Ubuntu para ver una lista de todos los dispositivos conectados y sus IPs de Tailscale. - Prueba de ping específica: Usa
tailscale ping <IP-o-Nombre-del-dispositivo>. Este comando es mejor que el ping estándar porque te indica si la conexión es directa o a través de un repetidor (DERP). - Prueba de DNS: En Ubuntu, verifica que Pi-hole está resolviendo nombres ejecutando
nslookup google.com. El “Server” que responda debería ser la IP de Tailscale de tu Pi-hole. [13, 14, 15]
Para configurar un Exit Node (Nodo de Salida), lo que harás es que un dispositivo de tu red (por ejemplo, el servidor con Ubuntu o tu PC en casa) actúe como una “pasarela”. Al activarlo, todo el tráfico de internet de tus otros dispositivos (celular, laptop en el aeropuerto) saldrá a través de ese nodo, como si fuera una VPN personal.
Aquí tienes los pasos:
1. Configurar el Servidor (Ubuntu) como Exit Node
En la máquina que servirá como salida a internet:
- Habilitar el reenvío de IP (IP Forwarding): Esto permite que Linux pase el tráfico de una red a otra.
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf sudo sysctl -p /etc/sysctl.d/99-tailscale.conf - Anunciar el nodo:
sudo tailscale up --advertise-exit-node
2. Configurar el Servidor (Windows) como Exit Node
Si prefieres que tu PC con Windows sea el nodo:
- Haz clic derecho en el icono de Tailscale en la barra de tareas.
- Ve a Exit Node.
- Selecciona Run as Exit Node. (Es posible que te pida instalar un controlador de red adicional, acepta la instalación).
3. Autorizar el nodo en el Panel de Tailscale
Por seguridad, Tailscale no activa el nodo automáticamente hasta que tú lo apruebes:
- Entra al Panel de Administración (Machines).
- Busca el dispositivo que acabas de configurar. Verás una etiqueta que dice “Exit Node”.
- Haz clic en los tres puntos (
...) junto al dispositivo > Edit route settings. - Marca la casilla Use as exit node y guarda los cambios.
4. Usar el Exit Node en tus Clientes
Ahora, desde el dispositivo que está fuera de casa (el que quiere navegar seguro):
- En Windows: Clic derecho en Tailscale > Exit Node > Selecciona el nombre de tu servidor Ubuntu o Windows.
- En Ubuntu (CLI): Ejecuta
tailscale set --exit-node=<IP-del-nodo>. - En Android/iOS: Abre la app, toca el icono de los tres puntos o configuración y busca la opción Exit Node para seleccionar tu servidor.
¿Cómo saber si funciona?
- Antes de activarlo, entra en icanhazip.com y anota tu IP.
- Activa el Exit Node.
- Refresca la página; ahora debería aparecer la IP pública de tu casa (donde está el nodo), sin importar si estás conectado en una cafetería o en otra ciudad.
Para lograr que solo ciertos dominios específicos (o rangos de red) pasen por tu túnel mientras el resto de tu tráfico usa tu internet local, Tailscale utiliza Split Tunneling.
Sin embargo, a diferencia de un “Exit Node” (que envía todo el tráfico), para dominios específicos usaremos una combinación de Subnet Routers y App-specific DNS.
Aquí tienes cómo configurarlo:
1. Configurar un Subnet Router (Rutas específicas)
Si quieres acceder a una red específica (por ejemplo, los dispositivos de tu oficina o casa) sin enviar todo el tráfico de internet, usa un Subnet Router.
- En Ubuntu:
Si tu red local es192.168.1.0/24, dile a Tailscale que quieres compartir esa ruta:sudo tailscale up --advertise-routes=192.168.1.0/24 - En el Panel de Tailscale:
Ve a Machines > clic en los...de tu servidor > Edit route settings > Aprueba la ruta192.168.1.0/24.
2. Configurar “Global Nameservers” para dominios específicos
Si lo que quieres es que nombres de dominio (como
mi-app.local o servidor.interno) se resuelvan a través de tu Pi-hole o servidor interno:- Ve al Panel de Administración > DNS.
- Busca la sección Nameservers y haz clic en Add nameserver > Custom.
- Ingresa la IP de Tailscale de tu Pi-hole.
- IMPORTANTE (Split DNS): En lugar de marcar “Global”, selecciona la opción Restrict to domain.
- Escribe el dominio que quieres que pase por ahí (ejemplo:
miempresa.comocasa.arpa).
Resultado: Cuando escribas
google.com, se usará tu internet normal. Cuando escribas ://miempresa.com, Tailscale enviará la consulta a tu Pi-hole/DNS privado.3. Usar “SOCKS5 Proxy” (Para navegadores)
Si quieres que solo el navegador (Chrome o Firefox) use el Exit Node mientras el resto de la PC no lo hace:
- En tu terminal de Ubuntu/Windows ejecuta:
tailscale up --socks5-server=127.0.0.1:1080 - Instala una extensión como FoxyProxy en tu navegador.
- Configura el proxy como
SOCKS5, host127.0.0.1, puerto1080.
Resumen de Diferencias:
- Exit Node: Todo el tráfico (YouTube, Netflix, etc.) sale por tu casa.
- Subnet Router: Solo el tráfico hacia IPs específicas (192.168.x.x) va por Tailscale.
- Split DNS: Solo las consultas a ciertos dominios van a tu Pi-hole.