WSL est génial, mais le réseau est un gâchis — voici comment je l'ai résolu

/fr/images/wsl-networking-mess.jpg

Si vous avez besoin d’utiliser à la fois Linux et Windows assez fréquemment, le sous-système Windows pour Linux, ou WSL, vous a probablement sauvé la vie. C’est une fonctionnalité intéressante qui facilite beaucoup la réunion de ces deux éléments, et lorsque vous l’associez à quelque chose comme X410, cela améliore vraiment l’expérience Linux sur votre PC Windows.

Mais tout n’est pas parfait, et malgré toute l’utilité de WSL, les utilisateurs plus avancés ont remarqué de gros problèmes, le réseau étant l’un des problèmes majeurs. Avec Linux fonctionnant sous Windows, la gestion de la connexion réseau pour l’hôte et l’invité peut être un défi, du moins dès le départ.

La mise en réseau dans WSL peut être un désastre

Les services locaux et les VPN posent des problèmes

/fr/images/ubuntu-networking-info.jpg

WSL est génial, mais lorsqu’il s’agit de réseautage, les choses peuvent devenir un peu confuses, notamment parce que WSL a un peu changé son comportement depuis ses débuts. Initialement, WSL utilisait une configuration qui permettait à d’autres appareils de votre réseau d’accéder aux applications WSL sur votre ordinateur à condition qu’ils aient accès à l’ordinateur hôte lui-même. Cela a rendu les choses un peu plus transparentes puisque vous utiliseriez simplement l’adresse IP de la machine hôte pour vous connecter à vos applications WSL.

Avec WSL2, cependant, l’instance Linux utilise une carte réseau virtuelle à laquelle est attribuée sa propre adresse IP. Vous devrez donc peut-être suivre certaines étapes supplémentaires avec la configuration par défaut. La configuration réseau rend également plus difficile l’accès aux services réseau sous Windows via votre machine Linux. Ainsi, non seulement la configuration est plus compliquée, mais elle est également plus sujette aux erreurs. Et une fois que les VPN sont impliqués, cela peut être un énorme désastre pour les applications Linux de pouvoir utiliser le réseau lorsque le VPN est contrôlé par Windows.

À partir de Windows 11 version 22H2, Microsoft a pris certaines mesures pour résoudre certains de ces problèmes. Une nouvelle fonctionnalité appelée tunneling DNS a été ajoutée, qui permettait aux requêtes DNS d’être traitées par une couche de virtualisation plutôt que via un paquet réseau, ce qui a grandement amélioré la prise en charge de la connectivité lors de l’utilisation de VPN.

Cela peut être facile à résoudre

Le mode miroir à la rescousse

/fr/images/wslconfig-file.jpg

Dans le comportement par défaut, WSL utilise une architecture basée sur NAT qui peut contribuer à de nombreux problèmes que vous rencontrez lors de l’utilisation des fonctionnalités réseau dans WSL. Si vous souhaitez améliorer votre expérience réseau, le mieux est d’utiliser le mode réseau en miroir. Cette option a également été ajoutée dans Windows 11 version 22H2, mais elle n’est pas activée par défaut et tente de refléter les interfaces réseau de votre hôte Windows, permettant la prise en charge de plus de fonctionnalités et améliorant la compatibilité avec d’autres outils.

Cela inclut la possibilité d’utiliser IPv6, de se connecter aux services exécutés sur l’hôte Windows à l’aide de l’adresse localhost (127.0.0.1), une meilleure compatibilité pour les VPN et la possibilité de se connecter à vos services WSL directement à partir d’autres machines de votre réseau local, de la même manière que cela fonctionnait avec WSL1. C’est une assez longue liste d’avantages, et même Microsoft recommande de l’essayer dans votre configuration WSL. Alors comment faire ?

Eh bien, c’est assez facile. Si vous utilisez WSL2, vous pouvez trouver une application appelée Paramètres WSL dans votre menu Démarrer, ce qui modifie les paramètres globaux de toutes vos distributions WSL. Lancez-le, puis dirigez-vous vers l’onglet Réseau sur le côté gauche de l’application.

/fr/images/wsl-settings-1.jpg

Le mode réseau est la première option sur la page, alors changez-le simplement en Miroir et fermez l’application.

/fr/images/wsl-settings-networking.jpg

Pour que vos paramètres prennent effet, vous devrez peut-être redémarrer WSL. Vous pouvez le faire en ouvrant un terminal et en entrant la commande wsl–shutdown pour désactiver la machine virtuelle WSL2. Lancez à nouveau votre distribution pour la redémarrer. Alternativement, le redémarrage de votre PC devrait également fonctionner.

Si vous ne souhaitez pas utiliser l’interface graphique, vous pouvez créer et modifier manuellement le fichier de configuration WSL. Vous devrez créer un fichier appelé.wslconfig dans votre dossier utilisateur (C:\Users\ ) si vous ne l’avez pas déjà fait et le modifier dans le Bloc-notes. Pour activer le mode réseau en miroir, vous devrez ajouter les lignes suivantes au fichier, puis enregistrer vos modifications :

wsl2

networkingMode = miroir

En plus de cela, vous souhaiterez peut-être exécuter la commande PowerShell suivante pour configurer le pare-feu Hyper-V afin qu’il autorise les connexions entrantes sur votre machine WSL :

Set-NetFirewallHyperVVMSetting-Name ‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'-DefaultInboundAction Autoriser

Une fois cela fait, vos outils réseau devraient beaucoup mieux fonctionner via WSL.

Cela devrait être la valeur par défaut

Pourquoi même utiliser la méthode la moins fonctionnelle ?

/fr/images/truenas-in-firefox-in-wsl.jpg

Ce qui est intéressant à propos du mode réseau en miroir dans WSL, c’est que même s’il est disponible depuis environ trois ans, Microsoft n’utilise toujours pas cette méthode par défaut pour les nouvelles configurations WSL. Les documents de l’entreprise ne font état d’aucune limitation évidente de cette configuration, et les avantages sont nombreux. La société demande aux utilisateurs d’envoyer des commentaires sur tous les problèmes qu’ils rencontrent, mais étant donné que cela fait trois ans et qu’aucun problème spécifique n’est mentionné dans la documentation, on pourrait penser que c’est suffisamment fiable pour être le comportement par défaut. Surtout lorsque l’entreprise déclare explicitement qu’il est recommandé d’essayer le mode réseau en miroir.

Quoi qu’il en soit, utiliser Linux dans Windows est quelque chose que la plupart ne feront qu’à des fins très spécifiques, et la mise en réseau sera probablement l’une des principales raisons pour lesquelles vous souhaitez le faire en premier lieu. Certains services auto-hébergés peuvent devoir fonctionner sous Linux ou mieux fonctionner sur la plate-forme, et ces problèmes de réseau rendent l’expérience beaucoup plus frustrante qu’elle ne devrait l’être. Les étapes ci-dessus devraient y contribuer, mais idéalement, Microsoft modifiera simplement le comportement par défaut dans un avenir proche pour améliorer les choses pour tout le monde.

*️⃣ Lien source :

a probablement été une bouée de sauvetage pour vous, associez-le à quelque chose comme X410, en matière de mise en réseau, Microsoft recommande , commande PowerShell,