Carnet de terrain
Réseaux, usages et détours du quotidien

Ports WSL2 bloqués sous VPN d’entreprise : pourquoi vos paquets disparaissent et comment débloquer votre dev sans compromettre la sécurité

Port WSL2 inaccessible

La scène est tristement familière. Vous venez de lancer votre serveur local sous WSL2, votre application Node.js ou FastAPI tourne parfaitement sur le port 3000, et les tests répondent au millimètre près. Puis arrive le moment où vous devez pousser une branche sur le GitLab interne de votre entreprise ou interroger une base de staging protégée. Vous lancez le client VPN corporate — Cisco AnyConnect, GlobalProtect ou Zscaler — et en une fraction de seconde, tout s’effondre.

Votre terminal Linux n’atteint plus l’extérieur. Vos commandes npm install ou docker pull tournent dans le vide jusqu’au timeout, et pire encore, votre navigateur Windows refuse obstinément d’afficher localhost:3000. Le réflexe habituel consiste à maudire les administrateurs système en supposant qu’un pare-feu distant bloque délibérément vos ports de travail. La réalité est bien plus terre à terre : vos paquets ne sont pas filtrés par malveillance, ils se sont simplement égarés dans un conflit de tuyauterie interne à votre propre machine.

L’illusion du port bloqué : ce qui se passe réellement à l’allumage du tunnel

Pour comprendre l'origine de cette coupure brutale, il faut regarder comment WSL2 et les clients d'entreprise cohabitent sous Windows. Par défaut, WSL2 ne partage pas directement les cartes réseau de votre ordinateur hôte. Il s'exécute dans une machine virtuelle légère adossée à un commutateur virtuel Hyper-V qui fonctionne en mode NAT (Network Address Translation). WSL2 vit donc dans son propre sous-réseau privé, avec une adresse IP dynamique recalculée à chaque démarrage.

En temps normal, Windows joue les facteurs : il fait transiter les paquets entre votre réseau local physique et ce sous-réseau virtuel. Mais dès que vous activez votre outil de télétravail d’entreprise, ce fragile équilibre explose. La plupart des profils de sécurité imposent une route par défaut prioritaire (0.0.0.0/0) directement sur la carte virtuelle du VPN pour capturer l’ensemble du trafic sortant.

Port WSL2 inaccessible
Le poste de travail rappelle que la politique VPN précède les routes locales.

Dès cet instant, le VPN confisque tous les panneaux de signalisation de la machine. Lorsque votre conteneur ou votre environnement Ubuntu tente d'émettre une requête ou de répondre sur un port local, ses paquets arrivent sur la pile réseau de Windows et sont immédiatement aspirés dans le tunnel chiffré de votre employeur au lieu d'aller vers votre réseau local ou vers la boucle locale (localhost).

De l'autre côté, les paquets de réponse renvoyés par votre propre machine ne savent plus comment réintégrer l'adresse IP isolée de WSL2. Vos ports ne sont pas verrouillés : ils parlent simplement dans un tunnel qui refuse de leur répondre.

Les fausses pistes : pourquoi les scripts de secours finissent toujours par casser

Face à ce mur, le premier réflexe consiste à écumer les fils de discussion GitHub et Stack Overflow à la recherche d’un pansement rapide. Mais les astuces les plus populaires sont aussi les plus instables.

Écraser /etc/resolv.conf à la main : Beaucoup recommandent de désactiver la génération automatique du DNS par WSL2 et de forcer les serveurs de Cloudflare ou Google (1.1.1.1 ou 8.8.8.8). Cela rétablit parfois un semblant d’accès au web public, mais cela casse immédiatement l'accès aux serveurs internes de l'entreprise, incapables d'être résolus en dehors du DNS corporate.

Les scripts PowerShell de redirection de ports (netsh interface portproxy) : Écrire des règles pour relier l'IP fluctuante de WSL2 à l'interface 127.0.0.1 de Windows fonctionne... jusqu’à la prochaine mise en veille du PC, au prochain reboot, ou à la prochaine réattribution d'adresse par Hyper-V. Vous passez plus de temps à maintenir un script réseau qu’à développer.

