本文目录
只有 TUN 开启时弹窗,问题多半不在网站权限
本文处理一种很具体的现象:Clash Verge Rev 开启 TUN 后,Chrome 访问普通公网网站时提示“网站想访问本地网络中的其他设备”,拒绝后图片、视频、登录验证或第三方组件加载失败。关闭 TUN、只开系统代理时,网页通常恢复。
Chrome 的本地网络访问提示本来用于保护路由器、打印机和本机服务。它把 fc00::/7 这类 IPv6 唯一本地地址识别为 local;当公网页面的子请求被 Fake-IP 解析到这一地址空间时,也可能触发权限判断。
用四个对照缩小范围
| 对照结果 | 说明 | 不要急着做什么 |
|---|---|---|
| 只开系统代理时正常,开启 TUN 后弹窗 | 问题集中在 TUN 接管后的 DNS 或 IPv6 路径 | 不要重装订阅或删除客户端数据 |
| 关闭 Clash 的 IPv6 后恢复 | Fake IPv6 与 Chrome 权限判断高度相关 | 不要把所有网站永久设为允许 |
| 关闭 TUN 仍然弹窗 | 网站可能真的在请求局域网,或浏览器权限另有来源 | 不要继续套用本文的 Fake-IP 修复 |
| 所有应用都无法联网 | 范围已超过 Chrome 单站点提示 | 回到节点、DNS 和 TUN 通用排查 |
- Chrome 公网页面加载主页面、图片、视频或验证组件
- Mihomo DNS为域名分配 IPv4 或 IPv6 Fake-IP
- fdfe:dcba:9876::/64地址落在 Chrome 视为 local 的 fc00::/7
- Local Network Access在子请求发出前显示权限提示或拦截
页面本身仍是公网来源,但某个子请求被解析到 IPv6 唯一本地地址后,Chrome 会把它当作 public 到 local 的跨地址空间访问。
从当前配置和连接记录确认 Fake IPv6
不要只看订阅文件里的 dns.ipv6。客户端会把订阅、全局开关和覆写合成最终运行配置,真正生效的是“当前配置”。在 Clash Verge Rev 的高级设置中打开当前配置,核对 DNS 模式、IPv6 开关和 IPv6 Fake-IP 地址段。
再重现一次弹窗,并在连接记录或日志中找 chrome.exe 对应的请求。Clash Verge Rev issue #7564 的复现日志多次出现 fdfe:dcba:9876::1,这个前缀正位于 Chrome 识别为本地网络的 fc00::/7 范围。
dns:
ipv6: true
enhanced-mode: fake-ip
fake-ip-range6: fdfe:dcba:9876::1/64按同一次网页请求取证
保留当前节点
固定同一节点和 Rule 模式,先关闭 TUN、开启系统代理访问一次,再恢复 TUN 访问同一页面。
查看最终配置
在当前配置中搜索 ipv6、enhanced-mode 和 fake-ip-range6,记录最终值,不以订阅原文代替。
查找失败域名
弹窗出现后查看连接记录或日志,记下加载失败的主域名与 CDN 域名,以及是否出现 fdfe:dcba:9876::。
做一次 DNS 对照
在问题仍可复现时查询该失败域名;若 AAAA 结果落在 fdfe:dcba:9876::/64,证据与 Fake IPv6 路径一致。
nslookup www.bilibili.comTUN 开启、dns.ipv6 为 true,日志出现 fdfe:dcba:9876::
进入下一节,先用可回退的 IPv6 开关验证。
当前配置已经是 dns.ipv6: false
重启内核和浏览器后复测;仍失败就检查是否有另一份 DNS 覆写或旧缓存。
没有 IPv6 Fake-IP,网站却确实请求 192.168.x.x 或路由器地址
按真实局域网权限处理,不把它归因于 Clash。
请求根本没有进入 Clash
回到系统代理或 TUN 接入排查,不调整 fake-ip-filter。
不需要 IPv6 时,关闭 Clash 的 IPv6 开关
多数没有 IPv6 专属需求的用户,可以先关闭 Clash 设置中的 IPv6。这比授予网站局域网权限或改地址段更容易恢复。Clash Verge Rev issue #7564 中,多名用户在保留 TUN 的情况下关闭该开关后,B 站直播和其他网页恢复。
保存后重启 Mihomo 内核,再打开当前配置确认 dns.ipv6 已变为 false。若仍显示 true,说明还有客户端开关或覆写在合并配置;不要只在订阅文件里反复修改同一字段。
完成一次最小变更
记录原状态
截图或记下 Clash 的 IPv6 开关、TUN 状态和当前配置值,方便完整恢复。
关闭 IPv6
在 Clash 设置中关闭 IPv6,保存后重启内核,不同时更换节点、DNS 服务器或 TUN 堆栈。
清理旧解析
关闭所有 Chrome 窗口,在 Windows 清理系统 DNS 缓存,再重新打开浏览器。
访问原页面
用同一网址重现原操作,确认权限提示、图片、视频和验证组件是否一起恢复。
ipconfig /flushdns必须保留 IPv6 时,只过滤确定受影响的域名
如果必须保留 IPv6,而且问题只发生在少数网站,可以让确定受影响的域名不接收 Fake-IP。先从连接记录找出真实失败的主域名和 CDN 域名,再把它们追加到现有 fake-ip-filter;不要凭网站名称猜一大串域名。
下面是 issue #7564 中用于 B 站复测的最小示例。不同页面可能使用不同 CDN,它只适合连接记录确实出现这些后缀的情况。客户端若支持合并或覆写,应在覆写中追加,并保留原有过滤项。
dns:
fake-ip-filter:
- "*.bilibili.com"
- "*.hdslb.com"逐个域名收口
只加一个后缀
从第一个失败请求开始添加,保存、重启内核并重新加载页面。
观察真实解析
确认该域名不再得到 fdfe:dcba:9876:: 范围的地址,同时仍命中预期规则和出口。
补充必要 CDN
只有页面仍缺少资源且连接记录出现新的失败域名时,才追加第二项。
检查订阅更新
手动更新一次订阅,确认覆写没有被覆盖;若丢失,恢复备份并改用客户端支持的合并方式。
不要单独改 fake-ip-range6 或关闭浏览器防护
把 fake-ip-range6 从 fdfe:dcba:9876::/64 改成看似公网的范围,不是一个可直接照抄的修复。Mihomo issue #3064 记录了只改 DNS 地址段时,TUN 的 IPv6 地址和路由不会自动同步,结果可能从权限弹窗变成整个 IPv6 路径不可用。
同样不建议关闭 Chrome 的本地网络访问检查。这个提示保护真实的路由器和局域网设备,关闭浏览器防护会扩大所有网站的权限范围,却没有修正 Clash 的最终配置。
高风险捷径与替代动作
| 看似省事的做法 | 新增风险 | 更稳妥的替代 |
|---|---|---|
| 为每个网站点击允许 | 公网网站获得本地网络请求权限 | 只为确实需要投屏或访问设备的站点授权 |
| 关闭 Chrome 的 LNA 检查 | 真实局域网请求失去浏览器提示 | 修正 Clash 的 IPv6 或过滤配置 |
| 只改 fake-ip-range6 | DNS、TUN 地址和路由可能不一致 | 关闭 Fake IPv6,或对已确认域名做窄过滤 |
| 直接退回旧版并覆盖数据 | 订阅、覆写和服务状态一起变化 | 先导出配置,再把回退作为最后选项 |
恢复原设置,并把网页与局域网分别验证
如果关闭 IPv6 或增加过滤后没有改善,恢复记录中的原值,删除本次新增过滤项并重启内核。此时应回到通用排查,检查失败请求是否进入 Clash、DNS 是否可用、规则是否命中预期策略,而不是继续扩大改动范围。
修复完成也要把公网网页和真实局域网分开验证。网页恢复不代表打印机、路由器或纯 IPv6 服务仍正常;反过来,局域网权限可用也不代表所有 CDN 请求已经离开 Fake IPv6 地址段。
按使用需求选择回退
| 修复后的新问题 | 回退动作 | 保留的证据 |
|---|---|---|
| 纯 IPv6 网站无法访问 | 恢复 IPv6 开关,改用窄过滤或系统代理 | 当前配置和失败域名 |
| 订阅更新后过滤项消失 | 恢复覆写备份,不直接改远程订阅 | 更新前后配置差异 |
| 路由器或投屏访问异常 | 恢复真实局域网所需设置并单独测试权限 | 目标本地地址和应用名称 |
| 仍然弹窗且没有 fdfe 地址 | 撤销本文改动,检查网站真实请求和 Chrome 站点权限 | 开发者工具或连接记录中的目标地址 |
完成排查的验证清单
- Chrome 访问原问题页面时不再反复请求本地网络权限
- 拒绝权限后,图片、视频、登录验证或第三方组件仍能加载
- 当前配置中的 dns.ipv6 与预期一致,没有被其他覆写改回
- 连接记录不再把失败域名映射到 fdfe:dcba:9876:: 范围
- 需要的路由器、打印机、投屏和本机服务仍可访问
- 确有 IPv6 需求时,纯 IPv6 服务也通过单独测试
- 已经保留原设置和覆写备份,能够撤销本次修改
