ルーター・バイパスルーターでV2Rayコアを動かす方法|透過プロキシと必要なハードウェア

ルーターでXrayまたはV2Flyを動かす方法を解説。透過プロキシの仕組み、ゲートウェイ設定、必要なハードウェアを紹介します。

この記事の概要

ルーターへの導入で重要なのは、デスクトップ用の設定をそのまま移すことではなく、ゲートウェイ、トラフィックの取り込み、DNS、コアのアウトバウンドを一連の経路として構成することです。LinuxやOpenWrt搭載機をプロキシ中継に使う方向けに、メインルーターとバイパスルーターの違い、1台での試験手順、透過プロキシの注意点、ハードウェアの評価指標、障害時の切り戻し方法を解説します。

1. 設置場所:メインルーターとバイパスルーターの役割

メインルーターは通常、インターネット接続、DHCPによるIPアドレス配布、NAT、ファイアウォールを担当します。ここでコアを動かせば、転送経路全体を制御しやすくなりますが、プロキシの更新、ルール設定ミス、リソース不足が発生すると、LAN全体に影響するおそれがあります。バイパスルーターは追加の中継機器です。まず一部の端末だけでゲートウェイとして使えば、試験範囲を限定できます。

独立したバイパスルーターで試験

おすすめ

メインルーターの既存の接続設定とアドレス配布はそのままにし、テスト端末だけゲートウェイを変更します。問題が起きた場合も、端末のゲートウェイを元に戻せばよく、ネットワーク全体の転送ルールを変更するより原因の特定と切り戻しが簡単です。

おすすめ:初めて導入する場合、家庭内ネットワークで端末ごとに検証したい場合

メインルーターで直接動かす

1台の機器で接続、ファイアウォール、プロキシをまとめて処理します。ルールの管理は集約できますが、CPU、メモリ、ストレージの空き容量を確認し、ローカルの管理画面への接続手段も確保してください。

おすすめ:ファイアウォールに詳しく、ネットワークを一元管理したい場合

端末のクライアントを使う

デスクトップではv2rayN、Androidではノードに応じてv2rayNGまたはv2flyNGを選びます。LANのゲートウェイを変更せずに使えるため、ルーターに導入する前にノードの接続性を確認する基準として適しています。

おすすめ:プロキシが必要な端末が少なく、ネットワーク構成を変えたくない場合

この記事では、LANポート1つのバイパスルーターを例にします。メインルーターは192.168.10.1/24、バイパスルーターは192.168.10.2/24、テスト端末は192.168.10.100/24です。実際のネットワークに合わせてアドレスを変更し、バイパスルーターのアドレスはDHCPの動的割り当て範囲から除外してください。これらは設定例であり、機器の初期設定値ではありません。

テスト端末 192.168.10.100
  デフォルトゲートウェイ → バイパスルーター 192.168.10.2
                ├─ 直接接続のアウトバウンド → メインルーター 192.168.10.1 → インターネット
                └─ プロキシのアウトバウンド → メインルーター 192.168.10.1 → リモートノード

バイパスルーター自身のデフォルトゲートウェイ:192.168.10.1
メインルーター自身のデフォルトゲートウェイ:プロバイダー側の上位ルーター

2. コアの選び方:プロトコル、アーキテクチャ、設定形式を確認

XrayとV2Flyはそれぞれ単独で動作するプロキシコアであり、ルーターのOSではありません。v2rayN、v2rayNG、v2flyNGはクライアントのUIです。v2rayNGはXrayコア、v2flyNGはV2Flyコアを使用します。ルーターへの導入では、デスクトップクライアントではなく、対応するLinux用プログラム、設定ファイル、サービスの起動方法を確認してください。

3. 透過プロキシ:待ち受けポートだけでなくポリシールーティングも必要

明示的プロキシでは、アプリがHTTPまたはSOCKSの待ち受けポートに接続します。透過プロキシでは、ゲートウェイが転送経路上の接続を捕捉し、コアへ渡します。ポートを待ち受けるだけでは、LANのトラフィックを自動で取り込むことも、戻りの通信経路を確立することもできません。Linuxのファイアウォールルール、ポリシールーティング、コアのインバウンド設定を対応させる必要があります。

12345
透過プロキシのインバウンドポート例
53
通常のDNSで使うUDP/TCPポート
100
専用ポリシールーティングテーブルの番号例

上記のポートとルーティングテーブル番号は設計例であり、管理画面の初期設定値ではありません。ルーティングテーブル番号100を使う前に、他のサービスが使用していないことも確認してください。透過インバウンドでは、使用するコアが必要とする透過ソケットのオプションを有効にし、ファイアウォールからトラフィックを渡す方法と一致させる必要があります。

