Skip to content

Instantly share code, notes, and snippets.

@ProximaB
Created October 23, 2020 19:21
Show Gist options
  • Save ProximaB/1d1cdb0bf7f9d4fa0e4d7edf24836f9b to your computer and use it in GitHub Desktop.
Save ProximaB/1d1cdb0bf7f9d4fa0e4d7edf24836f9b to your computer and use it in GitHub Desktop.
WSL2 port forwarding
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"
$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=@(3000, 3001, 3002, 5500, 19000, 19001);
iex "netsh interface portproxy reset";
for( $i = 0; $i -lt $ports.length; $i++ ){
$port = $ports[$i];
iex "netsh interface portproxy add v4tov4 listenport=$port connectport=$port connectaddress=$remoteport";
}
iex "netsh interface portproxy show v4tov4";
@ProximaB
Copy link
Author

netsh interface portproxy reset

netsh interface portproxy show v4tov4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment