wsl 使用 windows 代理

297 阅读1分钟

在 wsl 里安装 oh-my-zsh,执行命令

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

但始终无法连接到https://raw.githubusercontent.com,本机是可以正常访问的。


排查了一会,发现本机没有接受到 wsl 的请求,猜测可能 wsl 发出的请求被拦截了。


确定请求是否被拦截了

获取在 wsl 里 windows 主机的 ip,执行命令

ip route show | grep -i default | awk '{ print $3}'

在 wsl 里 ping window 主机 ip,执行结果 xx packets transmitted, 0 received, 100% packet loss, time 3146ms,确实 ping 不通。

设置主机防火墙规则

  1. 打开控制面板 -> 系统和安全 -> windows defender -> 高级设置
  2. 点击入站规则 -> 新建规则
  3. 规则配置
    • 规则类型选择自定义

    • 程序选择所有程序

    • 协议和端口默认

    • 作用域:本地 ip 选择任意 ip 地址,远程 ip 配置你的 wsl 的 ip 地址

    • 操作选择允许连接

    • 配置文件默认

  4. wsl 的ip 地址执行下面命令获取
wsl hostname -I

配置完成后,再 ping 一下主机 ip,应该就能ping通了。