441 字
2 分钟
解决虚拟机无法共享宿主机Clash代理问题
症状
最近我想要在我的虚拟机上运行docker,但运行时却出现镜像容器pull不下来的问题,明明宿主机上的Clash开启了局域网连接,虚拟机内的系统也正确的配置了地址,但就是无法连接


双方能直接ping通代表通信局域网内通信没有大问题
解决
在代理软件的订阅配置文件中找到了如下一行
allow-lan: falsebind-address: 127.0.0.1这下解决方法就很简单了,将绑定中的回环地址改为*即可
allow-lan: truebind-address: "*"因为是订阅链接那边自动更新的配置文件,手动修改后下次更新可能被重新覆盖回去,可以关闭自动更新或者在宿主机终端中输入以下指令
netsh interface portproxy add v4tov4 listenaddress=10.10.10.1 listenport=7897 connectaddress=127.0.0.1 connectport=7897这条命令将虚拟机出来的流量10.10.10.1导向了127.0.0.1:7897
问题的根本
简单比喻理解这个问题是如何发生的,但也只是我个人的理解
在正常情况下,勾选了 Clash Verge 上的局域网连接开关,底层内核就应该自动将监听地址从局域网隐身状态的 127.0.0.1:7897 切换为对全网开放的 0.0.0.0:7897
但是由于配置文件中写死了绑定地址为127.0.0.1,而配置文件优先级高于设置,所以导致明明开了局域网连接,但代理软件依然一直在127.0.0.1中
也就是说,本来流量的导向应该是这样,docker发出的请求——>10.10.10.1——>Clash
但由于这个配置文件导致Clash被锁死在127.0.0.1上,虽然有在监听,但完全不会接受来自虚拟机的请求
解决虚拟机无法共享宿主机Clash代理问题
https://www.yisibuwang.top/posts/2026-06-25-解决虚拟机无法共享宿主机clash代理问题/分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 100 天
部分内容可能已过时
评论