Skip to content

Instantly share code, notes, and snippets.

@libChan
Last active March 11, 2026 11:23
Show Gist options
  • Select an option

  • Save libChan/3a804a46b532cc326a2ee55b27e8ac19 to your computer and use it in GitHub Desktop.

Select an option

Save libChan/3a804a46b532cc326a2ee55b27e8ac19 to your computer and use it in GitHub Desktop.
WSL2使用clash for windows代理
# WSL通过Win访问网络,所以WSL的网关指向的是Windows,DNS服务器指向的也是Windows,设置WSL的proxy为win的代理ip+端口即可
# WSL中的DNS server在/etc/resolv.conf中查看,该文件是由/etc/wsl.conf自动生成的。
# 如果关闭了wsl.conf中自动生成resolve.conf并自行修改了resolve.conf,DNS nameserver并不是本机win ip
# 需要开启wsl.conf的自动生成,再运行以下命令
# https://zhuanlan.zhihu.com/p/153124468
# 添加到环境变量设置中,例如~/.zshrc
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export https_proxy="http://${hostip}:7890"
export http_proxy="http://${hostip}:7890"
@ipfred
Copy link

ipfred commented Mar 11, 2026

win10 专业版 19045 os版本
防火墙也开了
按这种方式配置

# 获取宿主机 IP
export hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
# 设置代理端口(根据你的实际端口修改)
export hostport=20122

alias proxy='
    export HTTP_PROXY="http://$hostip:$hostport"
    export HTTPS_PROXY="http://$hostip:$hostport"
    export ALL_PROXY="socks5://$hostip:$hostport"
'
alias unproxy='
    unset HTTP_PROXY
    unset HTTPS_PROXY
    unset ALL_PROXY
'

telnet 都不通 访问谷歌也不行
image
有大佬吗
--- 解决方案 端口转发
powershell 管理员权限执行端口转发

netsh interface portproxy add v4tov4 listenaddress=172.22.0.1 listenport=20122 connectaddress=127.0.0.1 connectport=20122

或者用端口转发工具 PortProxyGUI

结合上面的脚本 现在访问谷歌 OK 但是ping www.google.com 还是不成功

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment