eliminato il file copia

This commit is contained in:
dado
2025-04-21 19:11:48 +02:00
parent 9dd89ba3c7
commit 75586b5c2f

View File

@@ -1,130 +0,0 @@
---
title: "Accedere a una LAN da remoto con Tailscale"
date: "2025-04-21"
draft: false
summary: "Una guida su come accedere alla propria LAN da remoto con Tailscale e un subnet routers."
tags:
- vpn
- networking
- pve
hideBackToTop: false
hidePagination: true
toc: true
readTime: true
autonumber: false
math: true
showTags: true
fediverse: "@dado@social.novemila.org"
---
Tailscale è una VPN zero-config basata sul protocollo WireGuard, progettata per collegare in modo sicuro dispositivi attraverso reti diverse come se fossero nella stessa rete locale (LAN).
Le sue caratteristiche principali:
- Ogni *connessione è crittografata*, garantendo la protezione dei dati durante il transito
- Opera in modalità *mesh*: a differenza dei tradizionali sistemi centralizzati, in cui un server dirige il traffico, in una rete mesh ogni dispositivo (nodo) comunica direttamente con gli altri in modalità peer-to-peer. Questo approccio riduce la latenza e migliora l'efficienza
- Gestisce automaticamente il NAT (Network Address Translation) e la configurazione di firewall, semplificando notevolmente le varie configurazioni
![tailscale-nat](/images/tailscale/tailscale-nat.png)
- Una volta che i dispositivi si connettono alla *tailnet* (la propria rete privata), Tailscale si occupa di instradare il traffico, garantendo che i dati raggiungano il destinatario corretto senza interventi manuali
Per maggiori informazioni, fare riferimento alla [documentazione ufficiale](https://tailscale.com/blog/how-tailscale-works)
## Installazione di un subnet routers
Grazie ai [Proxmox Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=add-tailscale-lxc), possiamo installare Tailscale in maniera semplicissima.
Per prima cosa, dobbiamo creare un container LXC basato su Debian 12 sulla nostra infrastruttura PVE. Per maggiori dettagli, vedere gli articoli [Come installare e configurare PVE e PBS utilizzando una connessione WiFi](/posts/2025-03-08-proxmox.md) e [Gestire il firewall di PVE](/posts/2025-03-30-proxmox-firewall.md).
Il container LXC agirà da `subnet router`, ovvero da *gateway*, inoltrando il traffico della subnet `10.10.1.0/24`, consentendo così l'accesso via VPN a tutte le risorse della LAN.
Ora, come scritto nella [documentazione](https://community-scripts.github.io/ProxmoxVE/scripts?id=add-tailscale-lxc), dal nodo PVE fisico dobbiamo lanciare il seguente script:
```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/add-tailscale-lxc.sh)"
```
Selezionare l'host su cui installare Tailscale e attendere il completamento del processo.
![pve-tailscale-script](/images/tailscale/pve-tailscale-script.png)
## Configurazione del subnet routers
Dal container LXC, seguendo la [documentazione di Tailscale](https://tailscale.com/kb/1019/subnets#connect-to-tailscale-as-a-subnet-router), abilitare l'IP forwarding:
```txt
echo 'net.ipv4.ip_forward = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
sysctl -p /etc/sysctl.d/99-tailscale.conf
```
Dopo aver abilitato l'IP forwarding sul dispositivo, eseguire il comando `tailscale up --advertise-routes=10.10.1.0/24`.
L'opzione `--advertise-routes` permette di specificare, tramite una lista separata da virgole, le subnet che il dispositivo renderà raggiungibili attraverso la tailnet. Il dispositivo, in altri termini, farà da gateway per quelle sottoreti, permettendo ai dispositivi della propria tailnet (la rete privata creata da Tailscale) di accedere alle risorse presenti in quella LAN.
Il comando `tailscale` ha diversi altri parametri:
```txt
USAGE
tailscale [flags] <subcommand> [command flags]
SUBCOMMANDS
up Connect to Tailscale, logging in if needed
down Disconnect from Tailscale
set Change specified preferences
login Log in to a Tailscale account
logout Disconnect from Tailscale and expire current node key
switch Switch to a different Tailscale account
configure Configure the host to enable more Tailscale features
syspolicy Diagnose the MDM and system policy configuration
netcheck Print an analysis of local network conditions
ip Show Tailscale IP addresses
dns Diagnose the internal DNS forwarder
status Show state of tailscaled and its connections
metrics Show Tailscale metrics
ping Ping a host at the Tailscale layer, see how it routed
nc Connect to a port on a host, connected to stdin/stdout
ssh SSH to a Tailscale machine
funnel Serve content and local servers on the internet
serve Serve content and local servers on your tailnet
version Print Tailscale version
web Run a web server for controlling Tailscale
file Send or receive files
bugreport Print a shareable identifier to help diagnose issues
cert Get TLS certs
lock Manage tailnet lock
licenses Get open source license information
exit-node Show machines on your tailnet configured as exit nodes
update Update Tailscale to the latest/different version
whois Show the machine and user associated with a Tailscale IP (v4 or v6)
drive Share a directory with your tailnet
completion Shell tab-completion scripts
```
### Abilitare la subnet dalla console di amministrazione
Infine, dalla console di amministrazione, dobbiamo approvare la subnet:
- Aprire la pagina *Machines* nella console di amministrazione
![machine-pages](/images/tailscale/machine-pages.png)
- Selezionare il dispositivo con l'etichetta *subnets*, quindi navigare nella sezione *Routing Settings*
- Selezionare *Edit* per aprire le impostazioni di modifica delle rotte
- Spuntare le rotte da approvare
## Tailscale sullo smartphone Android
Possiamo installare Tailscale da [Fdroid](https://f-droid.org/packages/com.tailscale.ipn/) sullo smartphone e fare l'accesso col proprio account. Dopo aver attivato la VPN, se tutto é stato configurato nella maniera corretta, potremo accedere alle risorse della subnet che abbiamo approvato:
![nginx-proxy](/images/tailscale/nginx-proxy.png)
## Riferimenti
- [SSH into Raspberry Pi from Outside Home Network Using Tailscale](https://itsfoss.com/tailscale-raspberry-pi-ssh/)
- [Tailscale - Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=add-tailscale-lxc)
- [Accedere a una rete da remoto con Tailscale](https://pietro.in/posts/tailscale-router/)
- [DNS in Tailscale](https://tailscale.com/kb/1054/dns)
- [Set up a subnet router](https://tailscale.com/kb/1019/subnets#set-up-a-subnet-router)
- [Che cosè una rete mesh e come funziona?](https://nordvpn.com/it/blog/rete-mesh/)