Vitesse de téléchargement lente WSL ; Réseau lent (correctif)

 

Certains utilisateurs de Windows ont douloureusement remarqué téléchargements lents ou réponses réseau lentes dans WSL. Cela peut être dû à plusieurs raisons, mais en fin de compte, les composants fonctionnant avec NAT sont ici en faute. Dans cet article, nous verrons comment restaurer la pleine vitesse du réseau pour apte, curl, git, et toute autre opération réseau dans votre environnement Linux.

WSL 2 utilise une carte réseau virtualisée avec traduction d’adresses réseau (NAT). Cette couche NAT introduit une surcharge supplémentaire et peut entrer en conflit avec les composants réseau Windows. De plus, les paramètres réseau WSL par défaut (tels que IPv6, DNS ou MTU) ne correspondent souvent pas à votre réseau physique. Windows Defender peut également analyser chaque paquet passant entre WSL et le monde extérieur, réduisant ainsi considérablement le débit. Enfin, les anciennes versions de WSL ne disposent pas des optimisations de performances disponibles dans les versions plus récentes de Windows 11.

Vitesse de téléchargement lente WSL

Si vous rencontrez des vitesses de téléchargement lentes dans WSL et que le réseau est généralement lent, suivez les solutions ci-dessous.

  1. Activer le mode réseau en miroir
  2. Désactivez IPv6 dans WSL
  3. Passez à un résolveur DNS plus rapide
  4. Exclure WSL de l’analyse en temps réel de Windows Defender
  5. Ajuster la taille du MTU du réseau

Réseau WSL lent

1) Activer le mode réseau en miroir

La mise en réseau en miroir permet à WSL de partager la même adresse IP et les mêmes interfaces réseau que Windows, en contournant entièrement la couche NAT. Cela supprime la principale source de lenteur et réduit considérablement la latence. Pour ce faire, suivez les étapes mentionnées ci-dessous.

  1. Fermez toutes les instances et terminaux WSL.
  2. Ouvrir Windows PowerShell ou Invite de commande en tant qu’administrateur.
  3. Créer ou modifier le .wslconfig fichier dans votre dossier utilisateur Windows.
notepad "$env:USERPROFILE\.wslconfig"

Maintenant, ajoutez les lignes suivantes au fichier.

(wsl2)
networkingMode=mirrored
dnsTunneling=true
firewall=true

Enregistrez le fichier et redémarrez complètement WSL.

Maintenant, exécutez la commande wsl --shutdown.

Enfin, lancez WSL et voyez si cela aide.

2) Désactivez IPv6 dans WSL

De nombreux routeurs et FAI gèrent mal IPv6, ce qui entraîne des délais d’attente, des tentatives et des retours lents vers IPv4. Par conséquent, la désactivation d’IPv6 force tout le trafic à passer par le chemin IPv4 le plus rapide. Pour faire de même, suivez les étapes mentionnées ci-dessous.

  • Ouvrez votre terminal WSL.
  • Modifiez le fichier de configuration sysctl à l’aide de la commande sudo nano /etc/sysctl.conf
  • Ajoutez ces deux lignes à la fin :
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
  • Enregistrez le fichier et appliquez les modifications :
sudo sysctl -p
  • Testez la vitesse avec curl -4 -o /dev/null

Enfin, vérifiez si le problème est résolu.

3) Passez à un résolveur DNS plus rapide

WSL hérite des paramètres DNS de Windows mais utilise souvent un résolveur lent ou peu fiable. Cloudflare (1.1.1.1) ou Google (8.8.8.8) répondent plus rapidement et réduisent les délais pour chaque recherche de domaine, accélérant sensiblement les mises à jour et les téléchargements de packages.

Dans votre terminal WSL, désactivez la génération automatique de DNS :

sudo nano /etc/wsl.conf

Ajoutez ces lignes :

(network)
generateResolvConf = false

Enregistrez et quittez. Supprimez ensuite l’ancien resolv.conf et créez-en un nouveau :

sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf

Collez ce qui suit :

nameserver 1.1.1.1
nameserver 8.8.8.8

Enregistrez le fichier et protégez-le contre l’écrasement :

sudo chattr +i /etc/resolv.conf

Redémarrez WSL avec wsl --shutdown à partir de PowerShell.

4) Exclure WSL de l’analyse en temps réel de Windows Defender

Windows Defender analyse chaque fichier lu ou écrit par les processus WSL, y compris les données de téléchargement temporaires. Cela ajoute une énorme surcharge du processeur. L’exclusion du système de fichiers virtuel WSL arrête l’analyse et augmente instantanément les vitesses de téléchargement. Vous devez suivre les étapes mentionnées ci-dessous pour faire de même.

  1. Ouvrir Sécurité Windows.
  2. Aller à Protection contre les virus et les menaces > Gérer les paramètres.
  3. Accédez à Exclusion, et cliquez sur Ajoutez ou supprimez des exclusions.
  4. Cliquez sur Ajoutez une exclusion > Dossier.
  5. Coller sur le chemin – \\wsl.localhost\.
  6. Cliquez sur Sélectionnez Dossier. Confirmez que l’exclusion apparaît.
  7. Ajoutez également une exclusion pour votre dossier de distribution spécifique si vous connaissez son chemin (par exemple, C:\Utilisateurs\VotreNom\AppData\Local\Packages\…\LocalState\rootfs).

Redémarrez complètement WSL : fermez tous les terminaux, puis exécutez wsl --shutdown dans PowerShell.

5) Ajustez la taille du MTU du réseau

Une unité de transmission maximale (MTU) incorrecte provoque une fragmentation et des retransmissions des paquets, détruisant silencieusement les performances. La définition du MTU approprié (généralement 1 500 pour Ethernet ou 1 420 pour PPPoE/VPN) élimine cette surcharge.

Tout d’abord, trouvez votre MTU optimale sous Windows. Ouvrez PowerShell en tant qu’administrateur et exécutez.

ping -f -l 1472 8.8.8.8

Réduisez le nombre (1472, 1450, 1400) jusqu’à ce que vous obteniez une réponse sans fragmentation. Ajoutez 28 pour obtenir le MTU.

Pour le rendre permanent, créez un script de démarrage.

sudo nano /etc/wsl.conf

Ajoutez les lignes de code suivantes.

(boot)
command = "ip link set dev eth0 mtu 1500"

Enregistrez, quittez, puis exécutez.

Espérons qu’avec l’aide de ces solutions, votre problème sera résolu.

Lire: Exécutez RHEL/Fedora sur le sous-système Windows pour Linux (WSL)

Comment augmenter la vitesse WSL ?

Activez le mode réseau en miroir dans .wslconfig pour contourner le goulot d’étranglement NAT. Désactivez IPv6 dans WSL pour éviter les délais de repli. Passez aux résolveurs DNS rapides comme 1.1.1.1 et excluez \\wsl.localhost\ de l’analyse en temps réel de Windows Defender. Ajustez votre MTU à 1 500 et assurez-vous d’exécuter wsl –update pour récupérer les derniers correctifs de performances de Microsoft.

Lire: Comment mettre à jour le noyau WSL sur Windows 11

Pourquoi ma vitesse de téléchargement est-elle si lente sur LAN ?

WSL 2 utilise un NAT virtuel qui ajoute une surcharge et peut signaler de manière erronée votre carte réseau physique. Windows Defender analyse également chaque transfert de fichiers, réduisant considérablement le débit. Un MTU incompatible ou un routage IPv6 problématique sur votre routeur local peut fragmenter davantage les paquets. Pour résoudre le problème, passez au réseau en miroir, excluez WSL des analyses antivirus et vérifiez la force de votre câble LAN ou du signal Wi-Fi.

Lire aussi : WSL a cessé de fonctionner avec l’erreur 0x80070003,