スプリットトンネリングとは何か
スプリットトンネリングは、端末からの通信を「VPNの暗号トンネル経由」と「トンネル外の通常経路(直結)」に振り分ける方式です。たとえば社内向けの特定通信だけをVPN経由にし、その他はインターネットへ直接出す、といった運用が想定されます。
この分離により、VPNの利用範囲を絞って帯域や体感速度に影響を与えにくくする一方で、通信がどちらの経路で処理されているかが読みづらくなり、トラブル時の原因特定も複雑になります。
仕組みを単純化して理解する
挙動を理解するには、次の流れに分けて考えると整理しやすくなります。
- 端末が送信しようとする先(宛先IP/ドメイン)を確認する
- その宛先が「VPN経由にする対象(許可ルール)」に該当するかを判定する
- 該当すればトンネルへ、該当しなければ通常経路へ送る
ここで重要なのは、判定は通常「宛先(ドメイン名やIP、場合によってはポートやプロファイル)」に基づく点です。そのため、宛先の見え方が変わる要素(DNSの応答、アプリの接続先の切り替え、IP解決の差など)があると、意図した経路にならないことがあります。
よくある問題:なぜ起きるのか
スプリットトンネリングで頻出する問題は、「通信が意図した経路に乗っていない」ことに起因します。典型例を挙げると次のようになります。
-
接続できない/タイムアウトする VPN経由で到達できるはずの宛先が、判定の都合で通常経路に回ってしまい、到達不能になることがあります。逆に、通常経路で到達できるはずの宛先がVPN経由に回ると、別の制約(経路差、フィルタ、認証方式の違い)で失敗することもあります。
-
ログインや認証が不安定 認証は複数の通信(認証画面、API呼び出し、トークン取得など)で構成されることが多く、途中の通信が別経路になると整合性が崩れる場合があります。特にドメイン名ベースの判定が絡むと、DNS経路の差が結果に影響しやすくなります。
-
アプリだけ挙動が違う ブラウザ、業務アプリ、ゲーム、アップデータなどで通信先が異なったり、プロセスごとに経路選択が違ったりすると、同じルールでも結果が揃いません。さらに、アプリがバックグラウンドで別ホストに接続する場合、見えている画面だけでは原因が判断しにくくなります。
制限と注意点(解決策を左右する前提)
スプリットトンネリングには「設定の射程」と「判定の限界」があります。
- 判定ルールは万能ではなく、宛先の表現(ドメイン、サブドメイン、CDNのIP変化など)によって漏れが起きます。
- 通信をVPN経由にしない対象は、VPN側の制御や方針の対象外になります。どこまでを保護対象とみなすかは、運用方針によって変わります。
- ルールが複雑になるほど、意図しない組み合わせ(許可と拒否の競合、例外の見落とし)が起きやすくなります。
