V2Rayの実行ログの読み方:rejected・timeoutなど頻出エラーの意味と切り分け

実行ログは接続トラブルを特定する最も直接的な手がかりです。rejected、connection timeout、invalid userなど頻出エラーの意味を整理し、「受信→ルーティング→送信」の順に原因を絞り込みます。

この記事の概要

この記事は、ノードのインポート後に接続できない、ウェブページが開かない、または接続が断続的に切れる場合に役立ちます。ログ全体を逐一読むのではなく、まず発生時刻を記録し、受信待受、ルーティング、リモート送信の3段階から最初の異常を探します。最後に1つずつ条件を変えて原因を確認します。

まず、本当に役立つ実行ログを見つける

v2rayN、v2rayNG、v2flyNGはいずれもクライアントの状態を表示しますが、画面の通知はコアの実行ログとは異なります。「起動しました」「テスト完了」といった表示は操作が実行されたことを示すだけです。リクエストがどこで止まったかを判断するには、時刻、ログレベル、接続先、エラーの連鎖を含むコア出力を確認してください。

v2rayN 7.xを例にすると、まずメイン画面の「情報」欄を確認します。ログの記録範囲を調整する場合は、「設定」→「パラメータ設定」を開き、コアのログレベルに関する項目を探します。v2rayNG 1.10.xでは、サイドメニューから「ログ」を開きます。ログレベルは通常、「設定」の詳細オプションにあります。バージョンによって名称が多少異なる場合がありますが、サブスクリプション更新の通知だけでなく、コアのログを選択してください。

10808
よく使われるローカル待受ポート
3段階
受信、ルーティング、送信
30秒
1回の再現を観察する時間
1項目
1回につき変更は1つだけ

ログを記録する前に、問題をクリーンな状態で再現する

  1. 実行中のダウンロード、速度テスト、バックグラウンド同期を停止し、無関係な接続を減らします。
  2. 現在のログを消去するか、テスト開始時刻を正確に控えます。
  3. 対象ノードを起動し、コアの状態が安定するまで待ってから、明確なURLまたはアプリの機能を1つ開きます。
  4. 30秒以内に問題を再現してすぐ操作を止め、障害発生前後のログを約20〜50行保存します。
  5. 使用したノード、システムプロキシの状態、TUNの状態、ローカルポートを記録します。ただし、完全なサブスクリプションURL、UUID、パスワード、アクセストークンは公開しないでください。

受信・ルーティング・送信の順にエラーの連鎖を読む

通常、リクエストはブラウザーなどのアプリから送られ、ローカルのSOCKS、HTTP、またはTUNの受信口を通ってコアに入り、ルーティングルールに照合された後、プロキシノードまたは直接接続の出口から送信されます。ログのエラーは複数の層の情報が連結されていることが多く、外側は「処理失敗」を示し、内側ほど元の原因に近くなります。

最後に出たerrorだけを検索しないでください。同じ時刻の前後に新しい接続があるか確認し、外側から内側へエラーの連鎖をたどって、dial、lookup、authentication、routing、bindなどのキーワードを探します。その後に大量発生するキャンセル情報より、最初の異常のほうが診断に役立ちます。

アプリがリクエストを開始ローカル受信で受け付けルーティングルールを照合リモート送信へダイヤル接続先がデータを返す

第1段階:受信口はリクエストを受け取っているか

ウェブページを開いてもログに新しい接続がまったく追加されない場合、問題はまだコアに到達していない可能性が高いです。システムプロキシが有効か、ブラウザーが個別のプロキシを使っていないか、アプリがシステムプロキシを無視していないか、ローカルのアドレスとポートが一致しているかを確認します。v2rayNの一般的なローカルポートは10808ですが、アップグレード、設定の移行、手動変更後は「設定」→「パラメータ設定」に表示される実際の値を優先してください。

第2・第3段階:どの出口がルールで選ばれたか

受信が正常なら、次にリクエストがプロキシ、直接接続、ブロックのどれへ送られたかを確認します。ルーティングルールの順序が誤っていると、ノード自体は正常でも、対象ドメインが先にある直接接続またはブロックルールに捕捉されます。その後、送信ダイヤルを確認します。この段階では、ドメイン解決、サーバーポート、通信方式、TLSパラメータ、ユーザー認証が関係します。

確認する場所 典型的な症状 優先して確認する項目
受信 接続記録がない、または待受に失敗 システムプロキシ、10808ポート、プロトコル種別
ルーティング リクエストが誤った出口に送られた ルールの順序、ドメイン分類、直接接続とブロックのルール
送信 ダイヤルのタイムアウト、認証失敗 サーバーアドレス、ポート、UUID、通信方式、TLS
応答段階 接続したがすぐ切断される リモートの応答、ネットワーク切り替え、アイドル接続の切断

