Primeiro, alguns antecedentes. Deve-se precisar do Windows 10 Build 17627 ou superior para suportar o Firewall com conexões WSL. Aqui está a seção de Notas da versão da WSL :
Build 17627 (Skip Ahead)
WSL
- Windows firewall support for WSL processes. [GH 1852]
- For example, to allow the WSL python process to listen on any port, use the elevated Windows cmd:
netsh.exe advfirewall firewall add rule name=wsl_python dir=in action=allow program="C:\Users\<UserName>\AppData\Local\Packages\canonicalgrouplimited.ubuntuonwindows_79rhkp1fndgsc\localstate\rootfs\usr\bin\python2.7" enable=yes
- For additional details on how to add firewall rules, see link
Na próxima etapa, localize o caminho absoluto do executável Linux que deseja conexão com a Internet. O caminho completo pode ser dividido em três partes:
-
C:\Users\UserName\AppData\Local\Packages
- Caminho onde aplicativos da Plataforma Universal do Windows armazenam arquivos específicos do usuário, arquivos temporários, etc. -
CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
- Caminho onde o pacote de aplicativos do Ubuntu 18.04 Appx utiliza arquivos do Ubuntu, por exemplo,/bin
,/etc
,/usr
e outros. -
\bin\ping
- Linuxping
binário.
Por isso, todo o caminho é:
C:\Users\UserName\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\bin\ping
Você pode usar o seguinte script do PowerShell para obter esse caminho. Basta digitar ubuntu
quando for solicitado a inserir o nome da distribuição.
$DistroName=Read-Host "Enter Distribution Name"
$pacakgeName = (Get-AppxPackage *$DistroName*).PackageFamilyName
$appData = [System.Environment]::ExpandEnvironmentVariables("%LocalAppData%")
$InstallDir = $appData + "\Packages\" + $pacakgeName + "\LocalState\rootfs"
echo $InstallDir
Invoke-Item $InstallDir
Read-Host -Prompt "Press any key to continue..."
Etapa final, adicione a regra de firewall. Para o Firewall do Windows, execute este comando como administrador para adicionar a regra de firewall de saída.
netsh.exe advfirewall firewall add rule name=wsl_ping dir=out action=allow program=<path_to_ping> enable=yes
Para o Avast Firewall, siga as instruções do Avast Support. Abra as configurações > Geral > Exclusão e adicione o caminho da etapa anterior.
Respostas canônicas:
- Acessando dados do Ubuntu (como "/ etc") do Windows
- Onde o sistema de arquivos do subsistema Linux está localizado no Windows 10?