WSL2 Ubuntu 中通过 px-proxy 无法连接互联网

WSL2 Ubuntu 中通过 px-proxy 无法连接互联网

我有一台 Windows 10 计算机,通过以下方式连接到互联网px-代理使用 localhost 和端口 1234 无需登录即可正常工作;PowerShell & Co. 可以成功连接到互联网。现在我在 WSL2 上使用 Ubuntu 20.04 LTS,从那里我无法连接到互联网。

我试过

> more etc/resolv.conf
nameserver 8.8.8.8
> tail .bashrc
...
export http_proxy="123.456.78.9:1234";
export https_proxy="123.456.78.9:1234";
> more /etc/apt/apt.conf.d/proxy.conf
Acquire {
  HTTP::proxy "http://123.456.78.9:1234";
  HTTPS::proxy "http://123.456.78.9:1234";
}
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=123.456.78.9

和组合。我确定了主机的 IP...

> ipconfig
...
Ethernet adapter vEthernet (WSL):
   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 123.456.78.9
   Subnet Mask . . . . . . . . . . . : abc.abc.abc.a
   Default Gateway . . . . . . . . . :

...与 WSL2 Ubuntu 相匹配:

> ip route
default via 123.456.78.9 dev eth0
123.456.78.9/10 dev eth0 proto kernel scope link src xyz.xyz.ba.b

现在我对各种可能性感到迷茫,不确定我是否在这里做了一些明显错误的事情,或者我是否忽略了什么。提前感谢您的任何提示!:)

答案1

终于,我明白了 :)

因此,要通过 WSL2 上的 Ubuntu 发行版的代理访问互联网:

首先,获取宿主机的ip地址:

> ipconfig
...
Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : reddog.microsoft.com
   IPv4 Address. . . . . . . . . . . : 987.654.32.1
   Subnet Mask . . . . . . . . . . . : xyz.xyz.xyz.z
   Default Gateway . . . . . . . . . : 11.111.111.1
  • etc/resolv.conf保持原样
  • 将主机的 IP 地址和代理运行的端口添加到 .bashrc:
export http_proxy="987.654.32.1:1234"
export https_proxy="987.654.32.1:1234"
  • 添加代理和端口/etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://987.654.32.1:1234/";
Acquire::https::Proxy "http://987.654.32.1:1234/";
  • 最后,在端口 1234 上向 Windows 防火墙添加适当的规则(否则,WSL2 无法与代理通信)。这里要小心!

答案2

在你的~/.profile尝试中

WINDOWS_IP=$(powershell.exe -Command '(Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias "vEthernet (WSL)").IPAddress | Write-Host')
export http_proxy="http://${WINDOWS_IP}:3128"
export https_proxy=$http_proxy

检查端口

相关内容