VPNスプリットトンネリングの定義

VPNスプリットトンネリングとは、端末から出ていく通信のすべてをVPN経由にするのではなく、対象(宛先やアプリなど)を条件にして「VPNで扱う通信」と「通常の回線で扱う通信」を分ける仕組み(設定方針)です。たとえば、仕事用のサーバ通信だけをVPN経由にし、動画視聴などは通常経路にする、といった考え方が該当します。

ポイントは「分岐するのはVPNの外側から見た通信経路」であり、端末側でどの通信をVPN側へ渡すかを決める点にあります。ここでVPN側へ渡される通信は、一般に暗号化されてVPNサーバまで運ばれます。一方、通常経路に残った通信は、VPNを経由しないため、通信の見え方や適用されるポリシーが異なります。※具体的な挙動は実装や設定に依存します。

仕組み:何を基準に「VPNに送るか」を分けるのか

スプリットトンネリングは、端末またはクライアントの設定で「VPN対象」を定義し、その対象に一致した通信だけをVPNトンネルへ流します。一般的には次のような考え方で分けられます。

  • 宛先ベース:特定のIPアドレスやドメイン(例:社内サーバ)をVPN経由にする。
  • アプリ(またはプロセス)ベース:特定のアプリの通信だけをVPN経由にする。
  • ネットワーク・経路ベース:特定のネットワーク条件や経路に対してVPN経由/非経由を切り替える。

動作イメージとしては、端末が通信を開始するときに「この通信はVPN対象か?」を判定し、対象ならVPNの仮想インターフェース側へ渡し、非対象なら物理ネットワーク(通常の経路)へ流します。結果として、同じ端末でも通信ごとに経路が変わります。

また、DNS周りの扱いも実際の体感や挙動に影響します。DNSの解決をVPN側で行う(あるいは通常経路で行う)かで、どの情報がVPN経由になるかが変わり得ます。スプリットトンネリングでは、この「DNSと実際の通信がどちらに紐づくか」を意識しないと、想定外の経路に気づきにくくなります。

限界と注意点:狙いどおりに分岐できないケース

スプリットトンネリングは便利ですが、万能ではありません。よくある注意点は次のとおりです。

  1. 意図しない通信が通常経路に残る 「社内だけVPNに」と思っていても、アプリが別ドメインへアクセスしたり、CDN経由の通信やリダイレクトが発生したりすると、VPN対象の条件から外れる可能性があります。その結果、思った範囲より広い/狭い通信がVPNへ流れたり、逆にVPNを通らなかったりします。

  2. VPN経由に含める基準が不十分だと判定がずれる 宛先指定は、IPやドメインの管理の仕方、解決のタイミング、通信形態(HTTP/HTTPS以外を含む等)によってうまく一致しないことがあります。特にドメイン指定は、解決されるIPが時間や地域で変わる場合があり得ます。