WSL - Workaround pour l'accès réseau WSL via un VPN : Différence entre versions

De PedroWiki
(Workaround)
 
Ligne 19 : Ligne 19 :
 
* Dans votre client VPN (Cisco AnyConnect, FortiClient, client PulseSecure, profil VPN Windows...), déconnectez vous.
 
* Dans votre client VPN (Cisco AnyConnect, FortiClient, client PulseSecure, profil VPN Windows...), déconnectez vous.
 
* Fermez le client VPN.
 
* Fermez le client VPN.
 +
 +
== Lancer une distribution Linux ==
 +
 +
Si ce n'est pas déjà le cas:
 +
* si vous l'utilisez, lancez Windows Terminal.
 +
* ouvrir une distribution Linux (Debian dans mon cas).
  
 
== Désactiver l'interface réseau WSL ==
 
== Désactiver l'interface réseau WSL ==

Version actuelle datée du 17 septembre 2021 à 09:48

Introduction

WSL2, successeur de WSL1, permet de bénéficier d'un fonctionnement différent (exécution native des distributions Linux et non plus émulation/virtualisation), de fonctionnalités avancées, notamment l'utilisation de Docker. Vous pouvez donc être amené à passer de WSL1 à WSL2 pour des besoins spécifiques.

WSL2 présente un souci lors de l'établissement d'un tunnel VPN: une fois le tunnel établit, on perd l'accès réseau dans sa distribution WSL.

Quelques références à ce bug:

Un workaround efficace est décrit dans la vidéo suivante.

Workaround

Déconnecter le VPN

  • Dans votre client VPN (Cisco AnyConnect, FortiClient, client PulseSecure, profil VPN Windows...), déconnectez vous.
  • Fermez le client VPN.

Lancer une distribution Linux

Si ce n'est pas déjà le cas:

  • si vous l'utilisez, lancez Windows Terminal.
  • ouvrir une distribution Linux (Debian dans mon cas).

Désactiver l'interface réseau WSL

Dans une fenêtre PowerShell en administrateur:

netsh interface set interface "vEthernet (WSL)" disable

Connecter le VPN

  • Lancer votre client VPN (Cisco AnyConnect, FortiClient, client PulseSecure, profil VPN Windows...).
  • Vérifier que vous contactez bien les ressources accessibles uniquement via le VPN.

Réactiver l'interface réseau WSL

Dans une fenêtre PowerShell en administrateur:

netsh interface set interface "vEthernet (WSL)" enable

Tester

Depuis votre distribution WSL favorite:

ping 8.8.8.8
ping www.google.fr

Les 2 commandes doivent fonctionner:

  • accès réseau.
  • résolution DNS.