Ceci est une ancienne révision du document !
WSL signifie Windows Subsystem for Linux.
C'est un logiciel qui permet d'exécuter des applications Linux directement sur le système d'exploitation Windows, sans avoir besoin de devoir gérer la virtualisation ou un double-boot.
Voici quelques points clés à retenir sur WSL :
/mnt/
) et les services de Windows.WSL est particulièrement utile pour les développeurs qui ont besoin d'utiliser des outils et des environnements de développement Linux sans quitter leur système d'exploitation Windows.
Il existe deux scénarios principaux :
À partir du point de vue de l'hôte Windows, obtenir l'adresse IP d'une distribution Linux WSL2 afin que le programme sur l'hôte puisse se connecter à un serveur dans la distribution.
PS C:\Users\Frater> wsl -d debian hostname -I 172.25.212.151
le paramètre -d
permet de choisir la distribution que l'on désire interroger.
le paramètre -I
(en majuscule) demande l'IP de la distribution.
À partir du point de vue d'une distribution Linux WSL2, obtenir l'adresse IP de l'hôte Windows.
frater@SUPREMAE:~$ ip a | grep eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc mq state UP group default qlen 1000 inet 172.25.212.151/20 brd 172.25.223.255 scope global eth0 8: veth0db27a5@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-9e2c87c63ebd state UP group default
Les connexions via des adresses IP distantes sont traitées comme étant du LAN. Assurez-vous que votre application peut accepter les connexions LAN (par exemple, en liant à 0.0.0.0 au lieu de 127.0.0.1). Accès d'une distribution WSL 2 depuis le LAN
Les applications peuvent être accessibles sur le LAN si l'ordinateur est configuré pour cela.
Par défaut, les applications ne sont pas accessibles sur le LAN. Il faut utiliser des commandes comme netsh interface portproxy pour configurer un port proxy.
netsh interface portproxy add v4tov4 listenport=<port-to-listen> listenaddress=0.0.0.0 connectport=<port-to-forward> connectaddress=<forward-to-this-IP-address>
Pour permettre à des clients réseau d'acceder a un serveur nginx
hébergé sous WSL, dans un powershell “Admin”:
PS C:\Users\Frater> wsl -d debian hostname -I 172.25.212.151 PS C:\Users\Frater> netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=172.25.212.151 PS C:\Users\Frater> netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=172.25.212.151