二つのVPNアプリがどちらも「接続済み」と表示すると、通信は両方を通り、片方がもう片方の中にあると想定されがちです。通常、そうはなりません。iOSには固有の共存モデルがあり、それはチェーンではありません。一方の構成クラスは有効にできるインスタンスが一つに限られ、もう一方はその横で動作でき、競合はルートの優先順位が決めます。スイッチが二つ点いていても二ホップではありません。モデルは文書化されているため、アイコンから推測するのではなく経路を予測できます。

神話:接続済みのVPN 二つはチェーンである

二ホップのチェーンには、定義された外側のトランスポート、定義された内側のトンネル、互換性のあるエンドポイントルーティング、そしてどちらかが失敗したときの計画が必要です。独立した二つの構成は、同時に存在するだけではそれを生みません。ルートの優先順位はカプセル化とは異なり、一方の構成がルート検索に勝つことは、もう一方が結果のパケットを運ぶかどうかを何も語りません。

ネストが必要なら、ネストとして設計してください。二つの接続インジケーターから推測しないでください。この区別が多くのデバッグを省きます。

その神話の裏にある文書化されたモデル

AppleのNETunnelProviderManagerは通常のエンタープライズVPN構成を説明し、その種類は同時に一つだけ有効にできると述べています。同じリファレンスは、Personal VPNをその横で有効かつ接続したままにすることを許可し、両者が重なる場所ではエンタープライズのルートを優先します。

ここでいうPersonal VPNは、NEVPNManagerを通じて管理される組み込みのIPsecまたはIKEv2実装を指すAPI用語です。NETunnelProviderManagerはトンネルプロバイダーのモデルです。コンシューマーアプリはプロバイダーモデルを使えるため、personalを含む製品名がその分類になるわけではありません。

Appleは許可される組み合わせを一つ文書化していますが、許可は二社のプロファイルが互換であることを示しません。どのペアがサポートされるかを各ベンダーに確認してください。設定の種類、ルート、ポリシーが依然として結果を決めます。

神話:個人用VPNがブラウジング通信を受け取る

すべての宛先を要求する仕事用プロファイルは、公開ブラウジングのルート検索でも勝つため、個人用の出口はそれを一切運びません。文書化された優先順位では、競合する場所でエンタープライズのルートが勝つため、公開ブラウジングはそのアプリも接続済みと報告するという理由だけで自動的に個人用の出口を使うわけではありません。より狭い仕事用の構成ではルーティングの状況が変わり得ますが、組織のクライアントは依然としてDNS、ブロック、デバイスの要件を課せます。これらの要件をローカルで編集するのではなく、サポートされる取り決めをその所有者から得てください。

管理されたアプリ単位の構成には独自の範囲があります。デバイスレベルの規則をすべての管理対象展開に一般化しないでください。

テストの前に二つのフローを書き留めます。仕事用サービスのプライベート名と範囲、そして新しい公開ブラウジング要求です。どちらも正当であり、異なる確認が必要です。

分割トンネルの仕事用プロファイルとルートの優先順位

分割トンネルの仕事用プロファイルは、列挙されたプライベートプレフィックスと内部DNSサフィックスを要求し、それらのルートは一致するあらゆる検索に勝ちます。エンタープライズのルートに一致しない公開宛先は、個人用VPNが先に要求しない限り、物理リンクに落ちます。優先規則が決めるのは重複する一致だけであり、だからこそ二つのプロファイルはアイコンではなくルート表として読む必要があります。

組を二行で書き、それぞれの予想される勝者を名指しします。10.xまたは172.16.xに解決する仕事用ホスト名はエンタープライズトンネルから出るべきで、一致するプレフィックスのない公開アドレスは残ったデフォルトルートを取るべきです。両方の行が同じ出口を示すなら、分割は文書が説明するとおりに機能していません。

二つのフローを書き留めてそれぞれを検証する

各フローについて、どの承認済み構成がそれを運ぶべきか、どのリゾルバーが各種類の名前を受け取るべきかを記録します。その後はキャッシュされた仕事用ページや古いIP結果ではなく、新しい要求で検証してください。

一つの構成を停止し、両方のフローを繰り返します。失敗時の動作は設計の一部であり、利用者が気づく部分でもあります。二社のプロバイダーがその組み合わせを支えられない場合は、承認済みの構成を一つに絞り、どのフローを運ぶかを文書化するか、管理された単一トンネル設計へ移行してください。NETunnelProviderManagerのドキュメントが共存規則の出典です。

関連記事