Red definida por software. Tailscale combina las posibilidades de VPN y SD-WAN. Alternativa a ZeroTier
A diferencia del protocolo cerrado de ZeroTier, Tailscale utiliza WireGuard que además tiene menor latencia y es más ligero.
Si no queremos usar el servidor de control de Tailscale, existe una alternativa open source que podemos alojar nosotros mismos: Headscale.
Instalamos la 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
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 <CLAVE_AUTENTICACION>
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 <NUESTRO_USUARIO_EN_HEADSCALE> --key mkey:053c4208d169bc91236c41e6fe4861b4183941f2dc2c07ddb00aa92565fd993f
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