本文速览

本文适合已经使用 v2rayN 路由功能、但遇到分类过期或规则不生效的用户。操作顺序是确认当前内核与资源目录,使用内置入口更新,重启内核,再从日志和最终配置检查分类名;内置更新失败时,再停核并手动替换两份数据文件。

geoip.dat 与 geosite.dat 分别处理什么

geoip.dat 按 IP 地址段归类。路由规则中的 geoip:cngeoip:private 都从这份文件读取。连接目标已经是 IP,或域名解析结果需要继续做 IP 匹配时,内核会查询 GeoIP 数据。

geosite.dat 按域名归类。常见写法包括 geosite:cngeosite:category-ads-allgeosite:geolocation-!cn。它保存的是域名规则集合,不负责 DNS 解析,也不会直接判断某个 IP 所属地区。

两份文件都由运行中的 Xray 或 V2Fly 内核读取,v2rayN 只负责生成配置、调用内核与执行更新操作。更新文件不会自动改变规则顺序。若前面已有范围更大的规则先命中,后面的 GeoIP 或 GeoSite 规则仍然不会执行。

应用发起请求 取得目标信息 域名规则匹配 IP 规则匹配 选择出站
资源文件 规则前缀 典型分类 适合处理
geosite.dat geosite: cncategory-ads-all 按域名集合分流
geoip.dat geoip: cnprivate 按目标 IP 地址段分流

更新前先确认内核、目录与现有规则

先在 v2rayN 主界面查看当前活动配置使用的内核。VLESS、XTLS 或 REALITY 配置通常交给 Xray;普通 VMess 配置也可能使用 Xray。若切换过核心类型,不能只替换旧目录中的文件。

再打开「设置」→「参数设置」,记录本地监听端口、核心类型和更新相关选项。常见本地 SOCKS 端口是 10808,HTTP 端口是 10809。自定义过端口时以当前界面为准,资源文件更新本身不要求修改端口。

2 份
需要配套检查的数据文件
10808
常见本地 SOCKS 端口
10809
常见本地 HTTP 端口
24 小时
日常检查间隔建议

Xray 资源目录

常见位置
bin\Xray\
执行文件
xray.exe
数据文件
geoip.dat、geosite.dat
适用配置
VLESS、VMess

以实际启动日志显示的核心路径为准,不按压缩包根目录猜测。

V2Fly 资源目录

常见位置
bin\v2ray\
执行文件
v2ray.exe
数据文件
geoip.dat、geosite.dat
规则前缀
geoip、geosite

目录名称会随 v2rayN 版本与解压结构变化,必须和当前执行文件对应。

最后导出或查看当前路由配置,确认规则确实引用了 GeoIP 或 GeoSite。只替换数据文件而配置中没有 geoip:geosite: 条目,不会产生可见变化。更新前可复制旧文件到单独备份目录,文件名附上日期即可。

使用 v2rayN 内置入口更新 Geo 文件

优先使用客户端内置入口。常见操作路径是主菜单「检查更新」→「更新 Geo files」。部分 v2rayN 7.x 界面会把该项放在更新子菜单中,中文文案可能显示为「更新 Geo 文件」或「更新 Geo 资源」。执行前先选择一个可连接的服务器配置。

  1. 启动 v2rayN,确认核心可以正常运行,系统时间与网络连接正常。
  2. 打开「检查更新」菜单,选择 Geo 文件更新项。
  3. 等待状态栏或日志显示下载与写入完成,不要在写入期间关闭程序。
  4. 停止当前内核,再重新启动内核;仅切换系统代理开关不足以保证旧资源被释放。
  5. 打开日志,确认没有出现找不到分类、无法读取资源文件或配置加载失败。

自动更新不宜和频繁切换核心同时进行。v2rayN 中不同核心可能使用不同目录,一次成功下载只说明目标目录写入完成,不代表另一个核心目录同步更新。长期固定使用 Xray 时,只需重点检查当前 Xray 目录和启动日志。

更新结束后不要仅以“下载成功”判断规则有效。重新启动核心,再访问一个应当直连的域名和一个应当代理的域名,分别检查日志中的目标地址与出站标签。只有匹配结果符合预期,才算完成更新。

结论:更新后必须重启内核

Geo 数据在核心启动阶段载入。先停止核心,等待约 3 秒,再重新启动并查看首段日志,比只切换服务器或系统代理状态更可靠。

内置更新失败时手动替换文件

手动替换前先完全停止内核。若 xray.exev2ray.exe 仍在运行,文件可能被占用,复制操作也可能只替换其中一份。可在 v2rayN 中执行「服务器」区域的停止操作,再确认日志已经结束输出。

下载来源应与当前内核支持的资源格式匹配。取得新的 geoip.datgeosite.dat 后,保持文件名不变。不要把压缩包本身改名成 .dat,也不要把两份文件放进额外的嵌套目录。

v2rayN\
├─ v2rayN.exe
└─ bin\
   └─ Xray\
      ├─ xray.exe
      ├─ geoip.dat
      └─ geosite.dat
  1. 退出正在运行的核心,记录日志中显示的核心执行路径。
  2. 打开该执行文件所在目录,确认旧的两份 .dat 文件位于同一级。
  3. 将旧文件复制到备份目录,例如 backup\2026-08-26\
  4. 复制新文件并覆盖同名文件,确认最终名称没有重复扩展名。
  5. 启动核心,观察配置加载阶段是否报告资源读取错误。
  6. 测试直连、代理与拦截规则各一个,核对实际出站。

覆盖前

核心状态
已停止
备份数量
2 个文件
目录依据
启动日志
文件名称
保持原名

先确定正在使用的目录,避免更新到历史版本残留目录。

覆盖后

第一步
重启核心
第二步
检查日志
第三步
测试分流
异常处理
恢复旧文件

两份文件应作为同一批次处理,避免分类版本错位增加排查成本。

便携版移动过目录时,系统中可能存在多个 bin\Xray\。按文件修改时间搜索只能帮助定位,不能证明它正被使用。最可靠的依据仍是当前启动日志中的执行路径,以及任务管理器中实际运行的核心进程。

GeoIP 与 GeoSite 常用分类名怎么写

在 v2rayN 路由设置中,域名规则和 IP 规则应放在对应字段。geosite:cn 写入域名匹配区域,geoip:cn 写入 IP 匹配区域。出站标签通常选择 directproxyblock,具体名称以最终生成配置中的标签为准。

常见的基础顺序是:私有地址直连,特定拦截域名阻断,国内域名直连,国内 IP 直连,其余流量交给代理出站。若把全局代理规则放在最前面,后续直连分类就没有命中机会。

{
  "type": "field",
  "domain": [
    "geosite:cn"
  ],
  "outboundTag": "direct"
},
{
  "type": "field",
  "ip": [
    "geoip:private",
    "geoip:cn"
  ],
  "outboundTag": "direct"
},
{
  "type": "field",
  "domain": [
    "geosite:category-ads-all"
  ],
  "outboundTag": "block"
}

分类名必须存在于当前 geosite.datgeoip.dat。自行写入一个看似合理的名称,不会自动创建分类。核心启动时若报告类似“找不到 geosite 条目”的错误,应先核对拼写、前缀和数据来源,而不是反复修改本地监听端口。

结论:精确规则放在宽范围分类之前

先处理单个域名、完整域名和特定分类,再使用 geosite:geolocation-!cn 等宽范围集合,最后设置兜底出站。这样更容易从日志定位误匹配。

更新后规则失效的排查顺序

更新后无法启动核心,先看日志第一条错误。资源文件路径错误、分类不存在和 JSON 配置语法错误是三类不同问题。不要先删除全部路由规则,否则会丢失用于定位故障的上下文。

核心能够启动但分流结果不对,先确认请求是否携带域名。某些应用直接连接 IP,此时 GeoSite 规则没有可匹配的域名,只能依赖 GeoIP。启用 DNS 改写、远程解析或 TUN 模式后,目标信息的形成过程也可能变化,应结合最终配置判断。

更新完成后仍提示找不到分类?

打开启动日志确认实际核心目录,再检查规则拼写。例如 geosite:cn 不能写进 IP 列表,geoip:cn 也不能写进域名列表。修正后停止核心,等待约 3 秒再启动。

文件已经覆盖,修改时间却没有变化?

通常是替换了未被使用的旧目录。根据日志定位 xray.exev2ray.exe 的真实路径,把两份文件放到该执行文件所在目录,再重启核心。

更新后所有网站都走代理?

检查路由规则顺序与当前路由模式。将私有地址、geosite:cngeoip:cn 的直连规则放在兜底代理规则之前,并确认出站标签确实指向 direct

广告分类导致正常页面资源缺失?

先暂时停用 geosite:category-ads-all 规则确认原因,再从核心日志找到被阻断的具体域名。把业务必需域名加入更靠前的直连或代理规则,不要直接关闭全部分流。

内置更新一直超时怎么办?

先连接一个可用服务器配置,确认系统时间正确,再重试「检查更新」→「更新 Geo files」。仍失败时停止核心,按实际核心目录手动替换,并保留旧文件用于回退。

还要检查当前选择的路由模式。v2rayN 中切换到全局代理、全局直连或其他预设模式后,自定义规则可能不再是最终生效配置。应在启动后查看生成的路由段,而不是只看编辑窗口中保存的内容。

若只有少量域名流向异常,可先添加一条精确规则进行对照。精确规则能够命中而分类规则不能命中,问题多半在分类名、数据文件或规则字段;两者都不能命中,则继续检查规则顺序、目标类型和出站标签。

建立可回退的更新周期

Geo 数据没有必要在每次启动时强制下载。普通使用可按每周一次检查;依赖细分类规则、经常遇到新域名归类变化时,可按 24 小时检查。更新频率只影响分类数据的新旧,不会提升节点传输速度。

每次更新只保留一份最近可用备份即可。备份内容包括 geoip.datgeosite.dat 和当前路由配置。发生分类缺失或误匹配时,先恢复上一批数据,再分别检查规则变化,避免同时改文件、DNS 和出站设置。

维护完成后,保留一组固定测试目标:本地局域网地址用于验证私有地址直连,已知国内域名用于验证 GeoSite,直接 IP 请求用于验证 GeoIP,再用一个应当代理的域名检查兜底规则。固定测试对象比随机打开网页更容易比较更新前后的差异。