wsl2配置使用windows网络代理
wsl2获取ip地址
cat /etc/resolv.conf|grep nameserver|awk '{print $2}' => 例如:172.22.176.1
注:由于windows防火墙的存在,此时可能出现ping 172.22.176.1失败
新建防火墙入站规则
打开控制面板\系统和安全\Windows Defender 防火墙
点击入站规则->新建规则
规则类型:自定义
程序:所有程序
协议和端口:默认即可
作用域:
本地ip处选择“任何IP地址”
远程ip处选择“下列IP地址”,并将wsl2的IP添加进去。(请根据自己wsl2的ip进行计算,我这里添加了172.22.176.0/20)(掩码一般是20位,可以通过ifconfig命令进行查询)
操作:允许连接
配置文件:三个全选
名称描述:请自定义
注意:这一步完成后,从wsl2 ping主机的ip应该可以ping通了。
防火墙配置
打开控制面板\系统和安全\Windows Defender 防火墙\允许的应用。
将与代理相关的应用程序均设置为:允许其进行专用、公用网络通信。
特别注意的是:将Privoxy也配置为允许
windows端代理软件配置
启用“允许来自局域网的连接”
测试
在wsl2中配置http代理,如export http_proxy="http://172.22.176.1:10808"。注意:端口号请结合自己的代理设置进行修改
执行命令curl cip.cc查看ip地址
后面可以采用一些脚本方便代理的设置和取消
比如在~/.zshrc中添加如下配置:
# set_proxy
export host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export http_proxy=http://$host_ip:10808
export https_proxy=http://$host_ip:10808