La vecchia app non c’è più, e l’elenco del tunnel diviso contiene ancora una voce per lei. Nulla si rompe in modo visibile, ed è per questo che resta lì per mesi. Poi qualcuno installa un altro programma nella stessa cartella, oppure un profilo gestito ripristina la regola a ogni riconnessione, e il traffico inizia a seguire un percorso che nessuno aveva pianificato. L’esclusione è sopravvissuta alla ragione per cui esisteva.

Fare pulizia qui riguarda soprattutto l’identità: a cosa punta ora la regola e chi possiede l’elenco.

Il sintomo: un’esclusione che non corrisponde a nulla

Una voce obsoleta è invisibile nell’uso normale. Diventa visibile in tre modi: un’app che ti aspettavi passasse dal tunnel va diretta, un nuovo programma eredita una vecchia eccezione, oppure il client rifiuta di salvare una modifica perché il profilo gestito la sovrascrive. Tutti e tre sembrano bug separati, e tutti e tre sono lo stesso problema di contabilità. Ciascuno è economico da verificare e costoso da diagnosticare male.

Inizia leggendo la regola, non eliminandola.

Scopri cosa identifica la regola

Le implementazioni del tunnel diviso basano le esclusioni su cose diverse: un percorso eseguibile, un nome di pacchetto, un identificatore di pacchetto o una rotta. Una regola basata sul percorso punta a un file che potrebbe non esistere più, o che ora potrebbe essere un altro file. Una regola basata sul pacchetto punta a un’identità che una nuova installazione può riutilizzare. Leggi la documentazione del client per il campo che stai guardando, perché la stessa casella di testo significa cose diverse tra prodotti. La guida di VpnService di Android è il riferimento per il caso basato sul pacchetto.

Il nome visualizzato è la parte meno affidabile della voce, ed è la parte che le persone leggono.

Le regole di percorso e le regole di pacchetto si comportano diversamente

Una regola di percorso che sopravvive a una disinstallazione di solito diventa inerte, e inerte è il buon esito. Il cattivo esito è un percorso riutilizzato, perché il nuovo eseguibile eredita silenziosamente l’eccezione. Le regole di pacchetto si comportano ancora diversamente: un prodotto può ignorare un pacchetto non disponibile, rifiutarlo o continuare a corrispondere per nome quando qualcosa di nuovo rivendica quel nome.

Non trasferire un’ipotesi da un client all’altro. Controlla cosa fa davvero il tuo con un obiettivo assente, idealmente creando la condizione di proposito su una macchina di prova e osservando quale processo eredita l’eccezione.

Rimuovila tramite il proprietario

Se l’elenco proviene da un profilo gestito, modificarlo localmente è un cambiamento temporaneo che sarà ripristinato alla prossima riconnessione. Modifica il profilo, o chiedi a chi lo possiede, e conferma che la modifica sopravvive a una riconnessione. Se l’elenco è locale, rimuovi la voce e controlla che il client abbia riscritto la sua configurazione invece di tenere la vecchia in memoria.

Un elenco vuoto non è l’obiettivo. Lo è un elenco le cui voci corrispondono ancora a requisiti reali.

Dopo, prova entrambe le direzioni

Dopo la pulizia, prova un’app che dovrebbe essere ancora esclusa e un’app che ora dovrebbe passare dal tunnel. Conferma il comportamento DNS separatamente, perché la politica del resolver è un controllo diverso dall’elenco delle esclusioni. Poi riconnettiti una volta e riprova, dato che un profilo ripristinato è il modo più comune in cui una pulizia si annulla in silenzio.

Mantieni uno scopo di una riga accanto a ogni eccezione rimanente. È quella riga a impedire che l’elenco diventi un museo, e rende la prossima pulizia un lavoro di cinque minuti.

Articoli correlati