方式主な仕組み導入時の注意点
REDIRECT接続をローカルの待ち受けポートへリダイレクト主にTCPで使用。TCP向けの設定をそのままUDPに適用できない
TPROXY透過ソケットでトラフィックを受信し、マークとポリシールーティングを組み合わせてローカルへ転送TCP/UDPに対応可能。ファームウェアのカーネルモジュールと対応するファイアウォールが必要
明示的SOCKSアプリからプロキシの待ち受けアドレスへ接続まずコアの動作確認をするのに適している。アプリがプロキシに対応し、正しく設定されている必要がある

firewall4を使うOpenWrt環境では通常、nftablesでルールを管理します。古い資料にあるiptablesコマンドがそのまま使えるとは限りません。TPROXYでは一般に、トラフィックにマークを付け、ip ruleで専用のルーティングテーブルを選択し、ローカルルートから透過ソケットへ転送します。マーク値とマスクは、マルチWANや既存のポリシールーティングサービスと重複しないようにしてください。

4. ゲートウェイとDNS:まず1台の端末で変更してから範囲を広げる

バイパスルーターに共通の設定画面はありません。以下では一般的なOpenWrtのLuCIメニューを例にしますが、項目名はバージョンによって異なる場合があります。操作前に設定をエクスポートし、メインルーターの管理アドレスを控えてください。代替の管理経路を確保できていない状態で、管理IP、DHCP、ファイアウォールを同時に変更しないでください。

  1. 管理用の固定アドレスを設定

    バイパスルーターで「ネットワーク」→「インターフェース」→「LAN」→「編集」→「基本設定」を開き、静的アドレスを192.168.10.2、ネットマスクを255.255.255.0に設定します。上位のIPv4ゲートウェイには192.168.10.1を入力してください。

  2. DHCPサーバーは1台に限定

    アドレスの配布はメインルーターに任せます。バイパスルーターで「ネットワーク」→「インターフェース」→「LAN」→「編集」→「DHCPサーバー」→「一般設定」を開き、「このインターフェースを無視する」にチェックを入れてください。2台の機器が競合する設定を同時に配布するのを防げます。

  3. 1台の端末だけゲートウェイを変更

    テスト端末のIPv4設定では、現在のアドレスとネットマスクを維持し、ゲートウェイだけを192.168.10.2に変更します。バイパスルーターでIPv4転送が有効になっていることと、対応するファイアウォールで必要な転送方向が許可されていることを確認してください。

  4. DNSの経路を確認

    バイパスルーターでDNSサービスが利用できることを確認してから、テスト端末のDNSを192.168.10.2に設定します。UDP/TCPの53番ポート、上流DNSへの経路、プロキシの起動前にノードサーバーのドメイン名を解決できるかをそれぞれ確認してください。

  5. 対象を広げて検証

    1台で安定動作したら、メインルーターもLuCIを使っている場合は、「ネットワーク」→「インターフェース」→「LAN」→「編集」→「DHCPサーバー」→「詳細設定」のDHCPオプションに3,192.168.10.2を設定できます。DNSも同時に配布する場合は6,192.168.10.2を設定し、その後、端末でリースを更新してください。

同一サブネットでLANポートが1つのバイパスルーターでは、経路が非対称になることがあります。端末からの直接接続トラフィックはバイパスルーターを経由しても、メインルーターからの戻り通信は端末へ直接届く場合があります。これにより、コネクショントラッキング、統計情報、ファイアウォールの判定に影響する可能性があります。転送トラフィックにソースNATを適用するかどうかは、ネットワーク構成に合わせて検証してください。ソースNATを使うと戻り経路を制御しやすくなりますが、元の端末アドレスは隠れるため、すべてのネットワークに適した方法とは限りません。

5. ハードウェア:LANポートの速度ではなく、想定する負荷で測定

ギガビットLANポートが示すのはリンク速度であり、暗号化プロキシも同じ速度で動作するとは限りません。CPUのシングルスレッド性能、プロトコルとトランスポートの組み合わせ、メモリ負荷、冷却性能、ノードの回線状況がスループットを左右します。小型ルーターではWi-Fi、コネクショントラッキング、ファイアウォール用のリソースも確保してください。バイパスルーターでは、NICドライバーと仮想化によるオーバーヘッドも確認が必要です。

評価項目確認内容判断方法
CPUと冷却topでコアごとの使用率を確認し、10分間負荷をかけるスループットが頭打ちになり、1コアが高負荷なら、まず処理能力不足やサーマルスロットリングを調べる
メモリの空き容量freeとカーネルログを確認し、ルール更新時にも記録する利用可能なメモリ、プロセスの終了、メモリ不足による強制終了の記録を確認
ストレージ容量dfで書き込み可能なパーティションと一時ディレクトリを確認するプログラムの更新、ルールファイル、ログのローテーションに必要な空き容量を確保
同時接続数端末1台、3台の順に同じ作業を繰り返す遅延とエラー率を比較し、ダウンロード速度のピークだけを記録しない