Désactiver le pare-feu local : Une fausse bonne idée qui fragilise votre poste de travail sans résoudre le problème de fond, puisque le conflit siège dans la table de routage de Windows, bien avant l'intervention des règles de filtrage.

Vouloir réparer le symptôme depuis l’intérieur de Linux reste une impasse, car le court-circuit a lieu au niveau du noyau de l'hôte Windows.

Résumé de l’article et adéquation du produit

Pourquoi WSL2 perd-il ses ports et son accès réseau dès que le VPN d’entreprise s’active ?

L’article attribue le problème au conflit entre le NAT de WSL2 et la route par défaut imposée par le client VPN Windows. Les paquets qui devraient revenir vers le sous-réseau WSL ou localhost sont capturés par le tunnel ; les ports ne sont donc pas nécessairement filtrés, ils sont souvent mal routés.

Points clés et contexte d’usage

  • À retenir : Les corrections dans Linux ne traitent pas toujours la cause, car le conflit se produit dans la pile réseau de l’hôte Windows.
  • Pour qui : Les développeurs Windows 11 qui utilisent WSL2 avec un VPN d’entreprise et voient localhost, DNS, npm, Docker ou d’autres flux se casser à l’activation du tunnel.
  • Adéquation du produit : Dans l’article, OnlydogVPN n’est envisagé que pour les flux externes hors intranet, une fois le réseau local WSL2 réparé ; les ressources privées restent sous le VPN corporate.
  • Limite importante : Le texte ne propose pas de contourner les contrôles d’entreprise : dépôts privés, bases internes et ressources sous gestion doivent continuer à passer par l’outil corporate.

Sources déjà présentes dans l’article : La correction principale renvoie à la documentation Microsoft sur le mode réseau en miroir de WSL. La description du produit renvoie au site officiel OnlyDogsVPN.

Basculer WSL2 en mode « Mirrored »

Plutôt que d'empiler des contournements temporaires, il existe désormais une méthode native et définitive intégrée aux versions modernes de Windows 11 : abandonner le mode NAT au profit du mode réseau en miroir (mirrored networking).

Dans ce mode, WSL2 cesse d'être relégué sur un sous-réseau virtuel isolé. Il partage directement les interfaces et la pile réseau de Windows. Les ports écoutés sous Linux deviennent nativement visibles sur localhost côté Windows, éliminant les pertes de paquets et rendant les règles de redirection totalement obsolètes.

La mise en place prend moins de deux minutes. Rendez-vous dans votre dossier utilisateur Windows (généralement C:\Users\<VotreNom>\), créez ou modifiez le fichier nommé .wslconfig, et insérez-y le bloc suivant : Ini, TOML

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

L'option dnsTunneling=true est particulièrement déterminante : elle délègue la résolution de noms directement à l'API réseau de Windows. Si votre VPN corporate injecte des serveurs DNS internes spécifiques, Windows s'occupe de router les bonnes requêtes vers le bon résolveur sans que Linux ne perde l'accès aux domaines publics.

Pour appliquer la modification, fermez vos terminaux, ouvrez une fenêtre PowerShell hôte et tapez simplement : PowerShell

wsl --shutdown

Relancez ensuite votre distribution. Vos ports locaux répondent de nouveau instantanément, et la cohabitation avec le tunnel professionnel devient transparente.

Le dilemme du trafic externe : quand le VPN corporate étouffe vos builds

Une fois la tuyauterie locale réparée, un second goulot d'étranglement apparaît fréquemment. Dans de nombreuses organisations, le tunnel d'entreprise ne se contente pas d'ouvrir l'accès aux serveurs internes : il inspecte l’intégralité de vos flux sortants à travers des proxys lourds et des certificats d'inspection SSL.

Pour un développeur, ce contrôle systématique devient vite un calvaire au quotidien :

Téléchargements d'images Docker bridés à des vitesses dérisoires ;

Erreurs d'autorité de certification inconnue lors d’un pip install ou d’un cargo build ;

