Implementación de código abierto y autoalojable del servidor de control de Tailscale.
Todo dispositivo que queramos que forme parte de la red será un nodo.
Para ver los nodos que tenemos en la red:
headscale nodes list
Creamos un usuario:
headscale user create NOMBRE_USUARIO
headless nodes register --user USUARIO --key CLAVE
En el servidor Headscale:
headscale --user USUARIO preauthkeys create --expiration 1h
A partir de entonces, tendremos 1 hora para indicar esa clave en el dispositivo que queremos registrar
Para listar las rutas:
headscale routes list
Ejemplo de salida:
ID | Machine | Prefix | Advertised | Enabled | Primary 1 | headtailscale | 0.0.0.0/0 | true | false | - 2 | headtailscale | 0.0.0.0/0 | true | false | - 3 | headtailscale | ::/0 | true | false | - 4 | headtailscale | ::/0 | true | false | - 5 | headtailscale | 192.168.0.0/24 | true | false | false 6 | headtailscale | 192.168.0.0/24 | true | false | false 7 | google-pixel-6a | 0.0.0.0/0 | true | false | - 8 | google-pixel-6a | ::/0 | true | false | -
Para habilitarlas:
headscale routes enable -r 1 headscale routes enable -r 7
Resultado:
ID | Machine | Prefix | Advertised | Enabled | Primary 1 | headtailscale | 0.0.0.0/0 | true | true | - 2 | headtailscale | 0.0.0.0/0 | true | false | - 3 | headtailscale | ::/0 | true | true | - 4 | headtailscale | ::/0 | true | false | - 5 | headtailscale | 192.168.0.0/24 | true | false | false 6 | headtailscale | 192.168.0.0/24 | true | false | false 7 | google-pixel-6a | 0.0.0.0/0 | true | true | - 8 | google-pixel-6a | ::/0 | true | true | -