Icona verde, stesso IP pubblico: quale rotta la VPN ha saltato
L’icona nella barra indica un tunnel, non una rotta predefinita. Quattro verifiche mostrano se il client ha installato la rotta, o se l’uscita non ha mai tradotto la tua sorgente.
Connesso, icona verde nella barra e una pagina che rimanda il tuo indirizzo e mostra ancora quello del fornitore non significano automaticamente un guasto. Un client fa due lavori separati: costruisce un tunnel, e modifica la tabella di routing. Ciascuno può accadere senza l’altro, e il routing selettivo è la configurazione in cui il secondo viene saltato di proposito.
Che cosa ha installato davvero il client
Chiedi quale interfaccia porterebbe un pacchetto a una destinazione reale invece di chiedere se il tunnel è attivo. Un tunnel senza rotta verso quella destinazione è una strada privata che nessuno percorre.
ip route get 9.9.9.9
Find-NetRoute -RemoteIPAddress 9.9.9.9
route print -4Il primo comando risponde su Linux e macOS, e gli altri due sono gli equivalenti Windows, dove ne basta uno. Se la risposta nomina l’adattatore fisico, il tunnel è attivo e la rotta predefinita non si è mai mossa. Ripeti la verifica per una destinazione che dovrebbe usare il tunnel, perché due verifiche, una remota e una ordinaria, dicono quale progetto è in uso.
Tre forme di routing selettivo
Un profilo a tunnel completo di solito scrive una rotta predefinita verso l’interfaccia, oppure scrive la coppia di prefissi a metà intervallo che vincono per lunghezza del prefisso mentre la rotta predefinita originale resta nella tabella. Il routing selettivo è l’altra scelta, e arriva in varie forme. Un profilo instrada un solo host come un server RDP, un altro instrada un intervallo pubblico che va raggiunto da un luogo preciso, e un terzo esclude di proposito una applicazione. Tutti e tre sono legittimi, e nessuno cambia l’indirizzo che vede un sito qualsiasi.
grep -nE "redirect-gateway|route-nopull|route " /etc/openvpn/client/*.conf
ip route show table main | head -20Leggi il profilo per la direttiva che decide, poi la tabella per ciò che ha prodotto. Una direttiva spinta può anche essere soppressa sul client, per questo profilo e tabella devono concordare prima di dare la colpa al server.
Il lato remoto deve riscrivere l’indirizzo di origine
Esiste un secondo guasto che dal browser sembra identico. La rotta punta nel tunnel, il server riceve i pacchetti e poi li inoltra con l’indirizzo privato del client intatto. Il salto successivo non ha un percorso di ritorno per quell’indirizzo, quindi le risposte svaniscono e le pagine si bloccano. Il server deve inoltrare del tutto, e deve tradurre la sorgente in qualcosa che internet possa instradare indietro.
sysctl net.ipv4.ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -S | grep MASQUERADENomina l’interfaccia che guarda davvero verso internet, che su una distribuzione moderna non è sempre eth0. Un server ospitato con indirizzo fisso può tradurre esplicitamente verso quell’indirizzo invece di usare masquerade. Contano entrambe le metà, perché l’inoltro senza traduzione lascia trapelare sorgenti non instradabili, mentre la traduzione senza inoltro non vede mai il pacchetto.
La risoluzione dei nomi segue la propria strada
Il traffico può uscire dal tunnel mentre la richiesta che ha trovato il nome è andata a un resolver sulla rete locale. L’indirizzo visibile resta lo stesso, le richieste no, e quel divario è esattamente ciò che sceglie un progetto DNS separato.
resolvectl status | head -20
resolvectl query example.orgNota quale server ha risposto e se differisce dalla base precedente al tunnel. Su un tunnel separato è di solito l’impostazione che le persone volevano cambiare quando si lamentavano dell’indirizzo, ed è quella che non hanno mai guardato.
Quattro osservazioni che risolvono la questione
Rileva l’indirizzo di uscita con il tunnel abbassato, poi alzato. Esegui la verifica di destinazione in entrambi gli stati e annota ogni volta l’interface.
curl -sS https://ifconfig.me/ip
ip route get 9.9.9.9Quando la verifica finisce dentro il tunnel e l’eco mostra ancora l’indirizzo del fornitore, manca la traduzione in uscita. Quando la verifica finisce sull’adattatore fisico, il profilo è selettivo e l’indirizzo pubblico non è mai stato in gioco. Sostituisci il servizio di eco con uno di cui ti fidi e annota le quattro osservazioni insieme, perché separatamente sono aneddoti. Insieme identificano quale dei due lavori il client ha davvero svolto.