Carnet de bordNotes personnelles

Quand le VPN coupe le terminal WSL2

Windows reste connecté tandis qu’un terminal WSL2 échoue à joindre les dépôts Ubuntu sous VPN

Vous êtes en plein travail sur votre poste Windows. Dans votre terminal WSL2, vous lancez un banal git push, un npm install ou une mise à jour de paquets avec apt update. Le curseur clignote, hésite de longues secondes, puis la commande s'effondre sur un message d'erreur fatal : impossible de résoudre l'hôte ou délai de connexion dépassé.

Pourtant, à côté, votre navigateur Windows fonctionne à merveille. Vous regardez votre barre des tâches : le VPN de votre machine vient de s'activer en arrière-plan.

Le premier réflexe de nombreux développeurs consiste à croire que leur distribution Linux est cassée, que Docker a corrompu les interfaces ou que le fichier /etc/resolv.conf doit être réécrit à la main pour la dixième fois de la semaine. Certains vont même jusqu'à couper temporairement le pare-feu Windows pour débloquer leur compilation.

C’est une erreur de diagnostic, et surtout une faille de sécurité majeure : votre sous-système Linux n'a aucun problème, il est simplement pris en étau entre l'architecture de virtualisation de Microsoft et le mécanisme de filtrage du VPN.

Résumé de l’article et contexte d’usage

Pourquoi WSL2 perd-il le réseau quand le VPN Windows s’active ?

L’article explique que WSL2 utilise par défaut une architecture réseau virtualisée distincte de Windows. Un VPN peut alors perturber le routage ou le DNS du sous-système, tandis que le mode réseau en miroir et le tunnelage DNS rapprochent WSL2 de la pile réseau de l’hôte.

À retenir

  • Pour qui : les développeurs sous Windows qui voient le navigateur fonctionner alors que WSL2 perd l’accès au réseau dès que le VPN s’active.
  • Point clé : le diagnostic doit d’abord porter sur l’architecture réseau WSL2, le pare-feu et le DNS, plutôt que sur une réécriture répétée de /etc/resolv.conf.
  • Contexte produit : OnlydogVPN correspond surtout au cas décrit où l’on veut conserver des flux locaux de développement tout en utilisant un transport moderne et plus résilient.
  • Limite : un VPN ne remplace pas la configuration système : si WSL2 est mal routé, le mode miroir, le tunnelage DNS et les règles Windows restent à corriger.

Sources déjà présentes dans l’article : Microsoft Learn — réseau WSL et mode miroir; OnlyDogsVPN — site officiel.

Quand Windows marche et Linux décroche

Ce comportement paradoxal — Windows en ligne, Linux coupé du monde — est un classique des environnements de développement modernes. Pourquoi deux systèmes tournant sur le même processeur réagissent-ils de façon opposée dès qu'un tunnel s'ouvre ?

Par défaut, WSL2 ne tourne pas directement sur votre carte réseau physique. Il s'exécute dans une machine virtuelle légère adossée à Hyper-V, dotée de sa propre adresse IP interne et reliée à votre PC par un adaptateur virtuel. Pour sortir sur Internet, Linux doit utiliser votre système Windows hôte comme passerelle et routeur.

Les interfaces Wi-Fi, VPN et vEthernet WSL apparaissent côte à côte dans les réglages réseau Windows
Le problème n’était pas caché dans Ubuntu : l’interface virtuelle de WSL se retrouvait traitée comme un réseau local de plus.

C’est ici que le piège se referme. Lorsque vous activez un client VPN classique sur Windows, celui-ci installe des règles très strictes au cœur du système (via la plateforme de filtrage Windows, WFP) afin d'éviter toute fuite de données hors du tunnel chiffré. Dans cette logique de cloisonnement, l'adaptateur virtuel de WSL2 est souvent perçu comme une source de trafic externe non approuvée.

Le pare-feu du VPN bloque alors net les paquets provenant de votre terminal Linux avant même qu'ils ne puissent emprunter le tunnel. Dans le même temps, le VPN redirige autoritairement toutes les requêtes DNS vers ses propres serveurs distants, rendant le résolveur local de Linux totalement sourd et aveugle.

Le mode miroir de WSL2

Pendant des années, la réponse communautaire à ce problème a consisté en une série de bricolages pénibles : écrire des scripts PowerShell au démarrage de Windows pour recalculer les adresses de passerelle, verrouiller /etc/resolv.conf en lecture seule ou forcer des adresses IP statiques. Ces solutions artisanales cassaient à la première mise à jour système.

Aujourd'hui, il existe une solution officielle, pérenne et native intégrée par Microsoft : le mode réseau en miroir (mirrored networking).

Au lieu d'enfermer Linux derrière une passerelle virtuelle séparée qui se fait rejeter par le pare-feu de l'hôte, ce mode permet à WSL2 d'emprunter directement l'identité et les interfaces réseau de votre machine Windows.

