Mihomo 连接成功但不能上网怎么办?
简答:Mihomo 显示“已连接”不等于网页流量已经成功经过代理。先关闭 TUN,仅使用 mixed-port 或 HTTP/SOCKS 端口测试;如果仍打不开,再看日志中有没有新请求、命中的规则和具体错误。没有新请求通常查系统代理或端口,有请求但超时多查节点、DNS 或规则。
定义:“Mihomo 连接成功但不能上网”是指内核或客户端已经启动、节点可能也能完成延迟测试,但浏览器或其他应用的实际请求没有成功访问目标地址。
先做这一步:关闭 TUN,用普通代理端口对照测试
如果你刚开启 TUN 后整机无法联网,先不要继续改 DNS、MTU 或路由表。暂时关闭 TUN,保留 Mihomo 内核运行,再把浏览器或系统代理指向配置中的 mixed-port、HTTP 端口或 SOCKS 端口。Mihomo 官方文档说明,mixed-port 同时支持 HTTP(S) 和 SOCKS5;普通代理测试可以先判断问题是否出在 TUN 接管层。查看 Mihomo 官方代理端口说明。
- 确认配置已经加载,且 Mihomo 内核状态为运行中。
- 在客户端中查看实际监听的端口,不要直接照搬其他教程中的端口号。
- 在系统网络代理中填入本机地址和该端口;如果客户端提供“设置系统代理”,先使用它。
- 浏览器访问一个平时可打开的网页,再观察 Mihomo 日志是否出现新的连接记录。
如果普通代理可以上网而 TUN 不行,优先检查 TUN 权限、防火墙、自动路由和 DNS 劫持;如果普通代理也不行,继续检查规则、节点和 DNS。
| 现象 | 优先检查 | 下一步 |
|---|---|---|
| 日志没有新请求 | 系统代理、浏览器独立代理、端口、其他 VPN | 重新设置代理并关闭冲突软件 |
| 有请求,规则命中 DIRECT | 规则模式和策略组 | 临时切换到合适的代理策略测试 |
| 有请求但 connection refused | 本地端口或节点入口 | 确认端口监听,重新选择节点 |
| 有请求但 timeout | 节点、路由、DNS 或防火墙 | 更换同一策略组中的其他节点并复测 |
| 开启 TUN 后整机断网 | TUN 权限、自动路由、DNS 劫持 | 关闭 TUN 恢复网络,再逐项启用 |
按日志判断:请求有没有真正进入 Mihomo
不要只看客户端上的“已连接”或节点延迟。打开日志后,访问一个网页并观察是否出现新请求、目标域名、命中的规则、使用的策略组以及最终错误。节点延迟测试成功,只能说明测试请求完成;它不能证明浏览器代理、DNS 解析和目标网站访问都正常。
- 没有新连接记录:通常是浏览器没有使用系统代理、浏览器设置了独立代理、系统代理被其他软件覆盖,或应用本身不支持当前代理入口。
- 出现 DIRECT:请求被规则安排为直连。先确认这是否符合预期,再临时切换到代理策略测试;不要把所有流量永久改成全局模式。
- 出现 REJECT:请求被规则拒绝。检查域名是否命中了拒绝规则,必要时用一个确定允许访问的测试域名对照。
- 出现 connection refused:可能是本地端口没有监听、端口被其他程序占用,或远端节点入口拒绝连接。
- 出现 timeout:可能与节点不可达、DNS 请求超时、路由或防火墙有关,需要结合目标地址和时间点判断。
- 出现 dns resolve failed:重点检查 DNS 配置、DNS 出口以及节点域名解析,不要先反复切换节点。
- 出现 network is unreachable:优先检查系统网络、默认路由、TUN 自动路由和多网卡选择。
排查时建议把日志级别临时调高到客户端支持的调试级别,复测后再恢复原设置。提交日志前,应删除订阅地址、UUID、密码、令牌和完整节点配置。
系统代理、端口和浏览器设置怎么核对
普通代理模式下,Mihomo 只会接收已经被应用指向本地代理端口的流量。若系统代理显示开启,但日志没有请求,按下面顺序恢复:
- 关闭其他 VPN、代理客户端和浏览器代理扩展,避免它们覆盖系统代理或占用同一端口。
- 在 Mihomo 客户端中重新执行一次“设置系统代理”,再关闭后重新打开浏览器。
- 检查浏览器的独立代理设置是否与系统代理不同;部分浏览器扩展会单独接管代理。
- 核对代理地址是否为本机地址,端口是否与 Mihomo 当前配置一致。
- 如果系统代理无法使用,先用客户端提供的连接测试或另一个支持 HTTP/SOCKS 的应用做对照。
如果你使用的是局域网共享代理,还要确认是否开启了允许局域网连接,并核对监听地址、防火墙和局域网设备访问权限。不要为了排查而长期暴露控制端口或代理端口。
规则和策略组:连接成功但请求被直连或拒绝
在规则模式下,节点可用不代表所有域名都会走代理。先查看请求命中的规则和最终策略组,再进行最小改动:
- 如果命中
DIRECT,确认该域名是否本来就应直连;若不确定,只对当前测试域名临时选择代理策略。 - 如果命中
REJECT,检查规则集是否加载失败、规则顺序是否异常,或域名是否被误分类。 - 如果策略组为空、节点不可选或自动选择没有结果,先手动选择一个可见节点测试,再考虑自动测速或 URL-test。
- 如果只有一个网站打不开,用另一个网站和同一策略组对照;不要把单站点问题直接判断为整个 Mihomo 失效。
测试完成后恢复原来的规则模式和策略组,避免把临时的全局或手动选择当成长期配置。
DNS 排查:能连节点,但域名解析失败
DNS 是“节点连接成功但网页打不开”中常见的分界点。Mihomo 的 DNS 配置包含是否启用 DNS、监听地址、解析模式、nameserver 以及与代理服务器域名解析有关的配置;官方配置示例也区分了普通域名解析和用于解析 DNS 服务域名的 default-nameserver。查看 Mihomo 官方 DNS 配置示例。
- 先确认配置中的
dns.enable是否开启,以及客户端当前是否实际加载了这份配置。 - 查看日志是否出现
dns resolve failed、couldn't find ip或 DNS 请求超时。 - 如果只开启 TUN 后出现问题,暂时关闭 TUN 做普通代理对照;若普通代理正常,重点检查
dns-hijack、自动路由和 TUN 网卡。 - 不要一次同时更换 nameserver、enhanced-mode、fake-IP 和 TUN 参数。每次只改一个项目,并记录原值。
- 若使用 fake-IP,检查局域网域名、内网地址和需要排除的域名是否符合当前配置;修改后清理客户端 DNS 缓存或重启内核再复测。
DNS 查询成功也不等于网页一定能打开。还要确认最终连接是否命中正确规则、节点是否能访问目标地址。
TUN 模式导致断网:权限、路由和防火墙分开查
TUN 会在网络层接管流量,覆盖范围比只指向代理端口的普通代理更大,因此配置错误可能表现为整机断网。官方文档列出了 auto-route、auto-detect-interface、dns-hijack、strict-route 等选项;不同客户端对这些选项的菜单名称可能不同,应以当前客户端界面和内核版本为准。查看 Mihomo 官方 TUN 配置说明。
- 先关闭 TUN,确认普通代理可以工作,并记下原来的 TUN 配置。
- 重新开启 TUN 时确认客户端获得系统管理员权限,并确认内核、防火墙和 TUN 网卡没有被系统阻止。
- 优先保留自动识别出口网卡的设置;如果设备有网线、Wi-Fi、虚拟网卡或移动热点,重点检查出口网卡是否选错。
- 暂时不要同时修改 MTU、协议栈、自动路由和严格路由。先只恢复一个最小配置进行测试。
- 若开启 TUN 后无法恢复,使用客户端提供的“恢复网络”功能;没有该功能时正常退出并重新启动客户端,避免强制结束进程后遗留路由。
官方 Mihomo Dashboard 文档也提醒,TUN 需要相应权限和系统网络设置;如果恢复网络后仍异常,应记录操作系统、客户端版本、Mihomo 内核版本和错误信息,再针对版本核验。查看官方 Dashboard 的 TUN 与网络恢复说明。
按故障范围快速分流
| 故障范围 | 优先判断 | 建议操作 |
|---|---|---|
| 所有网站都打不开 | 系统代理、端口、节点或 DNS | 关闭 TUN,用 mixed-port 做对照,观察日志是否有请求 |
| 只有部分网站打不开 | 规则、策略组、DNS 或目标站点 | 比较命中规则和最终策略,使用另一域名交叉测试 |
| 只有一个应用打不开 | 应用是否遵循系统代理 | 检查应用独立代理设置,或使用 TUN 做对照 |
| 开启 TUN 后整机断网 | 权限、路由、DNS 劫持、防火墙 | 关闭 TUN 恢复网络,再逐项启用参数 |
| 节点延迟正常但网页失败 | 延迟测试与实际访问不是同一件事 | 看真实请求日志、规则命中和 DNS 错误 |
恢复前的最小改动清单
如果你不确定改动是否有效,可以按以下顺序回滚:
- 恢复原来的规则模式和策略组。
- 关闭 TUN,恢复普通代理测试。
- 恢复原来的 DNS 模式、nameserver 和 fake-IP 设置。
- 撤销手动设置的系统代理,重新由客户端设置一次。
- 关闭其他 VPN、代理扩展和可能占用端口的程序。
- 重启 Mihomo 内核,再用同一个网页和同一个节点复测。
如果仍无法访问,记录四项信息:操作系统、客户端版本、Mihomo 内核版本、日志中的完整错误关键词。不要公开订阅 URL、节点密码、UUID 或完整配置。Mihomo 的版本会持续变化,遇到配置解析错误或字段行为变化时,应优先对照当前官方文档和发布说明,而不是直接套用旧教程。
本文是第三方使用指南,仅用于通用客户端和网络排查;涉及具体订阅、节点状态或服务入口时,应以对应服务的官方信息为准,本文不对其价格、状态、速度或可用性作判断。
推荐:如果你需要进一步排查跨境办公中的线路、DNS、MTU 或连接问题,可查看边界云加速官网提供的网络诊断服务。
常见问题
Mihomo 显示节点已连接,为什么网页还是打不开?
节点延迟或连接成功只代表某个测试请求完成,不代表浏览器流量已经进入 Mihomo,也不代表 DNS、规则和目标网站访问都正常。先关闭 TUN,用 mixed-port 或 HTTP/SOCKS 端口做普通代理测试,再观察日志是否出现网页请求。
Mihomo 没有任何连接日志,应该先检查什么?
优先检查系统代理是否真正指向 Mihomo 当前端口、浏览器是否使用独立代理、端口是否被其他程序占用,以及是否同时运行了其他 VPN 或代理软件。没有新日志通常说明请求尚未进入 Mihomo。
关闭 TUN 后可以上网,开启 TUN 就断网怎么办?
说明普通代理链路可能正常,问题集中在 TUN 权限、自动路由、出口网卡、DNS 劫持或防火墙。先关闭 TUN 恢复网络,再一次只启用一个参数;如果客户端有“恢复网络”功能,优先使用它。
Mihomo 出现 dns resolve failed 怎么处理?
先确认 DNS 配置已经加载,再检查 nameserver、default-nameserver、DNS 监听和 TUN 的 dns-hijack。不要同时修改多个 DNS 参数;每次改动后重启内核并用同一域名复测。
只有一个应用无法联网,其他应用正常,是什么原因?
该应用可能不遵循系统代理,或应用内部设置覆盖了系统代理。先检查应用自身的代理设置,再关闭浏览器扩展或其他代理工具;如果应用不支持普通代理,可用 TUN 做对照测试。