· 路由分流 · 约 10 分钟

geoip.dat 与 geosite.dat 更新方法:路由规则数据文件用法详解

解释 GeoIP、GeoSite 两个数据文件在分流中的作用,演示在 v2rayN 和 v2rayNG 里更新规则文件,以及 geosite:cn 这类写法的含义。

本文速览

GeoSite 提供域名分类,GeoIP 提供 IP 地址段分类;它们是路由规则引用的数据,不是节点订阅。本文适合已经能够连接、但需要更新分流数据或排查网站走错出口的用户。按“确认内核与数据源、更新文件、重启服务、检查规则命中”的顺序操作,比反复更新订阅更有针对性。

两个 dat 文件分别解决什么问题

路由分流可以理解为一张连接分配表:哪些请求直连,哪些交给代理,哪些直接阻止。geosite.dat 和 geoip.dat 是这张表背后的分类资料。文件更新后,分类内容可能改变,但客户端中的规则顺序与出口选择不会自动重写。

文件保存的内容规则引用示例使用条件
geosite.dat按标签组织的域名条目,可能包含域名、完整域名或正则等匹配类型geosite:cn内核取得目标域名,且数据源提供对应标签
geoip.dat按标签组织的 IPv4、IPv6 地址段geoip:cn目标本身是 IP,或路由策略允许解析域名后匹配 IP

geosite:cn 的意思是“引用当前 GeoSite 文件里名为 cn 的集合”,不是“匹配所有以 .cn 结尾的域名”。集合可以收录其他后缀的域名,具体范围由数据维护者决定。同样,geoip:cn 是地址段分类,不保证某个网站的业务归属,也不能代替延迟测试。

2 类文件
域名集合与 IP 地址段分开维护
3 种策略
下文对照的路由 domainStrategy 取值
443 端口
HTTPS 测试请求的常见目标端口,不是分类标签

节点订阅解决的是“连接到哪个服务端、使用什么协议与参数”。Geo 文件解决的是“这个域名或 IP 属于哪一组”。VMess、VLESS 等节点协议与这两个分类文件不是同一层设置,因此更新订阅不等于更新分流数据库。

更新前先确认内核、来源与回退文件

先确认正在使用的数据格式。本文讨论 Xray、V2Fly 使用的传统 dat 路由数据。v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核;桌面的 v2rayN 则应以当前配置实际调用的内核为准。若当前配置使用其他规则格式,不能只改扩展名就套用本文方法。

v2rayN:更新 Geo 文件并重新加载

v2rayN 不同版本、桌面版与经典界面的菜单布局可能不同。常见入口是主窗口「检查更新」→「更新 Geo 文件」,部分版本会将 GeoIP 与 GeoSite 拆为单独更新项。以下按这个常见入口说明;若菜单名称不同,应找 Geo 数据更新项,而不是用“更新订阅”替代。

  1. 记录当前配置

    记下当前节点、活动路由与核心类型。若准备手动替换,先退出程序并备份原文件;优先尝试客户端自带的更新功能。

  2. 执行数据更新

    打开「检查更新」→「更新 Geo 文件」。若 GeoIP、GeoSite 分开列出,依次更新两项,分别确认结果,不要把其中一项成功视作全部完成。

  3. 处理下载失败

    先确认普通网络与当前代理是否可用。若该版本提供通过代理更新的选项,可在代理已连通后重试;不要在本来不可用的代理上反复下载。

  4. 重启核心服务

    完成更新后重启核心服务。若不确定对应按钮的位置,可从托盘菜单退出 v2rayN,再重新启动程序,避免只关闭窗口而核心仍在后台运行。

  5. 检查启动结果

    打开日志区域,确认没有数据文件读取失败、标签缺失或规则加载失败。保持原路由方案,再进行网站访问测试。

需要手动更新时,不要默认“程序目录下同名文件”就是核心使用的文件。安装方式、核心目录与资源目录设置都可能影响实际位置。先查客户端配置及启动日志中的资源路径;停止核心后替换正确位置的文件,再启动检查。文件名应准确保留为 geoip.dat 和 geosite.dat,避免系统隐藏扩展名后形成重复后缀。

结论:先用内置更新,再排查路径

内置更新提示成功但行为没变时,先检查活动路由和核心重载;只有确认读取路径错误,才进行手动替换。把同一文件复制到多个目录会增加后续定位难度。

v2rayNG:在应用内更新 Geo 资源

v2rayNG 的 Geo 更新入口随版本调整,常见位置在主界面右上角的更多菜单,名称可能显示为「更新 Geo 文件」或「更新 Geo 资源」。有些版本在「路由设置」页面的更多菜单中提供该操作。先查主界面,再查「路由设置」;以当前版本实际显示的 Geo 更新项为准。

  1. 确认连接方式

    保留当前可用节点。若数据源在当前网络无法直接访问,先启动代理连接;更新是否经过代理仍取决于应用设置与实际网络接管范围。

  2. 打开更新入口

    在主界面右上角更多菜单查找 Geo 更新项;若没有,进入「路由设置」→右上角更多菜单查找。不要点击订阅分组的更新按钮代替。

  3. 等待更新完成

    执行更新并留意应用反馈。如果两种文件分别操作,逐一确认。失败时先检查网络与可用存储空间,不要连续点击制造并行任务。

  4. 停止后再连接

    更新完成后,点击主界面连接按钮停止服务,再重新连接,使核心重新加载资源。随后到「路由设置」确认活动规则仍是预期方案。

如果当前安装版本找不到 Geo 更新功能,先在应用的版本信息中记录版本,再核对该版本提供的操作入口,必要时通过客户端下载页选择合适安装包。不要把桌面端文件路径照搬到安卓端,也不要为了替换数据而随意清除应用存储;清除操作可能同时移除节点、订阅与自定义规则。

geosite:cn 与 geoip:cn 应该怎样写

下面是 Xray、V2Fly 风格的路由片段,不是可以独立运行的完整配置。示例先匹配 cn 域名集合,再匹配私有地址及 cn 地址段。direct 必须对应完整配置中实际存在的出站标签;若你的直连出站使用其他名称,应同步替换。

{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": [
          "geoip:private",
          "geoip:cn"
        ],
        "outboundTag": "direct"
      }
    ]
  }
}

规则从前往后检查,先匹配的规则决定出口。上面的域名规则不需要先把域名解析为 IP;后面的 IP 规则是否参与域名请求匹配,则与 domainStrategy 有关。这是路由对象里的字段,不要与 DNS 设置或出站中的同名字段混为一谈。

策略域名请求的处理方式排查重点
AsIs路由阶段不主动为 IP 规则解析域名;原本就是 IP 的目标仍能参与 IP 匹配只写 GeoIP 规则,不能保证域名请求命中
IPIfNonMatch域名未匹配到规则时,尝试解析为 IP 后继续匹配前面的兜底规则可能让解析机会不再出现
IPOnDemand匹配过程中需要 IP 信息时尝试解析规则顺序和 DNS 结果都可能影响最终出口

示例没有写最终兜底出站。完整配置里,请结合默认出站与其他规则明确未命中请求的去向。尤其不要在这些规则前面放一个覆盖全部 TCP、UDP 连接的代理规则,再期待后面的 cn 规则生效。

结论:先检查规则是否有机会命中

某个网站持续走错出口时,先看前面是否已有宽泛规则,再看域名是否进入内核,最后查集合内容。只有最后一项确实过期,更新 dat 文件才是直接修复办法。

更新后如何验证,出现错误怎样回退

验证要同时覆盖核心启动与连接行为。浏览器打开页面成功,只能说明存在可用路径,不能证明它经过了指定出口。页面缓存、连接复用及 DNS 缓存也可能掩盖变化,测试前应重建连接,而不是只刷新同一个页面。

更新订阅了,为什么分流还是没变?

订阅主要更新节点连接配置。请单独执行 Geo 文件更新,并确认当前启用的路由确实引用了这些集合。若路由只有手写域名规则,更新 dat 文件不会改变这些手写条目。

提示某个 geosite 标签不存在,怎么办?

先记录完整标签,例如规则里冒号后面的集合名称,再查当前数据源是否提供它。将规则改为该数据源实际支持的标签,或恢复配套数据源;反复下载同一份文件不能生成缺失的集合。

更新成功,国内网站仍然走代理?

依次检查活动路由、前置兜底规则和目标域名是否可见。若连接只向核心提交 IP,GeoSite 域名规则可能无法参与;此时应检查接入方式及嗅探设置,而不是直接认定 cn 集合失效。

两个文件需要每天更新吗?

不必为了日期变化频繁更新。可以定期维护,并在出现明确的分类变化或数据缺失时更新。每次保留一个已知可用版本,更新后完成启动和出口检查,比只追求最新日期更重要。

处理 Geo 数据问题时,一次只改变一个环节:先换数据,再验证;确需修改规则时,再单独调整规则。把节点、DNS、路由模板和数据源同时更换,即使恢复连接,也难以确认真正原因。需要补齐系统代理、订阅与路由的先后关系,可继续阅读入门指南或查阅术语表。

下载v2rayN按平台选择客户端