WSL - Workaround pour l'accès réseau WSL via un VPN
De PedroWiki
Sommaire
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:
- WSL2 , problem with network connection when VPN used (PulseSecure).
- DNS server coming from vpn network is not reflected in WSL.
- wsl 2 ubuntu 18.04 unable to connect to IP resources with Cisco Annyconnect active.
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.