VPN dal telefono a casa: fate del firewall la vostra uscita internet
Raggiungere la LAN di casa non è lo stesso che uscire dall'uplink di casa. Decidete inoltro, resolver, IPv6 e lo stato disconnesso sul telefono.
Collegare un telefono al tunnel di casa e aprire una condivisione file sulla LAN dimostra che il tunnel funziona. Non dimostra che le richieste internet del telefono escano attraverso la casa. La differenza tra questi due esiti è una politica di inoltro più una rotta, non un'altra casella sul telefono. È anche la differenza che la maggior parte delle persone presume di aver già configurato.
Tre decisioni producono il percorso di uscita: cosa invia il telefono nel tunnel, dove lo inoltra il gateway di casa e cosa succede quando il tunnel non c'è. Ognuna ha una modalità di guasto che dallo schermo del telefono sembra quella delle altre.
Due salti, due politiche
La connessione esterna termina all'ascoltatore VPN di casa. Il pacchetto interno è un oggetto separato che deve essere inoltrato da qualche parte, e l'inoltro è una decisione del firewall diversa dall'accettare il tunnel fin dall'inizio.
phone app -> encrypted tunnel -> home listener
-> decrypted packet -> forward policy -> home uplink -> destination
Su un tipico router domestico questi vivono in insiemi di regole diversi. Accettare il tunnel è politica di ingresso sull'interfaccia VPN; inviare il traffico del telefono su internet è politica di inoltro più la traduzione di origine che l'uplink richiede. Un router che accetta il tunnel e non inoltra nulla produce un telefono che mostra connesso e non carica pagine.
Se il servizio VPN gira su una macchina separata dentro casa, aggiungete un salto. Ora il router vede il traffico che arriva da quella macchina, quindi le sue regole si applicano all'indirizzo del server e non all'indirizzo tunnel del telefono, e la traduzione di origine può far sembrare ogni telefono un unico host.
L'ascoltatore non è il filtro
Decidete dove avviene l'applicazione finché l'informazione che vi serve esiste ancora. Sul router l'indirizzo tunnel del telefono è visibile e può essere confrontato direttamente. Dietro una seconda traduzione è sparito, e le regole scritte per l'indirizzo del telefono non corrispondono silenziosamente a nulla.
È il motivo abituale per cui una politica funziona per il portatile e non per il telefono. Il portatile si collega direttamente al router, il telefono si collega a un server che inoltra attraverso il router, e solo il primo percorso conserva l'indirizzo che la regola si aspetta. La regola non è sbagliata; confronta un valore che in quel punto non esiste più.
Scrivete il percorso con l'indirizzo di origine come appare a ogni punto di applicazione. Quell'unico diagramma risolve la maggior parte di questi casi prima che una regola venga modificata.
Cosa deve inviare davvero il telefono
Un telefono che riceve solo una rotta verso la sottorete di casa invia nel tunnel solo il traffico di quella sottorete. Tutto il resto esce dalla rete mobile, ed è per questo che la condivisione file funziona e le richieste internet non raggiungono mai la casa.
La copertura tunnel completa è una decisione di routing lato client, e deve essere impostata con il meccanismo supportato dalla piattaforma, non presunta dal profilo installato. Una volta impostata, la rotta di ritorno al server VPN stesso deve restare fuori dal tunnel, altrimenti il client non può mantenere il proprio trasporto.
Il DNS merita una decisione propria, perché è la parte più propensa a divergere dal resto del traffico. Un indirizzo di resolver nel profilo è un suggerimento che i client trattano diversamente, e un'applicazione con un proprio resolver cifrato può seguire un percorso completamente separato. Se la politica di casa dipende dal fatto che le richieste raggiungano un resolver particolare, applicatela dove il traffico passa davvero, oppure accettate che alcune richieste non lo faranno. Una richiesta che aggira il vostro resolver non raggiunge mai una regola scritta per lei.
IPv6 appartiene allo stesso paragrafo del DNS, non a un'appendice. Un tunnel completo IPv4 non dice nulla sul traffico AAAA, e un telefono su una rete mobile a doppio stack userà volentieri il percorso nativo per questo. Scegliete trasporto o blocco in modo esplicito.
Cosa il firewall può e non può vedere
Il gateway può agire su ciò che il suo punto di applicazione espone: indirizzi, porte, protocollo, interfaccia e i metadati della connessione. Una richiesta HTTPS inoltrata non consegna il corpo della pagina o la password solo perché attraversa il tunnel di casa.
Vale la pena enunciare questo limite perché la frase «fate passare dal firewall» implica più ispezione di quanta ne faccia un router domestico. Una regola di destinazione, una politica DNS e un proxy a livello applicativo sono tre controlli diversi con tre costi di dispiegamento diversi.
Non date per scontato che una funzione configurata per i client della LAN di casa si applichi all'interfaccia VPN. L'appartenenza a una zona è una scelta di configurazione, e un'interfaccia VPN che non è nella zona giusta non eredita nessuna delle regole che avete provato dal divano.
Decidete lo stato disconnesso
Quando il tunnel non è disponibile, il telefono o torna alla rete mobile o rifiuta di inviare il traffico. Entrambe sono ragionevoli, e solo una corrisponde a ciò che la maggior parte delle persone crede di aver configurato.
Il ritorno indietro è comodo e per definizione perde: l'istante in cui il tunnel cade è l'istante in cui le richieste escono sul percorso dell'operatore. Il blocco è più forte e rende il telefono dipendente dal fatto che la casa sia raggiungibile, che è un costo reale di disponibilità per chi viaggia. Nessuno dei due comportamenti è un difetto; entrambi sono prodotti, e scegliete tra loro che lo diciate o no.
Provate la scelta invece di presumerla. Fermate il servizio di casa, poi provate una richiesta dal browser del telefono e una da un'applicazione che gira in background. Riconnettersi più tardi non annulla le richieste già uscite.
Concludete con due verifiche controllate dal telefono stesso: un'operazione consentita che dovrebbe attraversare la casa, e un rifiuto che la politica di casa dovrebbe applicare. Confermate che il gateway abbia registrato il flusso atteso, nella famiglia di indirizzi attesa, dopo una riconnessione. Un telefono che mostra Connesso è l'inizio di quella verifica, mai la fine.