进阶技巧
让 WSL2 与 Docker 走 Clash Verge 代理
Windows 上开着代理,WSL2 里 curl 照样超时——这不是 bug。WSL2 有独立的虚拟网络,里面的 127.0.0.1 指向它自己,不是宿主机。
先放行局域网
「设置 → 局域网连接」打开允许局域网,否则内核只监听 127.0.0.1,WSL 连不上。Windows 防火墙弹窗记得选允许,细节见局域网共享代理。
合作推荐订阅链接从哪来?本站合作机场注册即送 1GB 香港高速体验流量,可直接一键导入。获取高速节点在 WSL 里指向宿主机
export hostip=$(ip route show | grep -i default | awk '{print $3}')
export http_proxy="http://$hostip:7897"
export https_proxy="http://$hostip:7897"
宿主机 IP 每次重启 WSL 都可能变,所以用命令取而不是写死。把这几行放进 ~/.bashrc 就不用每次敲。端口以你实际的混合端口为准,改过端口的见端口冲突。
镜像网络模式更省事
较新的 Windows 11 上 WSL 支持镜像网络。在 %USERPROFILE%\.wslconfig 里写:
[wsl2]
networkingMode=mirrored
wsl --shutdown 重启后,WSL 里可以直接用 127.0.0.1:7897,和宿主机共用网络栈。Windows 10 没有这个模式,只能用上面那套。
Docker
容器里访问宿主机用 host.docker.internal。构建镜像时代理要单独传,容器运行时的环境变量不会自动带进构建阶段:
docker build --build-arg http_proxy=http://host.docker.internal:7897 .
说明
开了 TUN 也不一定能接管 WSL2 的流量,虚拟网卡的路由归 Hyper-V 管。要确保走代理,老老实实设环境变量最可靠。
还没有安装 Clash Verge?
下载 v2.5.1Windows 64 位安装包 · v2.5.1 · 免费开源