Tailscale è un software che permette di creare in pochi click una rete virtuale privata tra dispositivi senza bisogno di installare server VPN o aprire porte nel vostro router, risulta particolarmente utile quando non si può mettere le mani in una rete ma si ha bisogno comunque di accedere ad un dispositivo o servizio da remoto.
Tailscale è installabile su molte piattaforme come Linux, Windows, Mac e Smart TV, ci sono casi però in cui non si vuole o non si può installare il client in ogni dispositivo che si vogliono raggiungere ma si vuole accedere ad una intera rete da remoto.
Tailscale permette di installare un Subnet router, cioè un gateway che mette in comunicazione una “Tailnet” con una rete fisica.
Io installerò un Subnet router in un container LXC con Debian in un nodo Proxmox e per farlo utilizzerò questo script preso dalla raccolta di Proxmox VE Helper-Scripts:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/add-tailscale-lxc.sh)"
Lo script vi chiederà in quale container installare tailscale.
Una volta installato possiamo seguire le istruzioni sulla documentazione di Tailscale e dare questi comandi per abilitare IP Forwarding
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
e avviare tailscale passando tra i parametri la classe della rete che vogliamo raggiungere da remoto
sudo tailscale up --advertise-routes=192.168.2.0/24
Dal pannello di controllo sarà necessario selezionare il nostro dispositivo “subnet”, selezionare la sezione “Routing Settings”, cliccare su “Edit route settings” e approvare la route verso la nostra classe
In questo modo i dispositivi nella nostra rete riceveranno richieste dalla rete di Tailscale e risponderanno al gateway in modo trasparente.
Mi è capitato di dover installare dei piccoli sistemi con Proxmox e pochi servizi, e in questo modo si ha accesso a tutta la rete senza dover installare Tailscale su ogni dispositivo.
Per chi vuole approfondire il funzionamento Tailscale usa il NAT Traversal per mettere in comunicazione i dispositivi direttamente tra di loro.