目录
在wsl2中使用命令 `ip route ` 查看以下信息
宿主机的IP, wsl2使用此ip作为联网的路由。wsl2的使用IPwls2子网的计算。类似这个:172.29.32.0/20。示例:"default via 172.29.32.1 dev eth0172.29.32.0/20 dev eth0 proto kernel scope link src 172.29.44.37"
默认情况下win10的防火墙会阻挡wsl2 ping 宿主机,可以在宿主机的防火墙里配置wsl2的入站规则。
在wsl2中ping 宿主机的ip,看看通不通,不通的话就先关掉宿主机的防火墙试试。如果通了,就是防火墙阻挡了通信,开启宿主机的防火墙,并新建wsl2的入站规则。直到ping通。看这个教程在wsl2中 curl http://www.baidu.com , 看看网络通不通。 如果通, 继续。win10防火墙路径:控制面板-系统和安全-windows defender 防火墙配置wsl2的代理
修改~/.bashrc 文件
vim ~/.bashrc 在打开的文件末尾添加以下语句: host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ") export ALL_PROXY="socks5://$host_ip:port"我用的是上边这种,测试正确;
或者
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ") export https_proxy="socks5://$host_ip:port" export http_proxy=":port" export all_proxy="socks5://$host_ip:port"将代码中的port修改为你的代理软件的本地监听端口.
保存后重新加载.bashrc文件
source ~/.bashrc这种方式电脑重启也不会丢失更新的设置。
还有一种按需启动代理的方式。
将以下代码添加到~/.bashrc文件的末尾。
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ") alias setss=export https_proxy="socks5://{hostip}:port";export http_proxy="http://{hostip}:port";export all_proxy="socks5://{hostip}:port";保存成功后。
运行
source ~/.bashrc加载设置。
默认不启动代理,运行 setss 后启动代理。