Apri la sezione di routing del tuo client VPN e vedi due controlli di forma diversa che spesso portano la stessa etichetta. Uno ti chiede di elencare le destinazioni che appartengono al tunnel, e tutto il resto continua a usare la rete locale. L'altro dà per scontato che tutto passi dal tunnel e chiede cosa ritagliare fuori. Entrambi danno un tunnel funzionante al primo test, ed entrambi si mantengono aggiungendo righe a un elenco, ed è per questo che la differenza resta invisibile finché qualcuno non installa qualcosa di nuovo.

La scelta è un'impostazione predefinita, non una funzione. Decidila prima che l'elenco abbia venti voci.

Leggi l'impostazione dal client, non dalla brochure

WireGuard rende la decisione insolitamente visibile, perché AllowedIPs è un elenco di inclusione e nient'altro. Un peer con 0.0.0.0/0, ::/0 incanala tutto; un peer con 10.20.0.0/16 incanala solo quello. Non esiste una sintassi di esclusione, quindi per lasciare fuori una sottorete devi elencare tutti gli altri prefissi oppure aggiungere policy routing fuori dall'interfaccia.

OpenVPN arriva nello stesso punto dal lato opposto, con redirect-gateway def1 che installa un tunnel completo e direttive route esplicite che aggiungono o sovrascrivono prefissi specifici. I client commerciali di solito nascondono entrambi dietro una casella di controllo e una tabella delle destinazioni, quindi leggi quale delle due la tabella modifica davvero prima di fidarti dell'etichetta.

La domanda non è come si chiama la casella di controllo. La domanda è cosa succede a un pacchetto la cui destinazione non compare in nessuno dei due elenchi. Rispondi per iscritto, e il resto della configurazione ne discende. Se salti la domanda, il primo guasto inspiegato lo deciderà chi quel giorno si trova più vicino al client.

Segui un'applicazione che nessuno ha inserito

In un progetto a sola inclusione quell'applicazione va diretta, sulla rete locale, con il DNS locale. In un progetto a sola esclusione passa dal tunnel, nei limiti di ciò che il server consente, e spesso è questa la differenza tra un nuovo strumento SaaS che funziona il primo giorno e un ticket che dice che la VPN l'ha rotto.

Nessuna delle due impostazioni è più sicura di per sé. L'inclusione restringe ciò che il tunnel trasporta e rende la rete locale il percorso di minor resistenza; l'esclusione prende il tunnel come percorso normale e tratta le eccezioni come eccezioni, il che è più vicino a ciò che la maggior parte delle politiche aziendali intende davvero.

QuestionInclude-onlyExclude-only
Unlisted new appgoes directgoes through the tunnel
A site that breaks over the VPNadd it to the listcarve it out
Internal names still resolveonly if routed and servedusually, until split DNS says otherwise
Upkeepone entry per internal serviceone entry per misbehaving public service

Nota che tipo di oggetto elenca la piattaforma

Il VpnService.Builder di Android espone un elenco di applicazioni consentite e un elenco di applicazioni vietate come due modelli separati, e le regole per app scelgono per pacchetto invece che per destinazione. Un browser inserito in un elenco del genere porta con sé ogni destinazione che apre, che è una granularità diversa da una tabella di routing e non può riparare un singolo sito rotto dentro un'app che funziona.

I client desktop di solito mescolano i due tipi in un'unica interfaccia, quindi controlla se la riga che stai aggiungendo è un pacchetto, un nome host o un prefisso. Falliscono in modi diversi e si risolvono in punti diversi. Una riga di nome host diventa di solito una rotta più un nome, mentre una riga di pacchetto diventa una decisione di policy dentro il client. Annota quale delle due hai aggiunto, perché chi farà debug più tardi darà per scontata l'altra.

Prova lo stato di errore, non solo il percorso felice

Un'applicazione esclusa dal tunnel non ottiene automaticamente un accesso diretto pulito. Se il client applica anche una regola che blocca senza VPN, il traffico escluso può essere scartato del tutto, il che sembra un'app rotta più che una decisione di routing. Prova quel caso di proposito invece di scoprirlo da una segnalazione dell'utente.

Poi controlla DNS e IPv6 come voci separate. Un tunnel che trasporta solo IPv4 lascia a un'applicazione capace di v6 una via per aggirarlo, e il DNS diviso decide se i nomi interni si risolvono per il traffico che non passa affatto dal tunnel. Esegui un'app elencata, un'app non elencata, una risoluzione di nome e una riconnessione, e conserva i risultati insieme alla configurazione.

Scrivi l'impostazione dove la troverà la persona successiva

Registra l'impostazione scelta, le eccezioni e chi ne è responsabile nello stesso posto del profilo del client, perché il prossimo amministratore aggiungerà una voce senza leggere questo ragionamento. Annota data e motivo di ogni eccezione, così un'eccezione ormai inutile per un sito nel frattempo riparato potrà essere rimossa con sicurezza. Un elenco senza motivi cresce all'infinito.

Quando qualcuno segnala un'unica destinazione rotta, cambia l'eccezione e non la base. Capovolgere l'impostazione per riparare un solo sito sposta in silenzio ogni applicazione non elencata dall'altra parte del tunnel.

Articoli correlati