OpenVPN Connect rifiuta fragment: correggi l’origine del profilo
OpenVPN Connect non supporta fragment, quindi un profilo che si analizza può comunque fallire. Procuratevi uno creato per quel client, o cambiate di proposito il lato server.
L’errore arriva all’importazione, prima di qualsiasi negoziazione, e nomina una direttiva che il client rifiuta di accettare. OpenVPN Connect esegue codice della libreria OpenVPN 3, che non implementa affatto l’opzione fragment del client della comunità. Ciò ne fa una questione di compatibilità tra due estremi e non una questione di regolazione della dimensione dei pacchetti.
Eliminando la riga si ottiene un file che il client analizzerà, e un server che forse si aspetta ancora il formato descritto da quella riga. Percorrete la cosa dalla schermata di importazione verso l’esterno prima di modificare qualcosa.
Dove si ferma l’importazione
L’importatore analizza le direttive prima di contattare il server, quindi un rifiuto lì è una decisione locale sulla sintassi e non un risultato di rete, e la lista delle direttive non supportate di OpenVPN registra lo stesso limite. Questo spiega come uno stesso file possa funzionare nel client della comunità e fallire in Connect sulla stessa macchina. Leggete nel messaggio il nome della direttiva e conservate il file originale, perché quel testo è l’unica prova di ciò a cui il client si è opposto. Un errore di importazione e un timeout di connessione vengono da fasi diverse e meritano risposte diverse.
Se il messaggio nomina fragment, resta la domanda se anche il server ne dipenda. Rispondete prima di toccare il profilo che vi è stato dato.
Cosa cambia fragment nel client della comunità
Nel client della comunità la direttiva attiva la frammentazione dei datagrammi propria di OpenVPN, che suddivide i carichi prima che raggiungano lo strato IP esterno. Esiste per sopravvivere a percorsi che scartano grandi datagrammi UDP e per mantenere un tunnel utilizzabile dove non ci si può fidare della scoperta dell’MTU del percorso. Non è sinonimo di abbassare l’MTU dell’interfaccia, e non è la frammentazione a livello IP operata dal sistema operativo. Un client privo del meccanismo non lo acquisisce abbassando un numero.
Poiché l’impostazione vive anche nella configurazione del server, toglierla dalla vostra copia cambia solo il vostro lato. Il server forse si aspetta ancora un pari che comprenda l’opzione, e un profilo che si analizza non è ancora una sessione che si stabilisce. Questi due fatti spiegano lo stato intermedio confuso in cui un file modificato si connette e poi si blocca.
Chiedete un profilo creato per questo client
La via pulita è un secondo profilo documentato per OpenVPN Connect, se il servizio ne pubblica uno. Molti fornitori lo fanno, e la differenza di solito sono le direttive che omettono e non l’estremo verso cui puntano. Chiedetelo con il nome del client invece di descrivere l’errore, perché un servizio di assistenza può abbinare un profilo a un client molto più in fretta di quanto possa diagnosticare un file spogliato.
Se gestite voi il server, la decisione è più ampia del vostro client. Disattivare la frammentazione colpisce ogni pari, compresi quelli che ne avevano bisogno per restare connessi su un percorso scadente. Pubblicare un secondo ascoltatore o una seconda configurazione per il client interessato mantiene in funzione gli utenti esistenti mentre il client più recente riceve qualcosa che può analizzare. Comunque procediate, annotate quale configurazione serve quale client, perché quella corrispondenza altrimenti sparisce in fretta.
Verificate la connessione, non solo l’importazione
Un’importazione riuscita dimostra solo che l’analizzatore ha accettato il file. Stabilite il tunnel con il client della comunità su una macchina che controllate, con lo stesso profilo, e leggete il registro per la negoziazione del trasporto e della cifratura. I comandi qui sotto lo fanno senza che l’applicazione desktop sia d’intralcio.
openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/
Il registro mostra dove si è fermato il tentativo: un errore di opzione compare prima di qualsiasi scambio TLS, mentre un errore di autenticazione o di cifratura compare dopo. Se il tunnel sale e la richiesta continua a fallire, il problema è passato dalla compatibilità all’instradamento. Confrontatelo con il comportamento di Connect sulla stessa rete prima di concludere qualcosa sul server.
Tenete il profilo funzionante e la versione del client accanto alla nota. Una futura versione del client può aggiungere il supporto per una direttiva, e questo cambia la risposta senza che nessuno tocchi il server.