rejected、timeout、invalid userはそれぞれ何を意味するか

同じ問題でも、V2RayとXrayのコア、通信方式、バージョンによって表現が少し異なる場合があります。判断では中心となる動作に注目してください。rejectedはどこかの層が接続を明確に拒否したこと、timeoutは制限時間内に処理が完了しなかったこと、invalid userは認証情報の不一致を直接示します。

エラー:rejected

原因と対処:拒否はローカルの受信口、ルーティングによるブロック、またはリモートサーバーで発生する可能性があります。rejectedの後に続くモジュール名を確認してください。blockedも同時に出ている場合はルーティングルールを確認し、authenticationやinvalid userが続く場合はノードの認証パラメータを確認します。

エラー:connection timeout

原因と対処:制限時間内に接続を確立できなかった状態です。まずサーバーアドレスとポートを確認し、現在のネットワークと別の利用可能なネットワークでそれぞれテストします。1つのノードだけがタイムアウトする場合は、ノードのパラメータまたはリモート側への到達性を優先して確認します。

エラー:dial tcp: i/o timeout

原因と対処:TCPダイヤルが時間内に完了していません。対象アドレスに到達できない、ポートが応答しない、ネットワーク経路が不安定といった原因が一般的です。UUIDを先に変更せず、まずアドレス、ポート、基本的なネットワーク接続を確認します。

エラー:invalid user

原因と対処:サーバーがクライアントから送信されたユーザー情報を認識できていません。VMessまたはVLESSノードのUUID、追加の認証パラメータ、サブスクリプションの更新時刻を確認し、古いノードと新しい設定を混在させていないか確認します。

エラー:failed to find an available destination

原因と対処:送信先として利用できる宛先が見つかっていません。アドレス解決の失敗、宛先リストが空、先行するダイヤルがすべて失敗したことなどが原因です。ノードアドレスの入力ミスとDNSの結果を確認し、コアを再起動して再テストします。

エラー:context canceled

原因と対処:上位の処理によって現在の操作がキャンセルされています。ノードの切り替え、コアの停止、先行する接続失敗などでよく発生します。多くの場合は結果として出るメッセージなので、上にさかのぼって、より早いtimeout、rejected、認証エラーを探します。

エラー:address already in use

原因と対処:待受に使用するローカルポートがすでに占有されています。重複起動しているクライアントを終了するか、「設定」→「パラメータ設定」で未使用のローカルポートに変更します。たとえば10808から空いているポートへ変更し、アプリのプロキシ設定も同じポートに更新します。

rejectedをすべてノード障害と判断しない

ログには広告ドメイン、LAN上の検出、システムの接続確認、ユーザーが意図的にアクセスした通信が同時に含まれることがあります。ブロックルールが想定どおりリクエストを拒否した場合も、rejected系の情報が出ます。エラーの時刻が対象操作と一致し、該当ドメインやIPが今回のアクセス先そのものである場合に限り、主要な手がかりとして扱ってください。

1つずつ条件を変えて原因を絞り込む

効果的な切り分けには再現可能な比較が必要です。DNS、ポート、通信方式、ルーティングルールを一度に変更すると、接続が戻ってもどの変更が効いたのか分かりません。元の設定をコピーして保存し、毎回1つの条件だけを変更し、同じ対象に対して再テストする方法が確実です。

  1. ローカル受信を確認:コアを起動した後、実際に設定されているポートで正常に待受できているか確認し、ブラウザーのリクエストがログに入るか観察します。
  2. ノード選択を確認:クライアントのメイン画面で対象ノードを選び直し、編集したノードとは別のノードを使用していないか確認します。
  3. ルーティングを一時的に簡略化:設定への影響範囲を明確にしたうえで、基本的なプロキシルールで再テストし、複雑な分岐が誤判定の原因かどうかを確認します。
  4. 送信パラメータを確認:サーバーアドレス、ポート、VMessまたはVLESSの種別、UUID、通信方式、TLS、サーバー名を項目ごとに比較します。
  5. ネットワークを切り替えて比較:ノードとクライアント設定を変えずにネットワークだけを切り替えます。エラーが継続的なタイムアウトから正常な接続に変わるなら、原因は現在のネットワーク経路に近いと考えられます。
  6. 設定を戻して確認:原因が分かったら、その他の一時設定を元に戻し、よく使う対象に3回続けてアクセスします。少なくとも2分間、同じエラーが再発しないか観察します。

ポート占有を完全に切り分ける手順

v2rayNの起動後にウェブページへまったくアクセスできず、ログにリモートへのダイヤルエラーではなくローカル待受エラーが最初に出たとします。この場合はまず10808ポートを対処し、ノードの変更や通信パラメータの修正は行いません。典型的なログは次のような形になります。

