WSL2内使用windows的v2ray代理配置方式。

在学习中可能需要用到谷歌搜索,或者安装go语言相关包,需要的时候就配置下,仅用于学习。

以下是WSL2内使用windows的v2ray代理配置方式参考步骤:

1.windows v2ray客户端开启允许来自局域网的连接。

2.wsl中关闭自动更新dns nameserver/etc/wsl.conf 文件中设置为false。

[network] generateResolvConf = false

然后/etc/resolv.conf中nameserver替换成8.8.8.8或者其他可用的dns服务器。

(这里做这个的原因是默认的nameserver是宿主机windows10的IP,会通过windows10机器去连接真正的nameserver,但是使用了v2ray等软件后导致该套路不可用,wsl2无法将vpn当成nameserver)

3.在~/.bashrc中添加如下内容 [1]

# add for proxy export hostip=$(ip route | grep default | awk {print $3}) export hostport=10808 alias proxy= export HTTPS_PROXY="socks5://${hostip}:${hostport}"; export HTTP_PROXY="socks5://${hostip}:${hostport}"; export ALL_PROXY="socks5://${hostip}:${hostport}"; echo -e "Acquire::http::Proxy \"{hostip}:${hostport}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null; echo -e "Acquire::https::Proxy \"{hostip}:${hostport}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null; alias unproxy= unset HTTPS_PROXY; unset HTTP_PROXY; unset ALL_PROXY; sudo sed -i -e /Acquire::http::Proxy/d /etc/apt/apt.conf.d/proxy.conf; sudo sed -i -e /Acquire::https::Proxy/d /etc/apt/apt.conf.d/proxy.conf;

其中hostip取到了宿主机windows在wsl2中映射的IP,端口是自己v2ray的客户端端口,然后 生成了配置代理的函数 proxy。

4.输入 proxy 导出代理环境变量

proxy

5.通过curl命令验证

curl

(curl命令会自动读取环境变量 HTTP_PROXY和HTTPS_PROXY的内容)

6.如果验证不可用,清排查如下内容:

ping google.com.hk 测试是否解析出IP(解析出IP之后最后全部丢包没关系,只要解析出域名对应的IP),否则需要验证步骤2配置正确性。v2rayVPN自身可用性,在windows terminal下运行curl 进行验证。通过echo $HTTP_PROXY等命令查看是否环境变量已经正确导出确认自己的v2ray客户端端口是否是10808,请改成自己的端口

参考

^