OpenWrtでVPNの分割トンネルを設定すると、家庭内のすべての通信を同じVPNへ送るのではなく、端末、ドメイン、IPアドレス、通信先の地域などを条件にして、VPN経由と通常のインターネット接続を使い分けられます。動画や特定の業務サービスだけをVPNへ送る一方で、国内の銀行サイト、プリンター、NAS、スマートホーム機器は通常の回線に残す、といった構成が可能です。
ただし、OpenWrtの分割トンネルは、VPNクライアントのボタンを押すだけで完了する機能ではありません。VPNインターフェース、ルーティングテーブル、DNSの問い合わせ先、ファイアウォールゾーン、端末のIPアドレスがそれぞれ正しく連携して初めて、意図した通信ルールになります。本記事では、設定前に決めるべき方針、代表的な構成、実際の確認手順、失敗したときの戻し方を順番に整理します。
分割トンネルの基本とルール設計
一般的なVPN接続では、ルーターに到着した通信を仮想インターフェースへ送り、暗号化されたトンネルを通して外部へ転送します。分割トンネルでは、すべての宛先に同じ経路を適用せず、条件に応じてWAN、VPN、LANのいずれかを選びます。OpenWrtでは、ポリシーベースルーティング、静的ルート、ファイアウォールマーク、DNSルールなどを組み合わせて実現します。
最初からドメイン名を大量に登録するより、対象を少数に絞って検証するほうが安全です。たとえば、リモート作業用の端末だけをVPNへ送る、テレビだけ通常接続にする、特定のサービスのドメインだけVPNへ送る、という順番で範囲を広げます。端末単位のルールは管理しやすい反面、その端末のすべての通信がVPNへ送られる可能性があります。ドメイン単位のルールは細かく制御できますが、CDN、広告、API、IPv6の宛先まで考慮しなければなりません。
3
主な経路 WAN・VPN・LAN
2
基本の出口 通常接続・VPN
DNS
経路とは別に確認
IPv4/6
両方の扱いを確認
VPNの方式にも違いがあります。WireGuardは設定が比較的明確で、公開鍵、秘密鍵、ピア、許可するアドレスを使って経路を定義します。OpenVPNは証明書や暗号設定を含む構成が多く、導入実績は豊富ですが、設定項目が増えやすい方式です。Shadowsocks、VMess、Trojan、Hysteria2などは、通常のWireGuardやOpenVPNとは異なるプロキシ型または専用クライアント型の構成になるため、OpenWrt側で使用するパッケージやルール方式を確認する必要があります。サブスクリプションをClash Verge、sing-box、Shadowrocketなどへ取り込めても、その設定がそのままOpenWrtのVPNインターフェースになるとは限りません。
端末単位・宛先単位・混在構成を選ぶ
端末単位の分割は、設定の考え方が最も簡単です。ルーターのDHCP設定で端末に固定的なIPアドレスを割り当て、その送信元IPを条件にしてVPNまたはWANへ送ります。ゲーム機、テレビ、作業用PCなど、利用目的が明確に分かれている家庭では扱いやすい方法です。ただし、端末のIPアドレスが変わるとルールが一致しなくなるため、MACアドレスを利用した固定割り当てや、端末名の管理を先に行います。
宛先単位の分割では、通信先のドメイン、IPアドレス、ポート、国別IPリストなどを条件にします。業務サイトは通常接続、特定の海外サービスはVPN、家庭内サーバーはLANという構成にできます。一方、1つのサービスが複数のドメインやCDNを使う場合、トップページだけ登録してもログイン、画像、動画、APIが別経路になることがあります。IPアドレスは変化することもあるため、固定リストを長期間そのまま使えるとは考えないでください。
| 方式 | 向いている場面 | 利点 | 注意点 |
|---|---|---|---|
| 端末単位 | テレビや作業用PCなど、用途が分かれた家庭 | 条件が分かりやすく、確認しやすい | 同じ端末内の通信を細かく分けにくい |
| 宛先単位 | 特定サイトやサービスだけをVPNへ送る場合 | 端末をまたいだ統一ルールを作れる | CDN、API、IPv6、DNSの確認が必要 |
| 混在構成 | 端末ごとの既定経路と例外サイトを併用する場合 | 家庭内の用途に合わせて細かく調整できる | ルールの優先順位と重複を管理する必要がある |
ルールの優先順位は必ず文書化してください。たとえば「LAN内宛てを最優先」「管理用端末は通常接続」「対象端末の特定ドメインだけVPN」「それ以外はWAN」という順序です。例外ルールを追加するほど、後から見たときに意図が分かりにくくなります。ルーターの設定画面にメモ欄があれば利用し、設定ファイルを変更する場合は、変更前の内容を保存しておきましょう。
OpenWrtで設定を始める手順
ここでは、VPNインターフェースがすでに作成されていることを前提に、分割ルールを組み立てる流れを説明します。VPNサービスによっては、公式クライアントからサブスクリプションを取得し、WireGuardやOpenVPNの設定へ変換する作業が必要です。公式クライアントで利用できるからといって、OpenWrtに対応する設定ファイルが自動的に用意されるとは限りません。利用規約と対応方式を確認してから作業してください。
- OpenWrtの管理画面から、現在のネットワーク設定とDHCP設定をバックアップします。変更前のLANアドレス、DNS、WAN設定も記録します。
- VPNクライアントの設定を追加し、インターフェースが起動していることを確認します。WireGuardならピアとAllowed IP、OpenVPNなら認証、証明書、トンネル方式を確認します。
- VPNインターフェースを専用のファイアウォールゾーンへ割り当て、必要な転送を設定します。LANからVPNへの転送と、VPNから外部への出口が意図した状態かを確認してください。
- テスト用端末へ固定IPアドレスを割り当て、まず端末単位でVPN経路を指定します。この段階では複数端末や複数の例外を同時に追加しません。
- IPアドレス確認、DNS問い合わせ、LAN内アクセスの3点をテストします。VPNを通るべき通信と、通常接続に残す通信をそれぞれ確認します。
- 動作を確認した後、必要に応じて宛先ルールを追加します。追加するたびに、どのルールが一致したかと実際の経路を確認します。
LuCIの画面名や利用できるパッケージは、OpenWrtのバージョンとインストールした構成によって異なります。ポリシーベースルーティング用のパッケージを使う場合も、パッケージが自動作成するルーティングテーブルやファイアウォール設定を理解せずに、別の手動ルートを重ねないでください。二重の設定があると、画面上ではルールが有効でも、実際には別のテーブルが優先されることがあります。
- ✅ VPNインターフェースのハンドシェイクまたは接続状態を先に確認する。
- ✅ テスト端末のIPアドレスを固定し、ルールの対象を安定させる。
- ✅ VPN経由、通常接続、LAN内接続を別々に検証する。
- ✅ ルールを1つずつ追加し、変更前の設定を保存する。
- ❌ 接続状態だけを見て、実際の出口アドレスやDNS経路を確認しない。
- ❌ WireGuard、OpenVPN、プロキシ型クライアントの設定を同じ手順で扱う。
DNSとIPv6を分割トンネルと同時に確認する
通信経路をVPNへ切り替えても、DNSが通常回線のままだと、名前解決だけが別の経路を使う構成になることがあります。これは必ずしも障害ではありませんが、サイトごとのルールを期待している場合や、DNSベースの振り分けを使う場合には、結果が不安定になる原因です。特に、ブラウザーがDoHを使用していると、ルーターのDNS転送設定を変更しても、端末側の暗号化DNSが優先されることがあります。
DNSの方針は、「全端末でVPN側のDNSを使う」「VPN対象端末だけVPN側へ送る」「国内サービスは通常DNS、対象サービスは別DNSにする」などから選びます。複雑な構成にするほど、キャッシュ、TTL、名前解決の失敗、広告や認証用ドメインの欠落が起こりやすくなります。まずはルーター自身とテスト端末がどのDNSサーバーへ問い合わせているかを確認し、意図した経路と一致しているかを調べてください。
IPv6も忘れてはいけません。IPv4だけをVPNへ送っていて、端末がIPv6を通常回線で利用できる場合、ブラウザーやアプリはIPv6を優先してVPNルールを回避する可能性があります。IPv6をVPNへ送る設定がない場合は、IPv6を維持するのか、テスト期間だけ無効にするのかを明確にします。単にIPv4のルートだけを見て「分割トンネルが完成した」と判断するのは危険です。
ルールが効かないときの切り分けと初期化
接続できない場合は、最初にVPNサービスの品質を疑うのではなく、どの層で止まっているかを分けます。VPNインターフェースが起動していないなら、認証、鍵、証明書、時刻、設定ファイルを確認します。インターフェースは起動しているのに対象端末だけ通信できないなら、ファイアウォールゾーン、転送、NAT、ポリシーの優先順位を確認します。IPアドレスでは通信できるのにドメイン名だけ失敗する場合は、DNSの転送、キャッシュ、DoH、IPv6を調べます。
| 症状 | 先に確認する項目 | 考えられる原因 |
|---|---|---|
| VPN自体が起動しない | ログ、認証、鍵、証明書、時刻 | 設定ファイルの不一致や認証失敗 |
| 対象端末だけ外部通信できない | 固定IP、転送、NAT、ファイアウォールゾーン | ルール対象の誤り、出口設定の不足 |
| 一部サイトだけ開かない | DNS、CDN、サブドメイン、IPv6 | 宛先リスト不足やDNS経路の不一致 |
| LAN内機器に接続できない | LAN宛ての優先ルール、ローカルDNS | LAN通信までVPNへ送っている |
設定を戻すときは、関連する項目を一度に削除するのではなく、追加したルール、ポリシー、DNS設定、ファイアウォール転送を変更順に戻します。ルーターへ接続できなくなる可能性がある場合は、有線接続、バックアップ設定、物理リセットの手順を事前に確認してください。初期化は最後の手段です。初期化すると、インターネット接続情報、Wi-Fi設定、DHCP予約、VPN鍵なども失われる可能性があります。
- ✅ 変更前の設定バックアップと、設定後のバックアップを別名で保存する。
- ✅ ログを確認するときは、問題が発生した時刻と対象端末を記録する。
- ✅ ルールを一時的に減らして、基本のWANまたはVPN経路へ戻す。
- ❌ DNS設定、ファイアウォール、ルーティングを同時に大きく変更する。
- ❌ 管理画面に入れない状態で、遠隔から無計画に再起動や初期化を行う。
安定運用のための確認方法
分割トンネルは、一度設定して終わりではありません。VPNサービス側のサブスクリプション更新、ノードや証明書の変更、OpenWrtのアップデート、端末のIPv6設定、アプリのDoH設定によって、以前のルールが変わることがあります。定期的に、通常接続へ送る端末、VPNへ送る端末、LAN内へ接続する端末を確認し、使っていない例外ルールを削除しましょう。
運用時は、少なくとも三つのテスト先を用意すると便利です。ひとつは通常接続で利用するサイト、ひとつはVPN対象のサイト、もうひとつは家庭内のNASやプリンターです。それぞれについて、ページが開くかだけでなく、出口IP、DNS、IPv4・IPv6、名前解決の結果を確認します。端末を再起動した後、Wi-Fiを切り替えた後、VPNを手動停止した後にも同じ結果になるかを見ておくと、再接続時の不具合を発見しやすくなります。
セキュリティ面では、管理画面をWAN側へ不用意に公開しないこと、SSHを使う場合は強い認証を設定すること、秘密鍵やサブスクリプションURLを記事やログに貼り付けないことが重要です。サブスクリプションURLには認証情報が含まれる場合があるため、共有前に無効化や更新の方法を確認してください。VPNはルーター全体の安全性を自動的に保証するものではなく、管理画面、Wi-Fi、DNS、ファイアウォールを含めた構成全体で安全性を考える必要があります。