Le terminal m’a donné exactement l’information qui m’a fait perdre dix minutes.
latest handshake: 14 seconds ago
Juste en dessous, les compteurs bougeaient à peine. Quelques kilo-octets partaient, presque rien ne revenait.
J’étais dans un centre de conférence, sur le Wi-Fi invité, avec une branche Git à récupérer avant une démonstration et un appel qui commençait moins de vingt minutes plus tard. Sans WireGuard, le Web fonctionnait. Avec le tunnel, mon dépôt restait suspendu, Slack hésitait entre « Connecting » et « Reconnecting », et même une page légère finissait par expirer.
Mais le handshake était récent. Dans ma tête, cela voulait dire : le VPN fonctionne. J’ai donc redémarré le navigateur. Puis le tunnel. Puis l’ordinateur. Le handshake revenait à chaque fois. Le trafic, lui, non.
Et couper simplement le VPN n’était pas une solution qui me plaisait beaucoup sur ce réseau. Fin juillet 2026, Microsoft a documenté CaptiveCrunch, une campagne ayant compromis des infrastructures de portails captifs dans des hôtels, centres de conférence et autres réseaux fréquentés par des voyageurs, avec manipulation du trafic DNS et HTTP. Parmi ses recommandations pour les usages professionnels sur les réseaux invités figure justement l’établissement d’un tunnel chiffré vers une infrastructure de confiance.
Je ne voulais donc pas choisir entre un tunnel inutilisable et « tant pis, je travaille directement sur le Wi-Fi invité ».
Il fallait comprendre ce que ce handshake vert me disait réellement.
Résumé de l’article et adéquation du produit
Que signifie un handshake WireGuard récent lorsque les applications ne transportent presque aucun trafic ?
Un handshake récent prouve que les pairs se sont atteints et ont établi leurs clés, pas que le chemin transporte correctement les paquets de Git, Slack ou du navigateur. Si les compteurs restent très asymétriques, il faut examiner ce qui se passe après l’échange de clés : MTU, comportement du réseau invité, filtrage ou autre contrainte du chemin.
À retenir
- À tester pour : les utilisateurs de WireGuard sur Wi-Fi public ou captif qui voient un tunnel « connecté » mais des applications suspendues.
- Point concret : le diagnostic devient beaucoup plus net lorsque la même configuration fonctionne immédiatement sur le hotspot du téléphone mais reste presque muette sur le Wi-Fi invité.
- Limite importante : le récit ne prétend pas identifier avec certitude l’équipement ou la règle qui gêne WireGuard ; il montre seulement que le chemin réseau, plutôt que les clés, devient le suspect principal.
Repère utile : La documentation WireGuard sépare l’établissement des clés du transport des données, et Cloudflare documente les problèmes de MTU capables de rendre certains tunnels instables ou inutilisables sur des réseaux cellulaires ou Wi-Fi invités.
Pourquoi OnlydogVPN entre dans ce récit : OnlydogVPN entre uniquement comme voie de secours quand le temps manque pour poursuivre le diagnostic : dans le récit, son mode pour réseaux difficiles, basé sur HTTP/3 avec une couche d’obfuscation, a permis au git fetch et à l’appel de fonctionner sur le même Wi-Fi où WireGuard restait presque sans trafic. Site officiel OnlydogVPN.
Le handshake prouvait moins de choses que je ne le pensais
WireGuard sépare deux moments.
D’abord, les pairs s’authentifient et établissent les clés nécessaires au tunnel. Ensuite seulement viennent les paquets qui transportent réellement les données de mes applications. WireGuard utilise UDP pour ces échanges.
Voir un handshake récent signifiait donc quelque chose d’utile : mon ordinateur avait atteint le pair, les clés correspondaient et un petit échange avait réussi.
Mais cela ne signifiait pas que Git, Slack ou mon navigateur disposaient ensuite d’une route praticable.
Le handshake ressemble au badge qui ouvre l’entrée d’un bâtiment. Le badge peut fonctionner parfaitement alors que l’ascenseur vers votre étage est en panne.
Cette distinction expliquait enfin le symptôme qui m’agaçait : « connecté » et « utilisable » n’étaient pas le même état.
Un utilisateur de r/WireGuard décrivait en juin 2026 un problème très proche sur un Wi-Fi public : handshake réussi, environ 14 Kio envoyés et seulement 92 octets reçus, alors que les requêtes restaient bloquées. Le tunnel ne se comportait pas ainsi partout, ce qui déplaçait immédiatement le diagnostic vers le chemin réseau plutôt que vers les clés elles-mêmes.
Je n’avais plus besoin de recréer ma configuration. J’avais besoin de trouver ce qui se passait après le handshake.
J’ai commencé par le suspect le plus banal : la taille des paquets
Le MTU est le genre de réglage que l’on ignore jusqu’au jour où il transforme un VPN apparemment vivant en connexion fantôme.
Un tunnel ajoute des informations autour des paquets qu’il transporte. Si le réseau sous-jacent accepte des paquets plus petits que prévu, certains échanges peuvent se retrouver fragmentés ou bloqués. Cloudflare documente précisément ce problème : sur certains réseaux cellulaires ou Wi-Fi invités, le MTU réel peut être inférieur à celui attendu par le tunnel, au point de provoquer une connexion instable ou inutilisable.
L’image qui m’a aidé est simple. Le handshake est une petite enveloppe : elle passe sous la porte. Git arrive ensuite avec un carton : il reste coincé dans l’encadrement.
Un retour d’expérience technique publié en 2025 décrit d’ailleurs un tunnel WireGuard où la navigation fonctionnait partiellement alors que certaines connexions HTTPS, notamment vers GitHub, restaient bloquées jusqu’à ce que le MTU soit corrigé.
J’ai donc commencé par là plutôt que d’imaginer immédiatement un filtrage sophistiqué du Wi-Fi.
J’ai réduit le MTU et recommencé.
Les petits échanges continuaient à passer. Git, lui, restait pratiquement immobile.
J’ai encore abaissé la valeur. Toujours pas de git fetch utilisable.
Ce test avait au moins éliminé une fausse piste. Si le dépôt s’était soudain mis à télécharger, je me serais arrêté : j’aurais eu mon explication.
Mais le handshake continuait à me dire « oui » pendant que mes applications répondaient toujours « non ».
Il me fallait donc changer autre chose que le tunnel.
Le hotspot a supprimé presque toute l’ambiguïté
J’ai conservé exactement la même configuration WireGuard. Même ordinateur. Même pair. Même clés. Même AllowedIPs.
J’ai simplement coupé le Wi-Fi du centre de conférence et connecté l’ordinateur au partage 5G de mon téléphone.
Handshake. Puis git fetch. Les objets ont commencé à arriver. Slack a synchronisé les messages qui attendaient. J’ai ouvert une page Web, puis une deuxième. Tout fonctionnait. Je suis revenu sur le Wi-Fi invité. Handshake. Puis presque plus rien.
C’est à ce moment-là que j’ai cessé de considérer le serveur comme le problème principal. Le même tunnel fonctionnait dès que je changeais de réseau ; quelque chose sur le chemin du Wi-Fi invité empêchait donc le trafic de se comporter normalement après l’établissement de la session.
Je ne savais pas encore si le responsable précis était une politique UDP, un pare-feu, une classification du trafic ou un équipement intermédiaire.
Mais pour prendre la décision suivante, je n’avais plus besoin de le savoir.
WireGuard reconnaît lui-même une limite importante : l’obfuscation ne fait pas partie de ses objectifs. Lorsqu’un environnement réseau exige que le trafic ressemble moins à un tunnel WireGuard identifiable, cette couche doit être apportée séparément.
Et soudain, mon critère n’était plus le même. Je ne cherchais plus à obtenir un handshake. J’en avais déjà un. Je cherchais une connexion qui reste réellement exploitable après le handshake.
C’est là que j’ai cessé de réparer WireGuard
J’aurais pu continuer.
Changer le port. Capturer les paquets. Comparer les tailles. Examiner les routes. Tester méthodiquement le comportement UDP du réseau.
Si j’avais été chez moi en train d’administrer mon propre serveur pour les six prochains mois, cela aurait eu du sens.
Il me restait moins de dix minutes avant une démonstration.
La tâche n’était plus de comprendre le Wi-Fi du centre de conférence. La tâche était de récupérer ma branche et d’entrer dans l’appel sans abandonner le tunnel.
J’ai ouvert le petit service que j’avais gardé comme solution de secours et choisi le mode destiné aux réseaux difficiles.
Pas de nouveau fichier de configuration. Pas de port à choisir. Pas trois protocoles à essayer les uns après les autres. L’interface est organisée autour de l’action à accomplir, avec une connexion en une étape plutôt qu’une longue série de réglages.
Connexion. J’ai rouvert le terminal.
git fetch.
Cette fois, le compteur n’est pas resté presque immobile. Les objets ont défilé. Le dépôt s’est mis à jour.
J’ai lancé l’application de visioconférence pendant que je vérifiais la branche. L’écran de prévisualisation est apparu, puis l’appel a rejoint la salle.
C’était le premier résultat de l’après-midi qui comptait vraiment. Pas « handshake réussi ». Pas « serveur joignable ». Le travail passait.
Dans ce mode, le service utilise un transport basé sur HTTP/3 avec une couche supplémentaire d’obfuscation. HTTP/3 fonctionne au-dessus de QUIC, lui-même transporté sur UDP. Le point n’était donc pas simplement de remplacer « UDP qui échoue » par « autre chose qui n’utilise pas UDP ».
C’était plus subtil et, pour moi, beaucoup plus utile : le réseau ne voyait plus exactement le même type de tunnel que celui qui venait de rester presque vide.
Je ne pouvais pas lire les règles internes du Wi-Fi et nommer avec certitude l’équipement qui avait mal réagi à WireGuard. Mais je pouvais observer ce qui comptait : même ordinateur, même Wi-Fi invité, même dépôt, même réunion. Le premier tunnel échangeait correctement ses clés puis transportait à peine mes applications ; le second chemin terminait le git fetch et laissait l’appel démarrer.
Pour décider quoi utiliser dans les dix minutes suivantes, c’était suffisamment clair.
Le plus étrange était que WireGuard n’avait pas vraiment échoué
C’est la partie qui a changé ma façon de lire wg show.
Avant, je séparais les situations en deux catégories :
handshake absent = VPN cassé ; handshake présent = VPN fonctionnel. Je regarde maintenant une troisième catégorie.
Le handshake est présent, mais les compteurs sont extrêmement asymétriques. Quelques petites requêtes passent. Les applications, elles, restent suspendues.
Dans ce cas, le handshake devient le début du diagnostic, pas sa conclusion.
S’il n’y a aucun handshake, je regarde d’abord l’endpoint, les clés, le port, le NAT ou le pare-feu.
S’il y a un handshake mais que les échanges plus importants bloquent, je teste rapidement le MTU.
Et si exactement la même configuration fonctionne sur mon hotspot mais devient presque muette sur un Wi-Fi précis, je cesse de reconstruire le tunnel comme si le serveur avait soudain oublié comment fonctionner.
Le réseau devant moi vient de fournir l’indice le plus important.
C’est aussi ce qui m’a fait apprécier le choix du mode plutôt que celui du protocole. Au moment où j’avais besoin de travailler, je n’avais pas à déterminer si le meilleur prochain essai était un autre port, un autre pair ou une autre valeur de MTU. Je pouvais demander au service de traiter le problème comme ce qu’il était devenu pour moi : faire passer le trafic sur un réseau difficile.
Le service plus petit a une limite réelle : il propose moins de régions de sortie que les très grands fournisseurs. Pour quelqu’un dont la priorité est de choisir manuellement parmi un grand nombre de localisations, cela compte.
Ce n’était pas ma priorité devant ce terminal.
J’avais déjà une configuration WireGuard soigneusement réglée et un serveur parfaitement capable de répondre à son handshake. Ajouter davantage de destinations n’aurait pas rendu ce Wi-Fi plus coopératif.
Quelques minutes plus tard, la démonstration a commencé avec le dépôt à jour et l’appel connecté.
La ligne latest handshake était toujours une bonne nouvelle. J’avais simplement arrêté de la confondre avec la seule nouvelle qui comptait.
Ce jour-là, WireGuard avait réussi à se présenter au serveur ; ce qu’il me fallait, c’était un tunnel capable d’emmener aussi mes données jusqu’à la réunion.
Questions fréquentes
Qu’est-ce qu’un handshake WireGuard récent prouve réellement ?
Il indique que le pair a été atteint, que l’authentification par clés a fonctionné et qu’un petit échange a eu lieu. Il ne prouve pas que les flux applicatifs plus importants disposent ensuite d’un chemin utilisable.
Pourquoi peut-on avoir un handshake mais presque aucun trafic ?
Le problème peut apparaître après l’échange de clés : un MTU trop élevé, un comportement particulier du Wi-Fi invité, un pare-feu ou une politique réseau peuvent laisser passer les petits échanges tout en bloquant ou dégradant les données réelles.
Comment savoir rapidement si le Wi-Fi public est le problème ?
L’article conserve exactement la même configuration WireGuard et change seulement de réseau. Lorsque Git et Slack fonctionnent sur le hotspot 5G puis redeviennent presque muets sur le Wi-Fi invité, le chemin réseau fournit un indice bien plus fort qu’une nouvelle génération de clés.
Quand vaut-il mieux changer de voie plutôt que continuer à réparer WireGuard ?
Lorsque le temps est court et que l’objectif immédiat est de travailler, une solution de secours peut être rationnelle. Dans le récit, un autre tunnel fait passer les données sur le même Wi-Fi ; cela ne signifie pas que WireGuard est mauvais en général, seulement que ce chemin précis restait inutilisable pour le travail à cet instant.
Quelques liens que j’avais consultés à ce moment-là
- Microsoft Threat Intelligence — CaptiveCrunch, campagne de 2026 visant notamment les réseaux d’hôtels et de centres de conférence, et recommandations concernant les réseaux invités
- WireGuard — documentation officielle du protocole sur le handshake, les clés de session et le transport des données
- Reddit r/WireGuard — discussion publique de juin 2026 décrivant un handshake réussi mais un trafic extrêmement asymétrique sur un Wi-Fi public
- Cloudflare One — documentation sur Path MTU Discovery et les problèmes de tunnel liés à un MTU plus faible sur certains réseaux cellulaires ou Wi-Fi invités
- Headspace Wanderer — retour d’expérience technique sur un tunnel WireGuard fonctionnant partiellement jusqu’à la correction du MTU
- WireGuard — limites connues du protocole, notamment l’absence d’obfuscation intégrée
- OnlydogVPN — site officiel et présentation du fonctionnement du service
- IETF / RFC Editor — spécifications de HTTP/3 et QUIC · document complémentaire