Pour activer cette synchronisation en soixante secondes :

Ouvrez votre dossier utilisateur Windows (accessible via %USERPROFILE% dans l'explorateur). Créez ou modifiez le fichier nommé .wslconfig.

Ajoutez-y les directives suivantes : Ini, TOML

[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true

Ouvrez PowerShell et redémarrez votre sous-système pour appliquer les changements : PowerShell

wsl --shutdown

Grâce à cette configuration, le tunnelage DNS est géré directement par Windows et les paquets émis par votre terminal Linux adoptent la même route légitime que ceux de votre navigateur. Votre console retrouve immédiatement l'accès au réseau sans que vous ayez à toucher à la moindre ligne de commande à l'intérieur de votre distribution.

Ce que le VPN change pour les outils locaux

Le mode miroir résout l'essentiel des conflits de routage, mais il révèle une autre friction : celle des outils VPN traditionnels. Beaucoup de solutions du marché ont été conçues avec des protocoles lourds et des pilotes réseau rigides, pensés pour la simple bureautique sédentaire plutôt que pour les contraintes techniques du développement logiciel.

Certains logiciels historiques continuent d'écraser les sockets locaux, interfèrent avec les conteneurs Docker ou coupent brutalement vos transferts de paquets lourds dès que votre connexion Wi-Fi faiblit.

C'est sur ce terrain d'agilité que OnlydogVPN↗ se distingue. Au lieu de surcharger la pile réseau de Windows avec des pilotes invasifs qui perturbent les commutateurs virtuels, cette solution s'appuie sur une architecture moderne articulée autour du protocole HTTP/3 avec camouflage natif du trafic.

Pour un environnement de développement, cette conception change la donne :

Préservation des flux locaux : Le routage intelligent de l'application sécurise vos échanges extérieurs sans casser les adresses de bouclage (localhost) indispensables à vos serveurs de test, vos bases de données conteneurisées et vos environnements Docker.

Résilience des sessions : Grâce à une capacité de récupération sur réseau instable jusqu'à 60 % plus rapide que celle des protocoles conventionnels, vous ne perdez pas vos sessions SSH, vos clonages de dépôts volumineux ou vos téléchargements de dépendances lors d'un passage instantané d'une borne Wi-Fi à une autre.

Simplicité opérationnelle : Aucun sous-menu ésotérique à régler. Des profils d'intention clairs (« Vitesse maximale », « Protection renforcée ») calibrent automatiquement les flux, garantissant que votre machine reste protégée sans jamais paralyser vos outils de compilation.

Garder le travail en route

Face à un terminal muet, la tentation de désactiver son pare-feu ou de renoncer à son VPN sur son poste de travail est une fausse solution qui expose inutilement votre machine sur les réseaux publics ou professionnels.

La démarche pérenne repose sur une séparation claire des responsabilités :

Au niveau du système : Adoptez les réglages avancés de .wslconfig avec le mode miroir et le tunnelage DNS pour éliminer les incohérences de passerelle entre Windows et Hyper-V. Au niveau du réseau : Privilégiez une solution moderne, légère et respectueuse des interfaces locales, accessible sans friction de mot de passe par simple code magique par e-mail.

En configurant votre environnement selon les standards actuels et en vous équipant d'un outil réseau pensé pour la souplesse, vous n'avez plus à choisir entre protéger vos données et faire fonctionner votre terminal. Vos commandes s'exécutent, vos paquets se téléchargent, et votre concentration reste là où elle doit être : sur votre code.

Questions fréquentes

Pourquoi Windows reste-t-il connecté alors que WSL2 perd Internet quand le VPN s’active ?

WSL2 utilise par défaut une interface réseau virtualisée derrière Windows. Le tunnel VPN, ses règles de pare-feu ou sa gestion du DNS peuvent laisser les applications Windows fonctionner tout en bloquant ou en désorientant le trafic provenant de WSL2.

À quoi sert le mode réseau en miroir de WSL2 dans ce cas ?

Le mode miroir fait utiliser à WSL2 une architecture plus proche des interfaces réseau de Windows. Dans l’article, il est associé à dnsTunneling et autoProxy afin d’améliorer la compatibilité avec les VPN et d’éviter les bricolages de passerelle ou de résolveur.

Faut-il réécrire /etc/resolv.conf ou couper le pare-feu pour récupérer le réseau ?

L’article déconseille ces contournements comme solution durable. Il privilégie les réglages WSL2 prévus par Windows et évite de désactiver des protections système simplement pour rétablir une commande réseau.

Que faut-il vérifier si le terminal reste instable après le passage en mode miroir ?

Il faut encore regarder le comportement du client VPN avec les interfaces locales, les conteneurs et les changements de réseau. Le mode miroir corrige une partie du problème, mais il ne garantit pas à lui seul qu’un logiciel VPN n’interférera jamais avec les flux locaux.