mihomo 新配置带 GEOIP 规则时 geoip.metadb 失效导致配置测试不过:从正常机器复制数据库的排查

举报
yd_277098636 发表于 2026/11/01 09:56:20 2026/11/01
【摘要】 现象:换了新配置,配置测试直接不过,旧配置没动2026-10-31 给四台机器统一换一份新的 mihomo 配置(49 节点、16 分组、1623 条规则),其中三台在替换后跑配置测试时直接失败,服务不敢重启——旧配置当时还完好,测试拦下来反而是好事,说明测试这一步不能省:配置没过测试就重启,等于把一台能用的代理切断。定位:不是节点、不是端口,是 GEOIP 规则找不到可用的数据库新配置里带...

现象:换了新配置,配置测试直接不过,旧配置没动

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 时,从同批正常机器复制一份已验证的数据库,比反复改配置、反复直连下载更直接;换配置前备份旧文件、换后用出网实测验出口,才算换完。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。