分割トンネルとは何か(安全性の前提)

分割トンネル(スプリットトンネリング)は、VPNの暗号化経路を「すべての通信」ではなく「特定の通信だけ」に適用し、それ以外は通常の回線経路で送る考え方です。つまり設計は常に二つに分かれます。1つはVPNトンネルに入れる対象、もう1つはトンネルに入れない対象です。

この方式の要点は、トンネルの範囲を狭めればパフォーマンス面の期待が持てる一方で、トンネル外に出る通信が増えるということです。安全性も「VPNが守る範囲」と「守らない範囲」の境界が明確で、境界にリーク(意図しない経路・意図しない名前解決・想定外の宛先)が起きていないかで決まります。

仕組みをシンプルに捉える:対象指定と経路の分岐

分割トンネルの設定では、多くの場合「ルール(どの宛先やアプリをトンネルへ送るか/送らないか)」を作ります。ルールの種類は環境により異なりますが、考え方は共通です。

  • 宛先ベース:特定のIPアドレス帯域、ドメイン、国・ネットワーク等をトンネル側に寄せる/残す。
  • アプリベース:特定のアプリの通信だけをトンネル側に寄せる/残す。

このとき重要なのは、「ルールが決めた“つもり”」と「実際にパケットや名前解決がどこを通ったか」は一致しないことがある点です。たとえば、アプリが別の通信経路を別プロセスで行う、DNS解決が別経路で行われる、端末が経路を切り替える、といった理由で、境界がずれることがあります。

制限と注意点:安全性が揺れるパターン

分割トンネルは万能ではありません。安全かつ効果的にするには、次のような「想定外が起きやすい条件」を前提として潰していく必要があります。

  1. DNSの扱いが境界になる アクセス先をドメインで指定している場合、名前解決(DNS)がVPN側で行われるか、あるいはトンネル外で行われるかが安全性に影響します。DNSがトンネル外に出ると、閲覧意図が部分的に露出する可能性があるため、少なくとも「意図した方(トンネル側 or 通常側)で統一されているか」を確認するのが重要です。

  2. 宛先指定の粒度のズレ ドメインは時期によりIPが変わります。IPで絞っている場合、結果として対象外にこぼれることがあります。逆に、広く許可しすぎると、トンネルに入れるつもりのない通信まで入ってしまうことがあります。

  3. アプリの通信が複数に分かれる 同じアプリでも、画面表示用とバックグラウンド同期用で別プロセスや別通信が発生することがあります。アプリベースのルールを使う場合は、「狙った通信だけが対象になっているか」をテストしないと、境界が曖昧になります。

  4. 例外的な通信(更新・計測・リダイレクト) 更新、広告・解析、リダイレクト、Webソケットなど、通信の性質によって到達先や経路が変わる場合があります。その結果、ルールに入るはずの通信が入らない、または外に出るはずが入ってしまうことがあります。