-
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地址
- 在wsl2中配置http代理,如
-
后面可以采用一些脚本方便代理的设置和取消
比如在~/.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