441 字
2 分钟
页面浏览--访问次数--
解决虚拟机无法共享宿主机Clash代理问题

症状#

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

alt textalt text

双方能直接ping通代表通信局域网内通信没有大问题

解决#

在代理软件的订阅配置文件中找到了如下一行

allow-lan: false
bind-address: 127.0.0.1

这下解决方法就很简单了,将绑定中的回环地址改为*即可

allow-lan: true
bind-address: "*"

因为是订阅链接那边自动更新的配置文件,手动修改后下次更新可能被重新覆盖回去,可以关闭自动更新或者在宿主机终端中输入以下指令

Terminal window
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代理问题/
作者
不旺の博客
发布于
2026-06-25
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...

最后更新于 ,距今已过 100 天

部分内容可能已过时