Vai al contenuto principale
Tutti i termini

Attraversamento del NAT e hole punching

Tecniche che permettono a due dispositivi dietro router diversi (NAT) di collegarsi direttamente, coordinandosi tramite un server di appoggio e "forando" un passaggio in ciascun firewall.

Perché il NAT è d'intralcio

La maggior parte dei computer sta dietro una traduzione degli indirizzi di rete (NAT): un router che condivide un indirizzo pubblico tra molti indirizzi privati e lascia entrare solo i pacchetti che rispondono a una connessione partita dall'interno. Due computer su reti di casa o d'ufficio diverse quindi non possono semplicemente aprire una connessione l'uno verso l'altro: ogni router scarta il primo pacchetto dell'altra parte.

Quanto sia difficile il problema dipende dal router. L'RFC 4787 descrive come i NAT mappano e filtrano il traffico UDP: quando un router riusa la stessa porta pubblica per ogni destinazione, di solito è facile trovare una via diretta; quando sceglie una porta nuova per ogni destinazione (spesso chiamato NAT simmetrico), è molto più difficile.

Come funziona l'hole punching

L'attraversamento del NAT è l'insieme di tecniche che trovano comunque una via diretta. Prima ogni lato scopre come appare dall'esterno, di solito chiedendolo a un server STUN. I due lati si scambiano questi indirizzi candidati tramite un server di coordinamento, poi entrambi inviano pacchetti l'uno verso l'altro nello stesso momento. Ogni router vede prima un pacchetto in uscita e tratta la risposta come parte di quel flusso, così si apre una via in entrambe le direzioni. L'RFC 5128 passa in rassegna queste tecniche.

Si può anche chiedere direttamente ai router: UPnP IGD, NAT-PMP e il suo successore, il Port Control Protocol (RFC 6887), permettono a un'applicazione di chiedere una mappatura di porta. Alcuni firewall aziendali e il NAT degli operatori (carrier-grade NAT) sconfiggono ogni tecnica. Quando niente funziona, la sessione ripiega su un relay che inoltra il traffico tra i due lati.

Come si collega Vexaro Desk

Una sessione Vexaro Desk si collega direttamente ovunque la rete lo consenta, e tramite un relay Vexaro autenticato quando non lo consente. Non c'è niente da configurare: il client trova una via da solo.

Il programma di installazione aggiunge una regola a Windows Firewall perché le connessioni dirette e quelle in rete locale possano funzionare; una copia portable non può aggiungerla, quindi è più probabile che le sue sessioni passino da un relay. Le connessioni dirette si possono disattivare nelle Impostazioni, e la finestra della sessione mostra se una sessione è diretta o tramite relay. Le sessioni dirette hanno la crittografia end-to-end. Quando una rete impone una connessione tramite relay, il traffico resta cifrato in transito attraverso relay gestiti da Vexaro.

Tecniche di attraversamento del NAT

Tecniche di attraversamento del NAT
TecnicaCosa faLimiti
Port mapping (UPnP IGD, NAT-PMP, PCP)3Chiede al router di inoltrare una porta all'applicazioneFunziona solo dove il router lo supporta e la rete lo consente
STUN4Dice a un dispositivo l'indirizzo pubblico e la porta che vede l'esternoTrova indirizzi; non trasporta traffico di sessione
Hole punching simultaneo2Entrambi i lati inviano per primi, così ogni router accetta i pacchetti dell'altro come risposteSpesso sconfitto dal NAT simmetrico e dai firewall rigidi
Provare molte porte1,2Aumenta le probabilità di trovare una corrispondenza attraverso un NAT simmetricoLa corrispondenza resta non garantita
RelayInoltra il traffico quando non esiste una via direttaFunziona ogni volta che entrambi i lati lo raggiungono, ma aggiunge latenza e costa banda a chi lo gestisce

Aiuta le connessioni dirette a riuscire

  1. Installa il client invece di usare la copia portable, così la regola di Windows Firewall è presente.
  2. Consenti l'UDP in uscita: le sessioni Vexaro Desk, dirette e tramite relay, viaggiano su UDP.
  3. Usa IPv6 dove la tua rete lo offre: senza traduzione degli indirizzi in mezzo, trovare una via diretta è più semplice.

Domande frequenti

Cos'è il NAT e perché blocca le connessioni dirette?
Il NAT permette a molti dispositivi privati di condividere un indirizzo pubblico, e il router lascia entrare solo i pacchetti che rispondono a una connessione partita dall'interno. Un tentativo di connessione dall'esterno viene quindi scartato, a meno che qualcosa non abbia aperto prima una via.
Cos'è l'hole punching?
Entrambi i computer scoprono i propri indirizzi pubblici, se li scambiano tramite un server di coordinamento e si inviano pacchetti nello stesso momento. Ogni router tratta i pacchetti dell'altro lato come risposte ai propri, così si apre una via diretta.
L'hole punching funziona sempre?
No. NAT simmetrici, firewall rigidi e il NAT degli operatori possono sconfiggerlo. Per questo gli strumenti di desktop remoto tengono un relay come ripiego; Vexaro Desk si collega direttamente ovunque la rete lo consenta e tramite il proprio relay autenticato quando non lo consente.
Le sessioni Vexaro Desk tramite relay sono cifrate?
Sì. Le sessioni dirette hanno la crittografia end-to-end. Quando una rete impone una connessione tramite relay, il traffico resta cifrato in transito attraverso relay gestiti da Vexaro.

Guardalo in Vexaro Desk

Vexaro Desk riunisce in un'unica console accesso presidiato e non presidiato, attraversamento del NAT, un motore di codec adattivo e la governance. È in accesso anticipato e puoi creare un account gratuito per provarlo.