====== Tailscale ======
Red definida por software. Tailscale combina las posibilidades de VPN y SD-WAN. Alternativa a [[informatica:software:internet:zerotier|ZeroTier]]
* [[https://tailscale.com/|Web oficial]]
A diferencia del protocolo cerrado de ZeroTier, Tailscale utiliza [[informatica:software:internet:wireguard|WireGuard]] que además tiene menor latencia y es más ligero.
===== Caso de uso =====
===== Headscale: servidor de control alternativo =====
Si no queremos usar el servidor de control de Tailscale, existe una alternativa open source que podemos alojar nosotros mismos: [[informatica:software:internet:headscale|Headscale]].
===== Configuración =====
===== Clientes =====
==== Android ====
Instalamos la [[https://play.google.com/store/apps/details?id=com.tailscale.ipn&hl=es_419&gl=ES|aplicación oficial de Tailscale]].
Para usar nuestro servidor Headscale, pulsamos varias veces en los tres puntos que hay arriba a la derecha hasta que aparezca una nueva opción Change server. Indicaremos la dirección de nuestro Headscale y pulsamos en Save. Ahora pulsamos en Sign in with other y se abrirá el navegador con el comando que tenemos que ejecutar en Headscale para registrar el dispositivo Android.
Ejemplo de mensaje en el navegador:
headscale
Machine registration
Run the comando below in the headscale server to add this machine to your network:
headscale nodes register --user USERNAME --key mkey:1234567890abcdef
==== Linux ====
En Arch Linux instalamos el paquete ''tailscale''. Una vez instalado, el servicio se arranca con:
systemctl start tailscaled.service
Para añadir el dispositivo a través de la instancia de Headscale que tengamos autoalojada:
# tailscale up --login-server http://mi-headscale.com
En sistemas sin entorno gráfico o no interactivos, es posible identifficarse usando un //token//:
# tailscale up --login-server http://mi-headscale.com --authkey
Se nos informará de una URL a la que tendremos que acudir:
To authenticate, visit:
http://mi-headscale.com/register/mkey:ad0ab60ddbf9d7062fb709037e4d2d9510e1231eb8200f473c6687089899fe5c
Al acceder, nos indicará el comando que tendremos que introducir en el servidor con Headscale para registrar el dispositivo. Algo como:
headscale nodes register --user --key mkey:053c4208d169bc91236c41e6fe4861b4183941f2dc2c07ddb00aa92565fd993f
==== Docker ====
services:
tailscale:
container_name: tailscale
image: tailscale/tailscale:stable
hostname: headtailscale
volumes:
- ./data:/var/lib/tailscale
- /dev/net/tun:/dev/net/tun
network_mode: "host"
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TS_STATE_DIR=/var/lib/tailscale
- TS_EXTRA_ARGS=--login-server=https://mi.headscale.tld --advertise-exit-node --advertise-routes=192.168.0.0/24 --accept-dn
s=true
- TS_NO_LOGS_NO_SUPPORT=true
# - TS_AUTHKEY=0b06ad8a0fa67e69dca2d2d1232f4b3829cd047ed9d3c851 # generate this key inside your headscale server container
restart: unless-stopped