Niente ha raggiunto il gateway, perché il client non ha trovato un binario di cui ha bisogno prima. Il messaggio nomina un helper dell’ambiente, e la reazione naturale è supporre che l’estremità remota abbia rifiutato qualcosa. Non l’ha fatto. Un’integrazione basata su PPP ha bisogno di quell’helper sulla macchina locale, e manca, è illeggibile o non è dove guarda il chiamante.

Il menu e il demone sono cose diverse

Un editor desktop può salvare un profilo mentre l’helper che lo stabilirebbe è assente, perché il salvataggio convalida campi, non capacità. I due componenti arrivano in pacchetti diversi e falliscono in momenti diversi. Un profilo che si salva pulito e una connessione che fallisce subito sono del tutto coerenti.

L’errore inverso è altrettanto comune: un eseguibile da qualche parte sul disco non dimostra che l’integrazione scelta trovi la copia supportata. Una copia nella directory home può soddisfare una shell e restare invisibile al servizio.

Leggere il pacchetto, non il file

Ispezionare lo stato del pacchetto installato, le dipendenze dichiarate e l’elenco dei file attesi prima di toccare qualsiasi cosa. Il packaging delle distribuzioni lo documenta esplicitamente, e il pacchetto NetworkManager PPTP di Debian è un esempio utile, perché dipende separatamente dal pacchetto del demone PPP e dal client PPTP. È un’integrazione legacy, non una raccomandazione a distribuire PPTP oggi. Mostra come un helper arrivi come dipendenza propria e non dentro il client.

Tenere separati tre modi di fallimento: un pacchetto che non si è installato, un repository che non offre alcun candidato e un binario installato a mano fuori dalla proprietà del pacchetto. Richiedono riparazioni diverse, e solo il primo si risolve reinstallando lo stesso pacchetto.

Il controllo dell’eseguibile in una shell descrive solo il percorso di ricerca di quella shell e nulla più. L’helper del gestore può girare con un altro percorso, in un altro ambiente o con una posizione dell’eseguibile configurata esplicitamente.

dpkg -s network-manager-pptp | grep -E "Status|Depends"
dpkg -L ppp | grep -E "bin/pppd$"
command -v pppd; ls -l /usr/sbin/pppd

Riparare l’ambiente senza rompere gli altri

Quando l’ambiente è dimostrabilmente incompleto, usare la transazione di pacchetti revisionata della distribuzione e leggere prima cosa cambierà. PPP è condiviso da diverse integrazioni di reti di accesso, quindi rimuoverlo o reinstallarlo può portarsi via consumatori funzionanti. Eliminare ogni pacchetto correlato per ripararne uno rotto è il modo in cui un portatile perde due connessioni funzionanti.

Installare un altro client VPN non è nemmeno una riparazione. Crea un nuovo requisito di compatibilità lasciando il profilo originale senza spiegazione.

Se l’organizzazione ha deciso che il protocollo stesso deve sparire, è una decisione di migrazione con un responsabile. Non è un passo di risoluzione dei problemi, e non dovrebbe essere presa nel momento in cui una connessione fallisce.

Trattare l’errore successivo come una nuova fase

Una volta avviato l’helper, aspettarsi che il fallimento successivo sia diverso. La negoziazione del collegamento PPP, l’autenticazione utente, l’assegnazione degli indirizzi, le rotte e la risoluzione dei nomi possono fallire ciascuna in modo indipendente, e ciascuna ha le proprie prove.

Non rispondere a un rifiuto successivo annullando la riparazione della dipendenza né attivando tutte le vecchie opzioni di autenticazione e compressione nel profilo. Questo trasforma un problema diagnosticabile in diversi che interagiscono. Cambiare un’impostazione alla volta e annotare cosa ha cambiato.

Annotare le versioni dei pacchetti e il messaggio esatto visto. Un rapporto che nomina il binario mancante e il pacchetto che dovrebbe fornirlo è attuabile in un modo in cui un reclamo generico sulla VPN non lo è.

Articoli correlati