L’erreur survient à l’import, avant toute négociation, et nomme une directive que le client refuse d’accepter. OpenVPN Connect exécute du code de la bibliothèque OpenVPN 3, qui n’implémente pas du tout l’option fragment du client communautaire. Cela en fait une question de compatibilité entre deux extrémités plutôt qu’une question de réglage de la taille des paquets.

Supprimer la ligne produit un fichier que le client analysera, et un serveur qui attend peut-être encore le format que cette ligne décrivait. Parcourez-le depuis l’écran d’import vers l’extérieur avant de modifier quoi que ce soit.

Où l’import s’arrête

L’importateur analyse les directives avant de contacter le serveur, donc un refus à ce stade est une décision locale sur la syntaxe et non un résultat réseau, et la liste des directives non prises en charge d’OpenVPN consigne la même limitation. Cela explique comment un même fichier peut fonctionner dans le client communautaire et échouer dans Connect sur la même machine. Lisez le message pour connaître le nom de la directive et conservez le fichier d’origine, car ce texte est la seule preuve de ce que le client a contesté. Une erreur d’import et un délai de connexion dépassé viennent d’étapes différentes et méritent des réponses différentes.

Si le message nomme fragment, la question restante est de savoir si le serveur en dépend aussi. Répondez-y avant de toucher au profil qu’on vous a remis.

Ce que fragment change dans le client communautaire

Dans le client communautaire, la directive active la fragmentation de datagrammes propre à OpenVPN, qui découpe les charges utiles avant qu’elles atteignent la couche IP extérieure. Elle existe pour survivre aux chemins qui jettent les gros datagrammes UDP et pour garder un tunnel utilisable là où la découverte du MTU du chemin n’est pas fiable. Elle n’est pas synonyme de baisse du MTU de l’interface, et ce n’est pas une fragmentation au niveau IP effectuée par le système d’exploitation. Un client dépourvu du mécanisme ne l’obtient pas en baissant un nombre.

Comme le réglage vit aussi dans la configuration du serveur, le retirer de votre copie ne change que votre côté. Le serveur attend peut-être encore un pair qui comprend l’option, et un profil qui s’analyse n’est pas encore une session qui s’établit. Ces deux faits expliquent l’état intermédiaire déroutant où un fichier modifié se connecte puis se bloque.

Demandez un profil conçu pour ce client

La voie propre est un second profil documenté pour OpenVPN Connect, si le service en publie un. Beaucoup de fournisseurs le font, et la différence tient généralement aux directives qu’ils omettent plutôt qu’à l’extrémité vers laquelle ils pointent. Demandez-le par le nom du client plutôt que de décrire l’erreur, car un service d’assistance peut associer un profil à un client bien plus vite qu’il ne peut diagnostiquer un fichier dépouillé.

Si vous exploitez le serveur, la décision est plus large que votre propre client. Désactiver la fragmentation touche chaque pair, y compris ceux qui en avaient besoin pour rester connectés sur un chemin médiocre. Publier un second écouteur ou une seconde configuration pour le client concerné maintient les utilisateurs existants en service pendant que le client plus récent reçoit quelque chose qu’il peut analyser. Quelle que soit la voie choisie, notez quelle configuration sert quel client, car cette correspondance disparaît vite sinon.

Vérifiez la connexion, pas seulement l’import

Un import réussi prouve seulement que l’analyseur a accepté le fichier. Établissez le tunnel avec le client communautaire sur une machine que vous contrôlez, avec le même profil, et lisez le journal pour la négociation du transport et du chiffrement. Les commandes ci-dessous le font sans que l’application de bureau s’interpose.

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/

Le journal montre où la tentative s’est arrêtée : une erreur d’option apparaît avant tout échange TLS, tandis qu’un échec d’authentification ou de chiffrement apparaît après. Si le tunnel monte et que la requête échoue encore, le problème est passé de la compatibilité au routage. Comparez cela au comportement de Connect sur le même réseau avant de conclure quoi que ce soit sur le serveur.

Gardez le profil qui fonctionne et la version du client à côté de la note. Une future version du client peut ajouter la prise en charge d’une directive, et cela change la réponse sans que personne ne touche au serveur.

Articles similaires