Guida Tecnica: VPN vs Mesh Network

Una spiegazione approfondita delle tecnologie che alimentano i nostri servizi

1. VPN Classica con WireGuard

Le VPN tradizionali creano un tunnel cifrato tra il tuo dispositivo e un server remoto, mascherando il tuo traffico internet.

Diagramma VPN classica

Figura 1: Architettura tradizionale client-server delle VPN

Come funziona WireGuard

WireGuard è un protocollo VPN moderno che utilizza:

ChaCha20 Crittografia simmetrica
Poly1305 Autenticazione dei messaggi
Curve25519 Scambio di chiavi
BLAKE2s Hashing

Configurazione tipica

Un file di configurazione WireGuard semplice:

[Interface]
PrivateKey = your_private_key
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = server_public_key
AllowedIPs = 0.0.0.0/0
Endpoint = vpn.example.com:51820

Vantaggi

  • Basso overhead (∼1% CPU)
  • Codebase piccola (4k LOC)
  • Nessun handshake complesso
  • Perfect Forward Secrecy

Limitazioni

  • Dipendenza dal server VPN
  • Single point of failure
  • Possibili colli di bottiglia
  • NAT traversal manuale

2. Mesh Network con Tailscale/Headscale

Le reti mesh creano connessioni dirette tra dispositivi (peer-to-peer) senza passare attraverso un server centrale.

Diagramma rete mesh

Figura 2: Architettura decentralizzata di una rete mesh

Come funziona Tailscale

Tailscale costruisce una rete overlay su WireGuard aggiungendo:

Headscale: L'alternativa self-hosted

Headscale è un'implementazione open-source del control server di Tailscale:

# Configurazione base headscale.yaml
server_url: https://headscale.example.com
listen_addr: 0.0.0.0:8080
private_key_path: /var/lib/headscale/private.key
derp:
  server:
    enabled: true
    region_id: 999
    region_code: "selfhosted"

Vantaggi Mesh

  • Connessioni dirette P2P
  • Nessun singolo punto di fallimento
  • Latenza ridotta tra nodi vicini
  • Scalabilità orizzontale

Limitazioni

  • Complessità di configurazione
  • NAT traversal può fallire
  • Maggior consumo batteria su mobile
  • Difficoltà di debug

3. Confronto Tecnico

Caratteristica VPN Classica Mesh Network
Architettura Client-Server Peer-to-Peer
Protocollo WireGuard puro WireGuard + coordinamento
Latenza Dipendente dal server Ottimizzata tra nodi vicini
Throughput Limitato dal server Scaglionato tra i nodi
NAT Traversal Manuale/STUN Automatico con DERP
Sicurezza Forti garanzie crittografiche Stesse garanzie + autenticazione
Use Case Privacy online generale Reti private tra dispositivi

Quando usare ciascuna tecnologia

VPN Classica

  • Navigazione anonima
  • Superare restrizioni geografiche
  • Uso generale su Internet
  • Semplicità di configurazione

Mesh Network

  • Accesso a dispositivi remoti
  • Reti aziendali distribuite
  • Condivisione file diretta
  • Comunicazioni interne sicure

4. Approfondimenti Tecnici

NAT Traversal con DERP

DERP (Detoured Encrypted Routing for Packets) è un sistema di relay che permette a nodi dietro NAT restrittivi di comunicare:

Diagramma DERP

Figura 3: Funzionamento del sistema DERP

Gestione delle chiavi

Tailscale/Headscale usano un sistema a chiavi temporanee:

# Generazione chiave WireGuard
wg genkey | tee privatekey | wg pubkey > publickey

# Chiave temporanea Tailscale (esempio)
{
  "id": "k123456",
  "key": "tskey-k123456-abcdef",
  "expires": "2025-01-01T00:00:00Z",
  "capabilities": ["devices:write"]
}

Percorso dei pacchetti

In una mesh network, i pacchetti possono seguire diversi percorsi:

  1. Diretto: Se i nodi sono sulla stessa LAN
  2. P2P: Connessione diretta attraverso Internet
  3. DERP: Tramite server relay quando il P2P fallisce