Ordimission

Assistance à la création et la promotion de contenus audiovisuels et multimédias

Exposer services WSL2 au niveau de la machine Windows hôte

WSL2

Exposer services WSL2 sur Windows – Guide en deux étapes

Windows Subsystem for Linux (WSL2) offre une intégration transparente des environnements Linux dans Windows. Cependant, exposer des services WSL2 au niveau de la machine Windows hôte peut être un peu délicat. Ce guide vous montre comment configurer votre système pour accéder aux services WSL2 depuis Windows, en deux étapes clés.

1ère étape : Configuration IP de WSL2 et redirection de port sur Windows

Trouver l’adresse IP de votre machine virtuelle WSL2

  • Sous votre machine virtuelle Linux WSL2, installez net-tools avec la commande sudo apt install net-tools.
  • Exécutez ifconfig pour trouver l’adresse IP de WSL2. Par exemple : 172.22.40.15.

Configurer la redirection de port sous PowerShell en mode administrateur

  • Ouvrez PowerShell en tant qu’administrateur sur votre machine Windows hôte.
  • Utilisez la commande netsh pour rediriger le port. Par exemple :

netsh interface portproxy add v4tov4 listenport=5678 listenaddress=0.0.0.0 connectport=5678 connectaddress=172.22.40.15

connect* est relatif à la machine virtuelle WSL2

Cette commande configure Windows pour écouter sur le port 5678 et rediriger les requêtes vers le même port sur l’adresse IP de WSL2.

2ème étape – Configuration du pare-feu Windows pour le port 5678

Ouvrir le port 5678 dans le pare-feu Windows

Toujours dans PowerShell en mode administrateur, créez des règles pour autoriser le trafic entrant et sortant sur le port 5678. Utilisez les commandes suivantes :

New-NetFireWallRule -DisplayName ‘WSL 2’ -Direction Outbound -LocalPort « 5678 » -Action Allow -Protocol TCP

New-NetFireWallRule -DisplayName ‘WSL 2’ -Direction Inbound -LocalPort « 5678 » -Action Allow -Protocol TCP

Gérer le problème de changement d’adresse IP à chaque redémarrage de WSL2

Le redémarrage de WSL2 attribue une nouvelle adresse IP à la machine virtuelle, ce qui peut perturber la configuration de redirection de port établie.

Solution : Automatiser la mise à jour de l’adresse IP

La création d’un script automatisé pour mettre à jour l’adresse IP dans les règles de portproxy peut résoudre ce problème. Ce script peut récupérer l’adresse IP de WSL2 et mettre à jour la règle netsh en conséquence à chaque démarrage du système.

$remoteport = bash.exe -c « ip address | grep ‘inet .* scope global' »
$found = $remoteport -match ‘\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}’;

if( $found ){
$remoteport = $matches[0];
} else{
echo « The Script Exited, the ip address of WSL 2 cannot be found »;
exit;
}

#[Ports]

#All the ports you want to forward separated by coma
$ports=@(80,443,10000,3000,5000);

#[Static ip]
#You can change the addr to your ip config to listen to a specific address
$addr=’0.0.0.0′;
$ports_a = $ports -join « , »;

#Remove Firewall Exception Rules
iex « Remove-NetFireWallRule -DisplayName ‘WSL 2 Firewall Unlock’ « ;

#adding Exception Rules for inbound and outbound Rules
iex « New-NetFireWallRule -DisplayName ‘WSL 2 Firewall Unlock’ -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP »;
iex « New-NetFireWallRule -DisplayName ‘WSL 2 Firewall Unlock’ -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP »;

for( $i = 0; $i -lt $ports.length; $i++ ){
$port = $ports[$i];
iex « netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr »;
iex « netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport »;
}

Conclusion : Accès Simplifié aux Services WSL2 depuis Windows

Avec cette configuration en deux étapes, vous pouvez aisément accéder aux services WSL2 depuis votre machine Windows. Bien que le changement d’adresse IP nécessite une attention supplémentaire, un script automatisé peut faciliter grandement la gestion.

Liens externes pour référence :

 

Vous voulez rester à jour avec nos dernières astuces et guides ? Abonnez-vous à notre newsletter dès maintenant. Recevez les directement dans votre boîte de réception.

Partagez l'article

Les articles à découvrir