TL;DR
Clash Meta / Mihomo 升级到 1.18+ 后无法上网,90% 原因是:(1) DNS 配置不兼容新内核;(2) TUN 路由表残留;(3) fakeip range 改变;(4) GUI 与内核 ABI 不匹配;(5) 规则集格式破坏。本文给出五层排查清单 + 快速回滚命令。本文 2026-05-20 实测核对。
Mihomo 1.18 / 1.19 在 2026 上半年是大版本,带来 AnyTLS 原生支持、DNS 异步解析、新规则引擎,但也带来不少 breaking changes。本文按”症状 → 根因 → 修复”梳理。
升级后无网的常见症状分类
| 症状 | 最可能根因 |
|---|---|
| 节点显示已连接但浏览器超时 | DNS 配置不兼容 |
| 切节点后偶发能上网 | fakeip range 冲突 |
| 启动成功但全无连接 | GUI/内核 ABI 不匹配 |
| 只有部分网站打不开 | 规则集格式破坏 |
| 命令行 ping 通但浏览器不通 | TUN 路由问题 |
| 升级后 Windows 蓝屏 | Wintun 驱动不兼容 |
按症状对照下面的排查章节。
排查步骤 1:确认 GUI 与内核 ABI 匹配
最常见的低级错误是 GUI 是老的,内核更新了。
# Windows / macOS / Linux 通用
cd /path/to/mihomo
./mihomo -v
# 输出例: Mihomo Meta 1.19.2 amd64
各 GUI 对应的内核要求:
- Clash Verge Rev 2.4+ → 需要 Mihomo 1.18.5+ 内核
- Mihomo Party 1.7+ → 需要 Mihomo 1.18.0+ 内核
- FlClash 0.9.4+ → 需要 Mihomo 1.18.0+ 内核
如果 GUI 太老内核太新,会出现”启动成功但全无连接”。
排查步骤 2:DNS 配置兼容性
Mihomo 1.18 改了 DNS 模块,引入异步解析 + DoH/DoT 优先。如果你的配置仍是旧格式:
旧配置 (1.17 及更早)
dns:
enable: true
ipv6: true
nameserver:
- 8.8.8.8
- 114.114.114.114
这个配置在 1.18+ 上会出现”连接成功但无 DNS 解析”。
新配置 (1.18+)
dns:
enable: true
ipv6: false # 如果机场不分配 IPv6 必须关
prefer-h3: false # HTTP/3 DNS 部分场景不稳
default-nameserver:
- 223.5.5.5 # 用于解析 nameserver 的域名
nameserver:
- https://dns.google/dns-query
- https://dns.cloudflare.com/dns-query
fallback:
- tls://1.1.1.1
fallback-filter:
geoip: true
geoip-code: CN
加 prefer-h3: false 与 ipv6: false 解决 80% 的”升级后无网”。
排查步骤 3:fakeip range 冲突
Mihomo 1.18 改了 fakeip 默认 range:
| 版本 | 默认 fakeip range |
|---|---|
| Mihomo 1.17 及更早 | 198.18.0.0/15 (32 万地址) |
| Mihomo 1.18+ | 198.18.0.0/16 (6.5 万地址) |
如果你升级时操作系统路由表里还有 198.18.0.0/15 的残留,新 fakeip 用 /16 子集会冲突。
清理系统路由表
# Windows (管理员 PowerShell)
route print | findstr 198.18
route delete 198.18.0.0 mask 255.254.0.0
# macOS
netstat -nr | grep 198.18
sudo route -n delete -net 198.18.0.0/15
# Linux
ip route show | grep 198.18
sudo ip route del 198.18.0.0/15
重启 GUI 后 Mihomo 会重新设置正确的路由。
排查步骤 4:TUN 模式不通
如果 DNS 没问题 + 系统代理模式 (HTTP/SOCKS) 能上网,但 TUN 模式不通:
Windows: Wintun 驱动版本
# 检查 Wintun 版本
sc query Wintun
升级 Wintun:
- 在 Mihomo GUI → 设置 → 重新安装 Wintun
- 或手动到 wintun.net 下 0.14.1+ 版本,替换
mihomo\wintun.dll
macOS: SystemExtension 授权
macOS 14+ 系统升级或 GUI 升级会重新生成 SystemExtension,需要在设置里重新允许:
- 设置 → 隐私与安全性 → 系统软件
- 看到”Mihomo Party (或你用的 GUI) 已被阻止”
- 点”允许”,输入密码
- 重启 GUI
Linux: TUN 设备权限
# 检查 TUN 设备
ls -la /dev/net/tun
# 如果不存在
sudo mkdir -p /dev/net && sudo mknod /dev/net/tun c 10 200 && sudo chmod 600 /dev/net/tun
# 给 Mihomo 二进制 CAP_NET_ADMIN 权限 (避免每次 sudo)
sudo setcap 'cap_net_admin=+ep cap_net_raw=+ep' /usr/local/bin/mihomo
排查步骤 5:规则集格式破坏
Mihomo 1.18 改了一些规则字段的解析:
| 旧格式 | 新格式 | 影响 |
|---|---|---|
IP-CIDR,198.18.0.0/16,no-resolve | 相同,但 no-resolve 现在可省 | 兼容 |
RULE-SET,xxx,REJECT | 需要 ruleProviders 里定义 xxx | 严格 |
DOMAIN-KEYWORD,google | 相同 | 兼容 |
SRC-PORT-RANGE,1024-65535 | 1.18 起支持 (新功能) | - |
PROCESS-NAME,chrome.exe,Proxy | macOS 需要授权 | 平台差异 |
最常见破坏:RULE-SET 引用了不存在的 ruleProviders。检查 yaml 顶部 rule-providers: 块是否完整。
快速回滚到稳定版
如果上述都不行,回滚到 1.18.10 (上个 LTS):
在 GUI 内回滚
- Clash Verge Rev:设置 → 内核版本 → 选 1.18.10
- Mihomo Party:设置 → 内核管理 → 切换版本
- FlClash:设置 → 高级 → 内核
手动替换内核
# 下 1.18.10 (LTS)
wget https://github.com/MetaCubeX/mihomo/releases/download/v1.18.10/mihomo-linux-amd64-v1.18.10.gz
gunzip mihomo-linux-amd64-v1.18.10.gz
# 替换 GUI 用的内核 (路径每家不同)
# Clash Verge Rev macOS: ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/sidecar/clash-meta
mv mihomo-linux-amd64-v1.18.10 ~/.config/clash-verge/sidecar/clash-meta
chmod +x ~/.config/clash-verge/sidecar/clash-meta
回滚后重启 GUI。
命令行直接跑内核测试
定位”GUI 问题 vs 内核问题”的最快方法:
# 提取 GUI 用的配置 (通常在 ~/.config/clash-verge/profiles/xxx.yaml)
cp ~/.config/clash-verge/profiles/active.yaml /tmp/test.yaml
# 直接跑内核
./mihomo -f /tmp/test.yaml -d /tmp/mihomo-test
# 在另一个终端测连接
curl --proxy http://127.0.0.1:7890 https://www.google.com -v
如果命令行通,问题在 GUI;如果命令行也不通,问题在配置或内核。
升级前的预防措施
下次升级 Mihomo 内核或 GUI 时:
- 备份当前配置:
cp -r ~/.config/clash-verge ~/.config/clash-verge.bak - 记录当前能用的内核版本:
./mihomo -v > /tmp/working-version.txt - 不要在工作中升级:留 30 分钟做验证
- 看 release notes:
gh release view v1.19.0 -R MetaCubeX/mihomo看 breaking changes
配套订阅的稳定性
订阅本身也会影响升级表现。冲浪笔记长期跟踪的兼容 Clash / Singbox / V2Ray 的订阅在每次 Mihomo 大版本发布后都会做兼容性校验,确保 yaml 字段与新内核兼容。升级 Mihomo 内核遇到问题时,先确认订阅源是否已适配新版本。
总结
Mihomo 升级后无网的五层排查:
- GUI 与内核 ABI 匹配 (最常见)
- DNS 配置加
prefer-h3: false+ipv6: false - 清理 198.18.0.0/15 系统路由残留
- TUN 模式按平台检查 (Wintun/SystemExtension/utun)
- 规则集 ruleProviders 引用完整
90% 问题在 (1) 与 (2)。如果都不行,回滚到 1.18.10 是兜底方案。本文 2026-05-20 实测核对。