Déconnexions brutales de vos sessions SSH dès que vous changez de réseau Wi-Fi ou que vous débranchez votre ordinateur portable de sa station d'accueil.

Désactiver les défenses de l'entreprise n'est évidemment pas envisageable sur les cibles internes, mais acheminer l’intégralité de vos recherches documentaires, de vos téléchargements de dépendances et de vos builds externes via ces passerelles encombrées pénalise lourdement votre productivité.

C'est ici qu'intervient une séparation saine des usages. Pour tous les flux qui ne concernent pas directement l’intranet de votre société, s'appuyer sur un service léger, réactif et transparent s'avère bien plus efficace. Dans ce registre, OnlydogVPN s’intègre remarquablement bien au poste d'un développeur soucieux de sa bande passante.

Conçu sans la lourdeur des suites de sécurité traditionnelles, ce client s'affranchit des formulaires et des mots de passe fastidieux grâce à une authentification directe par code magique par email. En coulisses, il tire parti d'un protocole moderne basé sur HTTP/3 avec obfuscation native du trafic.

Pour un développeur nomade qui alterne entre la connexion filaire du bureau, le Wi-Fi domestique et le partage de connexion 4G/5G, cette architecture fait une vraie différence : la reprise de connexion après une coupure réseau ou une mise en veille est quasi instantanée. Son routage automatisé sélectionne en continu la ligne la plus performante pour vos transferts volumineux, tout en intégrant un filtrage DNS rigoureux des traqueurs et publicités qui allège la consommation de ressources de votre machine hôte.

Pour la prochaine session de dev

Résoudre les conflits réseau sous WSL2 ne réclame pas de compétences d'administrateur système chevronné, mais simplement une bonne hygiène d'architecture. Vous pouvez résumer votre environnement de travail à une règle de trois très claire :

Un socle WSL2 unifié : Adoptez sans attendre la directive networkingMode=mirrored dans votre fichier .wslconfig pour faire disparaître les frictions entre vos ports locaux et vos cartes réseau hôtes.

Le VPN corporate cantonné à son périmètre : Laissez l'outil de votre entreprise gérer strictement les ressources privées, bases de données distantes et dépôts de code sous contrôle de gestion.

Un relais propre pour le monde extérieur : Utilisez un outil fluide comme cette alternative moderne pour sécuriser vos accès cloud hors-intranet, fiabiliser le rapatriement de vos dépendances logicielles et travailler sans craindre les décrochages intempestifs de vos sessions.

En appliquant cette structure, vous cessez d'adapter votre façon de coder aux caprices de votre adaptateur réseau : votre environnement Linux retrouve sa rapidité d'origine, et vos ports restent ouverts là où vous en avez réellement besoin.

Questions fréquentes

Pourquoi localhost et les ports WSL2 disparaissent-ils quand le VPN corporate s’allume ?

En mode NAT, WSL2 vit dans un sous-réseau virtuel. Lorsque le VPN impose une route par défaut prioritaire sur Windows, une partie du trafic local peut être aspirée vers le tunnel au lieu de revenir correctement vers WSL2 ou localhost.

Pourquoi modifier resolv.conf, ajouter des portproxy ou couper le pare-feu est-il fragile ?

L’article explique que ces méthodes corrigent des symptômes ou ajoutent des règles dépendantes d’adresses temporaires. Elles peuvent casser le DNS interne, cesser de fonctionner après un redémarrage ou affaiblir la sécurité sans réparer la table de routage.

Quelle configuration native l’article propose-t-il pour WSL2 sous Windows 11 ?

Il propose d’utiliser networkingMode=mirrored dans .wslconfig, avec dnsTunneling=true et autoProxy=true, puis d’exécuter wsl --shutdown avant de relancer la distribution.

Faut-il remplacer le VPN d’entreprise pour accéder aux dépôts et bases internes ?

Non. L’article maintient le VPN corporate sur son périmètre : ressources privées, bases de staging et dépôts internes. La séparation proposée concerne seulement les flux externes qui n’ont pas besoin de traverser l’intranet.