Un indirizzo IPv6 globale non significa che il traffico aggira il tunnel
L’ambito dice fin dove un indirizzo può essere instradato, non dove è andato questo pacchetto. Leggi l’interfaccia, la rotta scelta e il prefisso del tunnel prima di concludere.
Una pagina di prova riporta un indirizzo IPv6 globale e la conclusione salta subito a un traffico che aggira la VPN. Quella conclusione richiede due fatti che la pagina non ha mai mostrato: quale applicazione ha fatto la richiesta e quale rotta il kernel ha scelto per essa. L’ambito di un indirizzo descrive fin dove quell’indirizzo può essere instradato. Non dice nulla su dove sia andato proprio questo pacchetto.
Ambito e ruolo sono domande diverse con prove diverse.
L’ambito risponde a chi può instradarlo, non a chi lo fa
Gli indirizzi unicast globali sono in linea di principio instradabili sulla internet pubblica, gli indirizzi locali univoci sono pensati per la topologia interna e gli indirizzi locali di collegamento esistono solo su un collegamento. Sono proprietà del blocco di indirizzi. Se un pacchetto verso una data destinazione esca dal tunnel lo decidono la tabella di routing e la politica associata all’interfaccia, ed entrambe possono puntare in qualsiasi direzione.
Un indirizzo può avere ambito globale ed essere comunque trasportato dentro un tunnel, perché il tunnel è un percorso e non un piano di indirizzamento.
Leggi tutti gli indirizzi dell’interfaccia, non il test web
L’output dell’interfaccia mostra più indirizzi insieme: l’indirizzo esterno sul collegamento fisico, l’indirizzo del tunnel e un indirizzo locale di collegamento per ogni interfaccia. Il test web mostra solo l’indirizzo sorgente di una richiesta. Inizia con ip -6 addr show e annota quale interfaccia possiede ogni indirizzo e quale lunghezza di prefisso porta, poi chiedi quale interfaccia la richiesta ha usato davvero.
Confrontalo con ip -6 route get 2606:4700::1111, che stampa l’interfaccia e la sorgente che il kernel sceglierebbe per una destinazione.
Come un prefisso globale finisce dentro un tunnel
Due progetti producono un indirizzo globale su un’interfaccia di tunnel. Il fornitore può delegare un prefisso instradato al client attraverso il tunnel, il che rende globale l’indirizzo mentre il percorso resta il tunnel. Oppure il client conserva il proprio indirizzo globale nativo e il tunnel lo trasporta come traffico interno mentre l’intestazione esterna fa il lavoro. Nessuno dei due progetti richiede traduzione, e la confusione comincia dove le abitudini di IPv4 NAT vengono prese per un requisito di IPv6.
Chiedi all’amministratore quale dei due si applica. La risposta determina ciò che un server dall’altra parte vede come tua sorgente.
Perché un indirizzo dall’aria privata non è un segnale di fiducia
Un indirizzo locale univoco dice che l’operatore lo destina all’instradamento interno, e niente di più. Non dimostra che il dispositivo sia gestito, che il software sia affidabile o che il traffico sia cifrato. Al contrario, un indirizzo globale non dimostra che il traffico sia sfuggito al tunnel, ed è proprio questa supposizione che tutto l’articolo esiste per smontare.
Giudica la fiducia dalla politica, dall’autenticazione e dalla cifratura. L’aspetto di un indirizzo è un’euristica debole che fallisce in entrambe le direzioni.
Prova rotta e politica come due domande
Prima la rotta: esegui curl -6 https://ifconfig.me attraverso il tunnel e poi attraverso l’interfaccia fisica, e confronta le risposte. Poi la politica: conferma quale prefisso il tunnel trasporta davvero e se l’altro lato ha una rotta di ritorno per esso. Una richiesta riuscita verso un sito pubblico non dimostra nessuna delle due cose, perché quella destinazione è raggiungibile da qualsiasi luogo. Usa una destinazione interna per il test della politica.
Annota l’indirizzo sorgente che ogni percorso ha prodotto. È la prova di cui un’affermazione sull’aggiramento ha davvero bisogno.