この記事は、v2rayN でルーティングルールを有効にしているものの、新しいドメインの誤振り分け、Geo ファイルの更新失敗、手動置換後のコア起動失敗に悩むユーザー向けです。まず現在の Core 種類と実際のファイル保存先を確認し、基本的には内蔵更新を使います。オフラインで作業する場合は、コア停止、旧ファイルのバックアップ、同名ファイルの置換、再起動確認の順に進めてください。
2つのデータベースがそれぞれ照合する対象
geosite.dat には、用途や地域別に整理されたドメインの集合が保存されています。ルーティングルールの geosite:cn や geosite:category-ads-all などは単一のドメインではなく、コアに対して該当タグのドメイン一覧を読み込むよう指示する記法です。接続先がまだドメイン名の段階なら、コアはこの種のルールで直結・プロキシ・ブロックの出力先を直接決められます。
geoip.dat には、IP アドレス範囲とタグの対応関係が保存されています。geoip:cn は宛先 IP が属するアドレス範囲に一致し、geoip:private は LAN などの非パブリック範囲を識別します。宛先がすでに IP に解決されている場合や、接続先を IP アドレスで直接指定している場合は、GeoIP ルールが主な判定基準になります。
2つのファイルが担うのはルーティングの照合であり、サブスクリプションのノードを提供したり、VLESS、VMess、トランスポート層のパラメーターを変更したりするものではありません。データベースが古い場合は、新しいドメインが既存タグに収録されていない、新たに割り当てられたアドレス範囲が誤った出力先に振り分けられる、ルールが参照する新しいタグを旧ファイルから見つけられない、といった症状が現れます。
geosite.dat
- 照合対象
- ドメイン
- 代表的なタグ
- geosite:cn
- 判定のタイミング
- ドメインを識別できる間
- 主な用途
- ドメインのグループ分けと広告ドメインの処理
判定結果は、タグの内容、ルールの順序、最終的な出力先の設定によって決まります。
geoip.dat
- 照合対象
- IPv4 と IPv6 のアドレス範囲
- 代表的なタグ
- geoip:private
- 判定のタイミング
- 宛先が IP になった後、または名前解決完了後
- 主な用途
- アドレスの地域判定とプライベートネットワークの振り分け
ドメイン名の解決をルーティングに利用すると、ドメインルールと IP ルールが順番に一致する場合があります。
代表的なタグと照合順序
geosite:cn は通常、中国本土向けサービスを中心としたドメイン集合の照合に使われ、直結に設定されることが多いタグです。整備されたドメイン一覧に基づくものであり、「特定の拡張子で終わるすべてのドメイン」を意味するわけではありません。また、各ドメインのサーバーが実際に同じ地域にあることを保証するものでもありません。
geoip:private は主にプライベートアドレスまたは予約アドレスを対象とします。代表的なプライベート IPv4 範囲には 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 があります。LAN プリンター、ルーターの管理画面、家庭用ストレージなどは、通常プロキシルールより前にこのタグへ一致させ、直結します。
geosite:geolocation-!cn は、データベースの管理者が対応する中国本土以外の地理集合に分類したドメインを示しますが、国外ドメインすべてを網羅する絶対的な一覧ではありません。どのタグにも一致しない宛先は最終ルールに渡るため、ルーティング設定には明確なフォールバック出力先を残しておく必要があります。
LAN を優先
- ドメイン
- geosite:private
- アドレス
- geoip:private
- 出力先
- direct
- 位置
- ルール一覧の先頭
まず内部ネットワーク宛てを処理し、管理画面やローカルデバイスがプロキシへ送られるのを防ぎます。
中国本土のリソースは直結
- ドメイン
- geosite:cn
- アドレス
- geoip:cn
- 出力先
- direct
- フォールバック
- proxy
具体的なルールを先に照合し、最終ルールで未一致の接続を受け取ります。
| タグ | 照合対象 | 一般的な出力先 | 確認ポイント |
|---|---|---|---|
geosite:cn |
ドメイン集合 | 直結 | 新しいドメインが収録されているか |
geoip:cn |
IP アドレス範囲 | 直結 | 宛先の解決結果が該当範囲に含まれるか |
geoip:private |
プライベートアドレスと予約アドレス | 直結 | プロキシのフォールバックルールより前にあるか |
geosite:category-ads-all |
広告関連ドメインの集合 | ブロック | ブロックによってページに必要なリソースまで影響を受けないか |
更新前に Core の種類と実行ディレクトリを確認
まず v2rayN のメイン画面で現在のバージョンと使用中の設定を記録し、「設定」→「パラメーター設定」→「Core タイプ」を開きます。VLESS、VMess などのノードは設定に応じて異なるコアを使用できます。Geo ファイルは v2rayN 本体の場所ではなく、現在実際に起動しているコアのディレクトリに置く必要があります。
v2rayN 7.12.3 のポータブル版ディレクトリを確認例とすると、Xray コアの一般的な場所は bin/Xray/ です。ここにはコアの実行ファイルと geoip.dat、geosite.dat があるはずです。パッケージ版によってディレクトリ名の大文字・小文字や階層が異なる場合があるため、ログに表示される起動パスを基準にしてください。
更新前に実行中のコアを終了します。メインウィンドウを閉じただけではトレイプロセスが残ることがあるため、トレイメニューから「終了」を実行し、タスクマネージャーで関連するコアプロセスが終了したことを確認してください。ファイルが使用中の状態で強制的に上書きすると、アクセス拒否、片方だけの置換、次回起動時に古い内容が読み込まれるといった問題が起こりやすくなります。
-
バージョンを記録
「ヘルプ」または「バージョン情報」を開き、v2rayN のバージョンを記録します。確認例の環境は v2rayN 7.12.3 です。
-
コアを確認
「設定」→「パラメーター設定」→「Core タイプ」を開き、現在のノードが Xray と v2fly のどちらのコアを実際に使用しているか確認します。
-
ディレクトリを特定
ノードを一度起動して実行ログを確認し、コアの起動パスを基に
bin/Xray/または実際の Core ディレクトリを特定します。 -
プロセスを終了
トレイメニューから v2rayN を終了し、コアプロセスが2つの
.datファイルを使用していないことを確認します。 -
旧ファイルをバックアップ
元のファイルをコピーし、
geoip.dat.bak-20260730とgeosite.dat.bak-20260730という名前で保存して、すぐに元へ戻せるようにします。
v2rayN の内蔵機能で更新
通常の更新では、まず v2rayN の内蔵機能を使います。上部の「更新を確認」メニューを開き、「Geo ファイルを更新」を選択します。7.x の一部の画面では「Update Geo files」と表示されます。この操作で Geo データがダウンロードされ、対応するディレクトリに書き込まれます。完了後は、読み込み済みのデータを再読込させるためにコアを再起動してください。
更新中はノードの切り替え、Core タイプの変更、2つ目の v2rayN の起動を同時に行わないでください。画面にダウンロード完了と表示されたのにファイルの更新日時が変わらない場合は、まず書き込み権限とセキュリティソフトの隔離履歴を確認し、現在の実行ディレクトリと確認しているディレクトリが一致するかを見直します。
-
コアを停止
メイン画面で現在のサーバーを停止し、更新処理とコアが同時に Geo ファイルへアクセスしないようにします。
-
更新を実行
「更新を確認」→「Geo ファイルを更新」を開き、ステータスバーまたはログに完了結果が表示されるまで待ちます。
-
日時を確認
実際の Core ディレクトリで2つのファイルの更新日時を確認し、
geoip.datとgeosite.datの両方が更新されていることを確認します。 -
コアを再起動
使用中のサーバーを選び直して起動し、最初の30秒間のログを確認します。ファイル読み込みエラーやタグ欠落エラーがないことを確認してください。
-
振り分けをテスト
LAN アドレス、直結対象のドメイン、プロキシ対象のドメインをそれぞれ1つずつ開き、ルーティングログの出力先表示を確認します。
geoip.dat と geosite.dat を手動で置換
内蔵更新がネットワーク、権限、ダウンロード元の状態に左右される場合は、手動で置換できます。現在のコアに対応した正式な配布リソースから、完全な geoip.dat と geosite.dat を取得してください。Web ページのレスポンス、圧縮ファイル本体、名前が似ている説明文書を直接改名して使ってはいけません。
置換時はファイル名を完全に一致させる必要があります。Windows では既知の拡張子が初期状態で非表示になっていることがあり、geoip.dat と表示されていても実際には geoip.dat.dat の場合があります。エクスプローラーで「表示」→「表示」→「ファイル名拡張子」を有効にし、名前を確認してください。
2つのデータは同じタイミングでまとめて置換するのが理想です。片方だけを更新してもすぐにエラーが出るとは限りませんが、ドメインルールと IP ルールの更新時点がずれます。その結果、誤振り分けの原因がルール順序、名前解決の結果、データの差異のどれなのか判断しにくくなります。
-
ファイルを取得
現在のコアに対応した正式な Geo データを2つダウンロードし、解凍後にファイル名がそれぞれ
geoip.datとgeosite.datになっていることを確認します。 -
完全に終了
サーバーを停止してトレイから v2rayN を終了し、Xray または v2fly のコアプロセスが終了したことを確認します。
-
バックアップを残す
Core ディレクトリ内の旧ファイルを別のバックアップディレクトリへコピーします。システムの上書き確認ダイアログだけに頼らないでください。
-
同名で上書き
ログで確認した Core ディレクトリへ新しいファイルをコピーし、旧ファイルを上書きします。2つのファイルがともに正常に書き込まれたことを確認してください。
-
起動して確認
v2rayN と現在のノードを起動し、Geo データを読み込めない、タグが見つからない、ファイル形式が異常といったエラーがログに出ていないか確認します。
-
異常時に戻す
コアが起動できない場合は、プログラムを終了して2つのバックアップファイルを復元し、ダウンロードしたファイルとコアの種類を再確認します。
v2rayN/
├─ v2rayN.exe
├─ guiConfigs/
└─ bin/
└─ Xray/
├─ Xray.exe
├─ geoip.dat
├─ geosite.dat
└─ その他のコア実行ファイル
更新が本当に反映されたか確認
ファイルが存在することと、ルールが有効になっていることは別です。コアは起動時にデータを読み込むため、置換後にサーバーを切り替えただけでコアを再起動しない場合、旧プロセスがメモリ上の古いデータを使い続ける可能性があります。最も確実なのは、v2rayN を終了して再起動した後、結果を区別できる3種類のルーティングテストを行う方法です。
1つ目は、ルーターの管理アドレス 192.168.1.1 などの LAN アドレスをテストします。geoip:private に一致して直結されるのが期待される結果です。2つ目は、ルーティング設定で明確に geosite:cn に分類されるドメインを選びます。3つ目は、最終的なプロキシルールで処理されるドメインを選び、ルーティングログで対象、適用ルール、出力先名を照合します。
ローカル SOCKS インバウンドでテストする場合は、ブラウザーまたはテストツールに v2rayN の画面で実際に表示されるポートを入力します。旧版では 127.0.0.1:10808 が代表例です。ポートは現在のクライアント設定を基準にしてください。ポートが間違っていると接続失敗になりますが、Geo データ自体の問題ではありません。
内蔵更新
推奨v2rayN がダウンロードと書き込みを実行するため手順が少なく、日常的な定期メンテナンスに適しています。更新後もコアの再起動とルーティングログの確認が必要です。
適した環境:通常どおり通信でき、ディレクトリへの書き込み権限がある環境
手動置換
ファイルの取得元、置換先、戻すバージョンを明確に管理できるため、内蔵更新がタイムアウトする場合や対象デバイスから直接ダウンロードできない場合に適しています。
適した場面:更新失敗、オフラインでの移行、複数ディレクトリの切り分け
バックアップを復元
同じタイミングで保存した2つの旧ファイルをまとめて復元し、新しいファイルの破損、タグの非互換、コアの起動失敗に対処します。
適した場面:置換直後にエラーが出た場合の迅速な復旧
| 確認項目 | 正常な結果 | 異常時にまず確認する点 |
|---|---|---|
| ファイル名 | 正確に2つの .dat ファイルである |
拡張子が重複していないか、圧縮ファイル内に残っていないか |
| 更新日時 | 2つのファイルが今回の更新日時になっている | ディレクトリの権限と実際の Core パス |
| コアの起動 | Geo データの読み込みエラーがない | ファイルの完全性、コアの種類、使用中のプロセス |
| プライベートアドレス | geoip:private に一致し、直結される |
ルールの順序と LAN バイパス設定 |
| ドメインの振り分け | 想定した geosite タグに一致する | ドメインスニッフィング、DNS 解決、フォールバックルール |
よくあるエラーと対処の順序
ログに「geosite タグが見つからない」といったエラーが出た場合は、まずタグの綴りとプレフィックスを確認し、次に現在の geosite.dat にそのタグが含まれているかを確認します。カスタムルールのタグ名はデータベースの定義と一致させる必要があります。geoip: プレフィックスをドメインタグに使ったり、geosite: プレフィックスを IP アドレス集合に使ったりしてはいけません。
ファイルへのアクセスが拒否された場合は、まずトレイプロセスを完全に終了し、v2rayN のあるディレクトリに現在のユーザーの書き込み権限があることを確認します。プログラムが保護されたディレクトリにある場合は、新しいファイルをいったん通常のディレクトリへコピーし、クライアントを終了してから必要な権限で上書きしてください。
更新に成功したのに振り分け結果が変わらない場合は、「実際の Core パス、コアが再起動されたか、ルールの順序、DNS の解決結果、最終出力先」の順に確認します。同じファイルを何度も上書きしてログ確認の代わりにしないでください。対象がドメイン段階ですでに前方のルールに処理されている場合、GeoIP データを更新してもその判定は変わりません。
- コアを起動できない:同じタイミングで作成した2つのバックアップファイルを復元し、サービスが復旧したことを確認してから対応ファイルを取得し直します。
- 片方のファイルだけ更新された:コアを停止して更新を再実行し、もう片方のファイルが使用中になっていないか、書き込み権限が不足していないか確認します。
- LAN 通信がプロキシに送られる:
geoip:privateと対応する直結出力先を、広範囲のプロキシルールより前に配置します。 - ドメインの判定が想定外:DNS の応答アドレス、ドメインスニッフィングの設定、完全一致のドメインルールが先に適用されていないかを確認します。
- タグを認識できない:タグの綴り、データの更新バッチ、現在のコアを確認し、ドメインタグと IP タグを混在させないでください。
- 再起動後も古いファイルが読み込まれる:ログのコアパスを確認し、古いショートカットや2つ目の v2rayN インスタンスが起動していないか確認します。
更新後のルーティング管理
Geo データの更新で解決できるのはタグ内容の変化だけで、カスタムルーティングが自動的に修正されるわけではありません。更新後は、プライベートネットワークの直結、必要なドメインルール、中国本土のリソース、指定プロキシ、最終フォールバックなど、用途が明確で少数のルールを維持してください。ルールが多いほど、重複一致の切り分けに手間がかかります。
安定した振り分けが必要な業務ドメインには、完全一致またはサフィックスのルールを Geo タグより前に置けます。対象範囲の広い一般サイトは geosite と geoip タグに任せます。これにより、データベースの内容が変わっても重要な宛先を明示的なルールで制御できます。
更新するたびにテスト結果を1件記録し、少なくとも v2rayN のバージョン、Core の種類、2つのファイルの更新日、3種類のテスト対象、実際の出力先を書き留めます。次に誤振り分けが起きたとき、変化がクライアント、コア、Geo データ、DNS 結果のどこで生じたかをすぐ比較できます。
- 正常に起動できた直近の2つの Geo ファイルのバックアップを残す。
- 更新前に「設定」→「パラメーター設定」→「Core タイプ」の現在値を記録する。
- 更新後はサブスクリプションの更新やノードの切り替えだけで済ませず、コアを完全に再起動する。
- プライベートアドレス、直結ドメイン、プロキシドメインの3種類で確認する。
- 異常が発生したら、まずファイルを元に戻し、その後カスタムルーティングルールを1つずつ復元する。