failed to start inbound
listen tcp 127.0.0.1:10808: bind: address already in use

重複起動しているクライアントのプロセスを完全に終了してから、もう一度起動します。それでも占有されている場合は、「設定」→「パラメータ設定」で別の未使用ローカルポートを選び、ブラウザーまたはシステムプロキシにも同じポートを設定します。変更後のログでは、まず待受成功が表示され、その後に本機からの接続記録が出るはずです。リクエストがコアに入ってから、ルーティングと送信を確認します。

よくあるログの症状別対処

トラブルは1つのエラーテキストだけでなく、「接続記録はあるのにウェブページが返らない」「起動直後は正常だが数分後にタイムアウトする」といった複合的な症状になることがあります。ここではよくある状況ごとに最初に行う操作を示します。完了後も、障害が発生した時刻付近のログに戻って確認してください。

ログが流れ続ける場合、直前の失敗をどう見つける?

まずログを消去し、バックグラウンドのダウンロードを停止して、テスト用のウェブページを1つだけ開きます。クリックした時刻を控え、その後30秒間の記録から対象ドメイン、timeout、rejected、failed、errorを検索します。

起動成功と表示されるのに、ブラウザーに新しいログがまったくない?

v2rayNのシステムプロキシの状態と、ブラウザーに個別のプロキシが設定されていないかを確認します。手動でプロキシを入力している場合、アドレスは127.0.0.1にし、ポートはクライアントの現在の設定と一致させます。

connection timeoutが発生するのが1つのノードだけ?

ネットワークを変えず、既知の正常な別ノードへ切り替えてテストします。他のノードが正常なら、問題のノードのサーバーアドレス、ポート、通信パラメータを確認し、サブスクリプションを更新してからノードを選び直します。

ノード切り替え後にcontext canceledが大量に出る?

ノードを切り替えると古い接続が終了するため、通常この記録を個別に処理する必要はありません。新しいコアの状態が安定してから再テストし、新しい時刻の範囲で、より早く発生したダイヤルまたは認証エラーを探します。

v2rayNGでは接続済みなのに、アプリがタイムアウトする?

サイドメニューからログを開き、対象アプリのリクエストが記録されているか確認します。記録がなければ、システムの接続許可とアプリ自身のプロキシ設定を確認します。記録があれば、ルーティングと送信の段階に沿って切り分けます。

DNSの問題とノードの問題を見分ける方法

ログにドメイン解決の失敗が出ていて、既知のIPを直接使う別のリクエストが正常なら、原因はDNSに近いと考えられます。ノードサーバー自体がドメイン名で指定されている場合、解決失敗によって送信ダイヤルが直接阻止されます。対象ドメインだけ解決に失敗する場合は、DNSの分岐設定とドメインルールも確認が必要です。timeoutが出たからといって、すぐDNSだと判断しないでください。ポートに到達できない場合もタイムアウトになります。

古いルーティングデータが残っていると、ドメイン分類が想定と一致しないことがあります。ただし通常、invalid userを発生させることはありません。エラーと処理範囲を対応させれば、無関係な変更を避けられます。認証エラーはユーザーパラメータ、待受エラーはローカルポート、名前解決エラーはDNS、ルールの誤適用はルーティングを確認します。

再確認できるトラブル記録を保存する

断続的な切断は、再起動すると一時的に直ることがあるため、特に対処が難しい問題です。最後のエラーだけを切り取るのではなく、構造化した記録を保存すれば、次回の再現時に直接比較できます。クライアント、コア、ネットワーク環境、ノード種別、発生時刻、最初の異常を記録してください。

記録項目 記入例 用途
クライアントとバージョン v2rayN 7.x メニューの場所と初期動作を判断する
コアの種類 XrayまたはV2Ray ログ表現の違いを説明する
ローカル受信 127.0.0.1:10808 アプリが正しいポートへ接続しているか確認する
プロトコルと通信方式 VLESSとTCP 認証と通信方式の確認範囲を絞る
再現時刻 14:32:10〜14:32:40 大量のログからリクエストを特定する
最初の異常 dial tcp: i/o timeout 根本原因と後続の連鎖エラーを区別する

設定の管理者に問題を報告する際は、上記の環境情報と、機密情報を伏せたエラー部分を提供できます。サブスクリプションURL、UUID、パスワード、トークン、完全なサーバーアドレス、個人がアクセスしたドメインは削除してください。時刻、モジュール名、エラー種別、ポートを残せば、多くの判断に必要な情報を保てます。

v2rayN をダウンロード4プラットフォームのインストールパッケージを見る