Estou tentando permitir que o WSL use um proxy localhost (na verdade, seu Fiddler) em minhas janelas, mas não consigo ver nenhuma conexão como essa e os downloads geralmente falham, como faço para corrigir isso?
Eu sei que posso me conectar ao Linux localhost a partir do Windows, mas como posso reverter isso?
WSL é Ubuntu 18.04
Você deve executar o seguinte comando em um powershell executado como administrador:
Este comando vem deste ticket WSL2 . Qualquer regra de firewall relacionada ao endereço IP do WSL não será eficaz porque o IP do WSL2 muda sempre.
Não tenho certeza se o seguinte funcionará com aplicativos vinculados apenas ao host local, mas funcionou para o Fiddler e o WSL2:
Defina a opção do Fiddler "Permitir que computadores remotos se conectem" e reinicie o Fiddler
Pegue suas informações de conexão de rede WSL (na minha máquina, o adaptador é chamado
vEthernet (WSL)
)Use esse endereço, por exemplo, 172.26.224.1 onde você normalmente usaria localhost
O WSL 2 requer algum trabalho extra em comparação com o WSL 1.
Permita a(s) porta(s) necessária(s) através do firewall.
1.1 Lançamento
Windows Defender Firewall with Advanced Security
1.2 No painel esquerdo, selecione
Incoming Rules
.1.3 No painel direito, clique em
New Rule
.1.4 Para o tipo de regra, selecione
Port
. Próximo.1.5 Selecione
TCP
eSpecific local ports
. Insira a porta, uma lista de portas separadas por vírgulas ou um intervalo de portas. Próximo.1.6 Selecione
Allow connection
. Próximo.1.7 Verifique apenas o
Public
perfil. Próximo.1.8 Insira um nome para a regra. ex
WSL
. Feito.Descubra o endereço IP do WSL dentro dele:
Este é o endereço IPv4 da interface de rede
vEthernet (WSL)
.Teste a conexão com o host do Windows usando
curl
outelnet
:3.1
curl ip.from.step.2:port
Eu usei este procedimento para conectar a um servidor Oracle e um servidor X rodando no Windows.
Atualização : como o endereço IP do WSL mudará toda vez que o Windows for reiniciado, é conveniente buscá-lo automaticamente e atualizar o
hosts
arquivo.Na WSL:
execute
cat /etc/hosts
para descobrir o nome do host do Windows.Adicione o seguinte código a
~/.profile
:Veja a orientação aqui
https://docs.microsoft.com/en-us/windows/wsl/networking#accessing-windows-networking-apps-from-linux-host-ip
Você também precisará permitir conexões de entrada para a porta no host.