同じ有線端末、同じノード、同じダウンロード先を使い、直接接続、端末クライアント経由、バイパスルーター経由の3パターンを順番に測定します。各パターンを3回繰り返し、スループット、遅延、CPU、メモリを記録してください。ノード自体の速度が大きく変動する場合、その差をすべてバイパスルーターの性能に起因すると判断することはできません。これは測定方法の説明であり、特定機種の性能を保証するものではありません。

まとめ:ボトルネックを特定してから機器のアップグレードを検討

バイパスルーターの1コアが継続して高負荷になり、端末クライアントの方が安定して高速な場合は、処理能力の高い機器への更新を優先する根拠になります。両方の接続が遅い場合は、時間帯やノードを変えて比較してください。LANポートの公称速度が低いという理由だけで、機器全体を買い替える必要はありません。

6. トラブル対処の順序:アドレス、転送、インバウンド、アウトバウンドを順に確認

「バイパスルーターの管理画面が開ける」ことから分かるのは、LAN内のアドレスに到達できることだけです。インターネットへの転送やプロキシのアウトバウンドが正常とは限りません。まずバイパスルーターのデフォルトルートを確認し、次に透過プロキシのインバウンドにトラフィックが届いているかを調べます。最後に接続ログを見て、ルーティングルールがどのアウトバウンドを選択したか確認してください。デバッグログには接続先のドメイン名やアドレスが含まれる場合があります。調査後は通常のログレベルに戻し、ログローテーションを設定してください。

# 以下は読み取り専用の確認コマンドです。一部の軽量ファームウェアでは、先に必要なツールをインストールしてください。
ip -4 addr show
ip -4 route show
ip -4 rule show
ip -4 route show table 100
sysctl net.ipv4.ip_forward
ss -lntup
nft list ruleset
free
df -h

ip -4 route show table 100が使えるのは、この記事の例と同じテーブル番号を採用している場合に限られます。管理サービスが別のルーティングテーブルを使っている場合は、実際の番号を確認してください。ssでポートとプロセスを確認できますが、待ち受け状態だけでは透過プロキシのルールが正しいか判断できません。nftの出力を確認するときは、既存のルールセットとマッチした件数に注目してください。「干渉を除外する」ためにファイアウォール全体を消去しないでください。

ゲートウェイをバイパスルーターに変更したら、どのWebサイトも開けなくなった場合は?

まずテスト端末のゲートウェイを192.168.10.1に戻します。次にバイパスルーターで、デフォルトルートがメインルーターを指しているか、net.ipv4.ip_forwardが1か、転送用ファイアウォールで通信が許可されているかを確認してください。まず通常の転送を復旧してから、トラフィックの取り込みルールを再設定します。

Webサイトは開けるのに、ゲームや音声通話がつながらない場合は?

アプリがUDPを必要としているか確認し、透過インバウンド、TPROXYルール、ポリシールーティング、ノードのアウトバウンドがすべて該当するトラフィックに対応しているかを調べてください。TCPのリダイレクトしか設定されていない場合、DNSを変更してもUDPを取り込めるようにはなりません。

振り分けを設定したのに、一部のドメインが想定外の経路を通るのはなぜ?

まずDNSが想定したリゾルバーで処理されているか確認し、次にルールの優先順位とログに記録された接続先情報を確認します。アプリ内蔵の暗号化DNSは、ローカルの53番ポートを通らない場合があります。スニッフィングですべてのドメインを判別できるとも限らないため、テストするアプリごとに検証してください。

再起動後に動かなくなった場合、ノードの問題?

コアのサービスが起動しているか、透過ルールが読み込まれているか、ポリシールーティングが存在するか、システム時刻が同期されているかを順に確認します。使用するファームウェアのサービス管理にこれらの処理を登録し、対話型ターミナルで一度だけコマンドを実行する運用は避けてください。

7. 本番運用と切り戻し:ゲートウェイ設定も保守対象に含める

バイパスルーターの安定運用には、設定ファイルだけでなく、起動順序と失敗時の処理も重要です。時刻未同期、DNSの準備未完了、ルールのダウンロード失敗などにより、起動時にサービスが正常動作しないことがあります。自動更新では、新しい設定を検証してから現在のファイルと置き換えてください。プロセスが存在することだけを、ネットワーク経路が正常である根拠にしないでください。

プロキシを使う端末が1~2台だけなら、端末のクライアントを使う方が管理しやすいのが一般的です。LAN全体のトラフィックをまとめて処理する必要がある場合は、1台での試験、DNSの検証、UDPとIPv6の確認、ネットワーク全体への展開の順に進めてください。各パラメーターの意味は用語集を、対象範囲とルーティングによる振り分けの違いは利用ガイドを参照してください。

クライアントをダウンロード