快速使用

一般情况下,WSL2 的 IP 地址每次启动时都会改变,如果想要在 WSL2 中使用 Windows 系统代理来进行科学上网,可以使用如下代码。

方法一:终端直接输入

 export ALL_PROXY="http://$(ip route show | grep -i default | awk '{ print $3}'):7890"

方法二:

进入 WSL 在 ~/.bashrc 文件中添加如下指令

 host_ip=$(ip route show | grep -i default | awk '{ print $3}')
 export ALL_PROXY="http://$host_ip:7890"

注意7890需要改为自己电脑代理软件上设置的端口

命令参考资料:https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands#identify-ip-address

相关信息

这里的原理就是: /etc/resolv.conf 文件中始终会更新当前 WSL2Windows 系统中的局域网 IP,所以就写一行指令动态获取该 IP。

这里的 7890 是 windows 的系统代理端口

效果

本地代理客户端必须要勾选 允许来自局域网的连接,也就是说,如果关闭代理客户端,WSL2 就等于处在断网状态。


总结

简单来说是以下几步

  1. 打开本地的代理工具,设置好 windows 端口如 7890

  2. 在 WSL 中设置好动态的 ip 脚本

  3. 查看 Windows 的系统代理是否 OK

  4. 在 WSL 中测试一下是否可以访问 google.com