¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Tailscale
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.
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: Headscale.
Configuración
Clientes
Android
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
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 <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
Docker
<code yaml> 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://hs.tempwin.net --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
</code<
