Pubblicate una configurazione oscurata, dite che la VPN non funziona e ricevete sei risposte su sei cose diverse. Il problema di solito è la richiesta, non chi legge. Chi aiuta non può capire da una configurazione se il tunnel non si costruisce, se si costruisce ma scarta il traffico, o se funziona bene mentre il servizio file dietro di esso rifiuta la connessione. Descrivete invece un flusso, con tre responsabili e un guasto osservato, e le risposte migliorano subito.

Perché la richiesta riceve risposte inutili

Una configurazione descrive ciò che è configurato. Non descrive cosa avete provato, cosa è successo, né quale di più macchine debba fare quale lavoro. Senza questo, ogni lettore indovina una fase diversa.

Il caso illustrativo è un portatile in viaggio che dovrebbe raggiungere un servizio file su un server domestico attraverso il gateway di casa. Indicate se il gateway, il server VPN e il server file sono la stessa macchina o tre macchine, perché questo unico fatto cambia quasi ogni risposta.

Compilate questo registro prima di pubblicare


Goal: the one resource or operation that should work
Path: client -> access network -> VPN endpoint -> resource
Owners: who controls the client, the gateway and the resource
Software: product, version and protocol in use
Expected: what success would look like
Observed: exact non-secret error or response
Time and change: when it started and what changed
Control: one comparable operation that still works


Otto righe, e la maggior parte delle richieste diventa gestibile. La riga di controllo è quella che le persone omettono: se la navigazione dallo stesso portatile funziona mentre la condivisione dei file no, questo restringe il problema alle rotte del tunnel o al servizio, e nessuno deve chiedere.

Mantenete le etichette coerenti quando oscurate. Conservate la differenza tra l'endpoint pubblico, l'indirizzo del tunnel e la sottorete domestica. Se due intervalli si sovrappongono, tenete visibile quella relazione invece di sostituire ogni rete con lo stesso segnaposto, perché la sovrapposizione è spesso la risposta.

Nominate la fase che fallisce, non tutto il registro

Vale la pena separare cinque fasi: risoluzione dei nomi, tentativo di connessione, autenticazione, instaurazione del tunnel e accesso alla risorsa. Dite quale pensate sia fallita e cosa avete visto lì.

Incollate un piccolo estratto intorno all'evento invece di ogni file di debug che il client può produrre. Cento righe di rumore di stretta di mano nascondono la riga che dice che il nome del certificato non corrispondeva.

Tenete separate osservazione e spiegazione. «Il client segnala un timeout della stretta di mano dopo 30 secondi» è un'osservazione; «penso che il fornitore blocchi UDP» è una teoria. Entrambe sono utili, e mescolarle significa che chi aiuta non sa a quale credere. Etichettatele, e la risposta che otterrete si rivolgerà a quella giusta.

Invidiatela al responsabile che può agire

Per un portatile gestito dal datore di lavoro, iniziate dal canale di supporto del datore di lavoro, perché un forum della comunità non può cambiare la sua politica. Per un servizio VPN commerciale, indicate prodotto e account in privato, non in pubblico. Per il vostro gateway, includete i ruoli di router e server che controllate.

Se usate una comunità pubblica, sceglietene una la cui portata attuale corrisponda al compito. Un vecchio thread sulle regole del forum non è un contratto di supporto, e non lo è nemmeno una risposta di cinque anni fa su una versione di protocollo che non usate.

Oscurate i segreti senza appiattire la topologia

Rimuovete chiavi private, password, token e link che portano credenziali prima che qualcosa lasci la vostra macchina. Un'esportazione diagnostica e una configurazione completa sono artefatti diversi anche quando i nomi dei file sembrano uguali, e quello che avete incollato può contenere una chiave precondivisa.

Poi conservate le relazioni che rendono comprensibile il flusso. L'RFC 6973 tratta la raccolta e la correlazione non necessarie come questioni di privacy, e lo stesso principio vale qui: condividete le prove che il destinatario ha bisogno, non l'intera macchina.

Chiudete con una domanda gestibile sulla discrepanza osservata, per esempio perché il client completa l'autenticazione e poi non riceve mai una rotta. Una domanda specifica ottiene una risposta specifica, e il registro che avete costruito è ciò che permette a qualcuno di darne una senza chiedere i vostri segreti.

Articoli correlati