windows 10 WSL ubuntu não consegue pingar nada

0

Não consigo fazer ping em nenhum site quando estou usando o WSL para Windows 10. Estou executando o Ubuntu 18.04 no WSL.

--- google.com ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 38567ms

é o resultado quando tento ping google.com Estou usando o windows 10 com IPv4, desabilitado IPv6. Eu posso pingar google.com normalmente sem wsl no meu prompt de comando regular

Eu estou correndo de segurança de internet Avast e quando eu de ping google de dentro da instância ubuntu / WSL isso é o que eu vejo.

1 :

O que preciso fazer para ativar o ping no WSL

    
por user3369850 14.09.2018 / 22:09

1 resposta

0

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:

  1. 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.
  2. 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.
  3. \bin\ping - Linux ping 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:

    
por 15.09.2018 / 07:01