mihomo 新配置带 GEOIP 规则时 geoip.metadb 失效导致配置测试不过:从正常机器复制数据库的排查
现象:换了新配置,配置测试直接不过,旧配置没动
2026-10-31 给四台机器统一换一份新的 mihomo 配置(49 节点、16 分组、1623 条规则),其中三台在替换后跑配置测试时直接失败,服务不敢重启——旧配置当时还完好,测试拦下来反而是好事,说明测试这一步不能省:配置没过测试就重启,等于把一台能用的代理切断。
定位:不是节点、不是端口,是 GEOIP 规则找不到可用的数据库
新配置里带了 GEOIP 规则,需要本机有一份有效的 geoip.metadb。排查发现三台机器的旧 geoip.metadb 要么无效、要么缺失,而直连 GitHub 下载新数据库又超时,下载这条路走不通。注意区分两个层次:规则本身没错、节点本身没错,缺的是规则依赖的那份本地数据库文件,换节点、改端口都解决不了。
做法:从同一批里那台正常的机器复制现成数据库
四台里有一台(164)的 geoip.metadb 是有效的、8.6MB。做法就是把它复制到另外三台的 /etc/mihomo/ 目录下,再跑配置测试,测试通过后再重启服务。复制后三台全部通过,服务 active,HTTP 与 SOCKS 代理实测出网都走了新节点。这个办法成立的前提是:源文件本身已被验证有效、且目标机器的 mihomo 版本能读同一种格式,不要拿一个来路不明的数据库文件直接覆盖。
每台的回滚与验证
每台旧配置都先备份为同目录的 config.yaml.bak-20261031-19xxxx,拷回重启即回滚。验证分三步,缺一不可:配置测试通过、服务 active、出网实测出口确实是新节点(四台实测出口均为 JP 段 203.190.1.x)。只看服务 active 不够,服务起来了但出口还是旧节点,等于换了个寂寞。
一句话总结
mihomo 配置测试不过时,先看规则依赖的本地文件在不在、有效无效:GEOIP 规则缺有效的 geoip.metadb 时,从同批正常机器复制一份已验证的数据库,比反复改配置、反复直连下载更直接;换配置前备份旧文件、换后用出网实测验出口,才算换完。
- 点赞
- 收藏
- 关注作者
评论(0)