Tailscale: nodo d’uscita e subnet della rete

| |

Rapidi appunti sulla questione Exit Node e Subnet utilizzabili per avere pieno accesso alla rete locale lì dove Tailscale non può essere installato ovunque. Se non sai cos’è Tailscale è perché forse non hai letto il mio vecchio articolo in merito: Tailscale: WireGuard alla portata di chiunque.

Ciò detto – come anticipato – si tratta di rapidi appunti di cui potrei ancora avere bisogno in futuro, o che qualcuno potrebbe trovare utili per configurare rapidamente un noto d’uscita in una rete che non è necessariamente la principale in cui si trovano gli apparati con il client Tailscale installato. Nel mio caso si tratta di una seconda location con un secondo NAS che prende dati dal primo, su quel NAS (Synology) ho installato il client ufficiale di Tailscale e contemporaneamente ho attivato un nodo d’uscita con una subnet che corrisponde all’intera rete locale del posto, questo mi consente di arrivare a qualsiasi risorsa installata presso quel luogo, molto comodo per amministrare PC / stampanti / ecc.

Nodo d’uscita

La documentazione ufficiale per impostare un nodo d’uscita partendo da un client Tailscale si trova all’indirizzo tailscale.com/kb/1103/exit-nodes. Volendola fare breve, e trattandosi di Synology, mi è bastato lanciare l’eseguibile di tailscale da terminale (anche se già in esecuzione) facendogli annunciare di essere un nodo d’uscita (tailscale.com/kb/1103/exit-nodes/?tab=linux#advertise-the-device-as-an-exit-node), questo richiederà ovviamente che tu vada prima ad abilitare l’accesso SSH sul NAS (basterà anche farlo, modificare il comportamento di Tailscale e disattivare l’accesso SSH subito dopo):

sudo tailscale up --advertise-exit-node

La modifica andrà approvata da console amministrativa di Tailscale, dovrai semplicemente selezionare il tasto opzioni in corrispondenza del dispositivo, scegliere Edit route settings e confermare la modifica. Da questo momento il NAS sarà il mio nodo d’uscita e attraverso lui potrò incanalare il mio traffico dati, sarò a tutti gli effetti parte di una LAN che non è necessariamente quella dalla quale mi sto connettendo (altrimenti che senso avrebbe utilizzare Tailscale?).

Tailscale: nodo d'uscita e subnet della rete 1

Per completare l’opera e avere accesso al resto della LAN che mi sta ospitando basterà chiamare in causa un’ulteriore modifica, quella relativa alla Subnet.

Subnets

Più o meno sulla falsa riga di quanto fatto sopra, posso chiedere al client Tailscale di permettere l’accesso alla subnet della quale fa parte il mio nodo d’uscita, non dovrò fare altro che fargliele “annunciare“. Che si tratti di un singolo IP o dell’intera rete poco importa, la scelta è di chi amministra. Documentazione ufficiale disponibile all’indirizzo tailscale.com/kb/1019/subnets/#step-2-connect-to-tailscale-as-a-subnet-router, nello specifico del NAS ho semplicemente aggiunto qualcosa in coda a quanto già fatto rispetto al nodo d’uscita, più precisamente:

tailscale up --advertise-routes=192.168.0.0/24 --advertise-exit-node

Questo mi permetterà di accedere comodamente l’intera 192.168.0.0/24 (da 192.168.0.1 a 192.168.0.255) semplicemente “accendendola” sempre dalla console amministrativa di Tailscale, ancora una volta dall’opzione Edit route settings che si trova in corrispondenza del dispositivo sul quale sto operando la modifica. Posso – ovviamente – annunciare anche altre subnet che possono essere accedute da quel nodo d’uscita, mi basterà separarle tramite una virgola.

Tailscale: nodo d'uscita e subnet della rete 2

DietPi (Linux in generale)

L’intero test del nodo d’uscita e relative subnet l’ho prima portato a termine utilizzando una macchina virtuale con a bordo DietPi. In casi come questi è necessario aggiungere un passaggio della configurazione che viene riportato in documentazione ufficiale all’indirizzo tailscale.com/kb/1103/exit-nodes/?tab=linux#step-1-advertise-a-device-as-an-exit-node, serve un terminale aperto:

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

Senza questo passaggio quasi certamente incorrerai in errore diretto nel caso in cui tu voglia annunciare il nodo d’uscita, in pratica rimarrai poco allegramente fermo in un limbo, un vicolo cieco.

Quando esci, pulisci tutto

Nel caso in cui tu voglia spegnere il nodo d’uscita e ripulire quindi il tutto, annullando le modifiche precedentemente applicate, ti basterà lanciare ancora una volta l’eseguibile di Tailscale, passandogli parametri vuoti o booleani in base alla necessità. Nello specifico sto parlando di questo comando completo:

tailscale up --advertise-exit-node=false --exit-node=

Questo ritirerà le subnet precedentemente annunciate e spegnerà il nodo d’uscita (aggiorna la pagina della console amministrativa di Tailscale, tutto sarà sparito come per magia).

Comodo? Assolutamente sì.
Scusa se stavolta non sono sceso troppo nel dettaglio, la documentazione ufficiale di Tailscale contiene davvero ogni informazione e una rapida ricerca nel forum ufficiale o negli spazi su Reddit aiutano a colmare alcune lacune o dubbi che potrebbero saltare fuori durante la modifica del comportamento di Tailscale. Sentiti comunque libero di usare l’area commenti in caso di dubbi.

#StaySafe


Immagine di copertina: Jordan Harrison
Crediti:
reddit.com/r/Tailscale/comments/s3y8yk/how_to_disable_advertise_exit_node
forum.tailscale.com/t/how-to-disable-using-exit-node-on-linux/919

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments