この記事は、v2rayNのルーティング機能を使っていて、分類の古さやルールが適用されない問題に困っている方に適しています。まず現在のコアとリソースディレクトリを確認し、内蔵機能で更新、コアを再起動した後、ログと最終設定で分類名を確認します。内蔵更新に失敗した場合は、コアを停止して2つのデータファイルを手動で置き換えます。
geoip.dat と geosite.dat の役割
geoip.dat はIPアドレスの範囲ごとに分類します。ルーティングルールの geoip:cn や geoip:private は、このファイルから読み込まれます。接続先がすでにIPアドレスの場合や、ドメインの名前解決結果をさらにIPとして照合する場合、コアはGeoIPデータを参照します。
geosite.dat はドメインごとに分類します。よく使われる記述には geosite:cn、geosite:category-ads-all、geosite:geolocation-!cn があります。保存されているのはドメインルールの集合であり、DNS名前解決を行うものでも、特定のIPの地域を直接判定するものでもありません。
2つのファイルはいずれも実行中のXrayまたはV2Flyコアが読み込みます。v2rayNは設定の生成、コアの起動、更新処理を担当するだけです。ファイルを更新してもルールの順序は自動で変わりません。前にある範囲の広いルールが先に一致すれば、後続のGeoIPやGeoSiteルールは実行されません。
| リソースファイル | ルールのプレフィックス | 代表的な分類 | 用途 |
|---|---|---|---|
| geosite.dat | geosite: |
cn、category-ads-all |
ドメイン集合によるルーティング |
| geoip.dat | geoip: |
cn、private |
接続先IPアドレス範囲によるルーティング |
更新前にコア、ディレクトリ、既存ルールを確認
まずv2rayNのメイン画面で、現在のアクティブ設定が使用しているコアを確認します。VLESS、XTLS、REALITYの設定は通常Xrayに渡されます。通常のVMess設定でもXrayを使用する場合があります。コアの種類を切り替えたことがある場合、以前のディレクトリにあるファイルだけを置き換えてはいけません。
次に「設定」→「パラメータ設定」を開き、ローカルのリッスンポート、コアの種類、更新関連の項目を記録します。一般的なローカルSOCKSポートは 10808、HTTPポートは 10809 です。ポートを変更している場合は現在の画面を優先してください。リソースファイルの更新だけでポートを変更する必要はありません。
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リソースを更新」と表示される場合があります。実行前に、接続可能なサーバー設定を選択してください。
- v2rayNを起動し、コアが正常に動作していること、システム時刻とネットワーク接続が正常であることを確認します。
- 「更新を確認」メニューを開き、Geoファイルの更新項目を選択します。
- ステータスバーまたはログにダウンロードと書き込みの完了が表示されるまで待ち、書き込み中にプログラムを終了しないでください。
- 現在のコアを停止してから、コアを再起動します。システムプロキシの切り替えだけでは、古いリソースが解放されるとは限りません。
- ログを開き、分類が見つからない、リソースファイルを読み込めない、設定の読み込みに失敗したといったエラーがないか確認します。
自動更新とコアの頻繁な切り替えは同時に行わない方が安全です。v2rayNではコアごとに異なるディレクトリを使う場合があり、1回のダウンロードが成功しても、対象ディレクトリへの書き込みが完了したことを示すだけで、別のコアのディレクトリまで更新されたわけではありません。Xrayを継続して使う場合は、現在のXrayディレクトリと起動ログを重点的に確認すれば十分です。
更新後は「ダウンロード成功」だけでルールが有効だと判断しないでください。コアを再起動し、直結されるはずのドメインとプロキシ経由になるはずのドメインにそれぞれアクセスして、ログの接続先アドレスとアウトバウンドタグを確認します。想定どおりに照合されて初めて、更新完了と判断できます。
結論:更新後は必ずコアを再起動
Geoデータはコアの起動時に読み込まれます。まずコアを停止し、約3秒待ってから再起動し、冒頭のログを確認してください。サーバーやシステムプロキシを切り替えるだけより確実です。
内蔵更新に失敗した場合の手動置換
手動で置き換える前に、コアを完全に停止します。xray.exe または v2ray.exe が実行中だとファイルが使用中になり、コピー操作で片方しか置き換わらない場合があります。v2rayNの「サーバー」エリアから停止操作を実行し、ログの出力が終了したことを確認してください。
ダウンロード元は、現在のコアが対応するリソース形式と一致している必要があります。新しい geoip.dat と geosite.dat を入手したら、ファイル名は変更しないでください。圧縮ファイル自体の名前を .dat に変更したり、2つのファイルを余分な入れ子ディレクトリに入れたりしないでください。
v2rayN\
├─ v2rayN.exe
└─ bin\
└─ Xray\
├─ xray.exe
├─ geoip.dat
└─ geosite.dat
- 実行中のコアを終了し、ログに表示されたコアの実行パスを記録します。
- その実行ファイルがあるディレクトリを開き、古い2つの
.datファイルが同じ階層にあることを確認します。 - 古いファイルをバックアップディレクトリへコピーします。例:
backup\2026-08-26\。 - 新しいファイルをコピーして同名ファイルを上書きし、最終的な名前に拡張子が重複していないことを確認します。
- コアを起動し、設定の読み込み中にリソース読み込みエラーが出ていないか確認します。
- 直結、プロキシ、ブロックのルールを1つずつテストし、実際のアウトバウンドを確認します。
上書き前
- コアの状態
- 停止済み
- バックアップ数
- 2ファイル
- ディレクトリの根拠
- 起動ログ
- ファイル名
- 元の名前を維持
まず使用中のディレクトリを特定し、過去のバージョンが残るディレクトリへ更新しないようにします。
上書き後
- 手順1
- コアを再起動
- 手順2
- ログを確認
- 手順3
- ルーティングをテスト
- 異常時の対応
- 古いファイルを復元
2つのファイルは同じ更新単位として扱い、分類のバージョンずれによる切り分けの手間を避けます。
ポータブル版でディレクトリを移動した場合、システム内に複数の bin\Xray\ が存在することがあります。ファイルの更新日時で検索すれば候補を絞れますが、実際に使用中だとは限りません。最も確実なのは、現在の起動ログに表示された実行パスと、タスクマネージャーで実際に動作しているコアプロセスです。
GeoIPとGeoSiteでよく使う分類名の書き方
v2rayNのルーティング設定では、ドメインルールとIPルールを対応する欄に記述します。geosite:cn はドメイン照合欄に、geoip:cn はIP照合欄に入力します。アウトバウンドタグには通常 direct、proxy、block を指定しますが、最終的には生成された設定のタグ名を確認してください。
基本的な順序は、プライベートアドレスを直結、特定のブロック対象ドメインを遮断、中国本土のドメインを直結、中国本土の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"
}
geoip:private:一般的なプライベートアドレスやローカルアドレスの範囲に一致します。通常は直結に設定します。geoip:cn:接続先IPで分類し、ドメインルールの後に補助的に使うのが適しています。geosite:cn:中国本土のドメイン分類に収録された項目に一致します。geosite:category-ads-all:広告関連ドメインの集合に一致します。使用前に、必要なサービスのドメインが誤ってブロックされないことを確認してください。geosite:geolocation-!cn:地理情報に基づいて整理された中国本土以外のドメイン集合に一致します。範囲が広いため、細かいルールの後に置いてください。
分類名は現在の geosite.dat または geoip.dat に存在していなければなりません。もっともらしい名前を自分で書いても、分類が自動的に作成されることはありません。コアの起動時に「geositeの項目が見つからない」といったエラーが出た場合は、ローカルのリッスンポートを何度も変更するのではなく、綴り、プレフィックス、データの取得元を確認してください。
結論:細かいルールを広範囲の分類より前に置く
まず個別ドメイン、完全一致のドメイン、特定の分類を処理し、その後に geosite:geolocation-!cn などの広範囲な集合を使い、最後にフォールバックのアウトバウンドを設定します。これにより、誤った一致をログから特定しやすくなります。
更新後にルールが効かない場合の確認手順
更新後にコアを起動できない場合は、まずログの最初のエラーを確認します。リソースファイルのパス、分類の不存在、JSON設定の構文エラーはそれぞれ別の問題です。障害の切り分けに必要な情報を失うため、最初からすべてのルーティングルールを削除しないでください。
コアは起動するもののルーティング結果が正しくない場合は、まずリクエストにドメイン名が含まれているか確認します。アプリによってはIPへ直接接続するため、GeoSiteルールで照合できるドメインがなく、GeoIPに頼ることになります。DNSの書き換え、リモート名前解決、TUNモードを有効にすると接続先情報の作られ方も変わるため、最終設定と照らし合わせて判断してください。
更新後も分類が見つからないと表示される?
起動ログを開いて実際のコアディレクトリを確認し、ルールの綴りを見直します。たとえば geosite:cn はIPリストに書けず、geoip:cn もドメインリストには書けません。修正後はコアを停止し、約3秒待ってから起動してください。
ファイルを上書きしたのに更新日時が変わらない?
通常は使用されていない古いディレクトリを置き換えています。ログで xray.exe または v2ray.exe の実際のパスを特定し、その実行ファイルがあるディレクトリに2つのファイルを置いてから、コアを再起動してください。
更新後、すべてのサイトがプロキシ経由になる?
ルーティングルールの順序と現在のルーティングモードを確認します。プライベートアドレス、geosite:cn、geoip:cn の直結ルールをフォールバックのプロキシルールより前に置き、アウトバウンドタグが確実に direct を指していることを確認してください。
広告分類の影響で正常なページのリソースが読み込めない?
まず geosite:category-ads-all ルールを一時的に無効化して原因を確認し、コアのログからブロックされた具体的なドメインを特定します。必要なドメインは、より前にある直結またはプロキシルールへ追加し、ルーティング全体を無効にしないでください。
内蔵更新が何度もタイムアウトする場合は?
まず利用可能なサーバー設定に接続し、システム時刻が正しいことを確認してから、「更新を確認」→「Geo filesを更新」を再実行します。それでも失敗する場合はコアを停止し、実際のコアディレクトリで手動置換を行い、旧ファイルは復元用に残してください。
現在選択しているルーティングモードも確認してください。v2rayNでグローバルプロキシ、グローバル直結、または別のプリセットモードに切り替えると、カスタムルールが最終的な設定に反映されない場合があります。編集画面に保存された内容だけでなく、起動後に生成されたルーティング部分を確認してください。
一部のドメインだけ通信先が異常な場合は、まず細かく指定したルールを1つ追加して比較します。細かいルールは一致するのに分類ルールが一致しない場合、原因は分類名、データファイル、ルール欄にある可能性が高いです。どちらも一致しない場合は、ルールの順序、接続先の種類、アウトバウンドタグを確認します。
復元できる更新サイクルを作る
Geoデータを起動のたびに強制ダウンロードする必要はありません。通常の利用では週1回の確認で十分です。細かい分類ルールに依存し、新しいドメインの分類変更が頻繁に起きる場合は、24時間ごとの確認を検討してください。更新頻度は分類データの新しさに影響しますが、ノードの通信速度を高めるものではありません。
更新ごとに、直近で利用できたバックアップを1つだけ残せば十分です。バックアップには geoip.dat、geosite.dat、現在のルーティング設定を含めます。分類の欠落や誤一致が起きた場合は、まず前回のデータに戻し、その後にルールの変更を個別に確認してください。ファイル、DNS、アウトバウンド設定を同時に変更しないことが重要です。
- 更新前:コアの種類、実行パス、ルーティングモード、ファイルの更新日時を記録します。
- 更新時:2つのリソースファイルを同じ更新単位として扱い、片方だけを置き換えないようにします。
- 更新後:コアを停止して再起動し、起動ログと3種類のアウトバウンド結果を確認します。
- 異常が発生した場合:直近のバックアップを復元し、分類名、項目、順序、ディレクトリを順番に確認します。
メンテナンス後は、固定したテスト対象を用意します。ローカルネットワークのアドレスでプライベートアドレスの直結を確認し、中国本土の既知のドメインでGeoSiteを確認し、IPアドレスへの直接接続でGeoIPを確認します。さらに、プロキシ経由になるはずのドメインでフォールバックルールを確認します。ランダムにWebページを開くより、固定した対象の方が更新前後の差を比較しやすくなります。