IPsec 規格では、IPsec の動作モードとしてトランスポートモードとトンネルモードという 2 つの異なるモードが定義されています。トランスポートモードとトンネルモードの主な違いは、ポリシーが適用される場所です。トンネルモードでは、元のパケットは外側の IP ヘッダー内にカプセル化されます。内側と外側のヘッダー内の IP アドレスは異なる場合があります。
IPsec ポリシーで紹介されたトラフィックセレクタは、パケットがポリシールールに一致するかどうかを判別します。セレクタには次が含まれます。
発信元 IP アドレス
着信先 IP アドレス
プロトコル番号 (該当する場合)
ポート番号 (該当する場合)
IPsec ポリシールールを照合するパターンは、これらのセレクタのサブセットで構成されます。
トランスポートモードでは、トラフィックセレクタは外側の IP ヘッダーに対して照合されます。トンネルモードでは、内側の IP ヘッダーに対して照合されます。トンネルモードは、エンドシステムとセキュリティーゲートウェイのような中間システムとのあらゆる組み合わせに適用できます。
トランスポートモードでは、IP ヘッダー、次のヘッダー、および次のヘッダーでサポートされるすべてのポートを使用して、IPsec ポリシーを適用できるかどうかを決定できます。実際、IPsec は 2 つの IP アドレスの間で異なるトランスポートモードポリシーを適用でき、ポート単位まで細かく設定できます。たとえば、次のヘッダーが TCP であれば、ポートをサポートするので、外側の IP アドレスの TCP ポートに対して IPsec ポリシーを設定できます。
トンネルモードは、IP 内 IP パケットに対してのみ機能します。トンネルモードでは、IPsec ポリシーは内側の IP パケットの内容に適用されます。内側の IP アドレスごとに異なるポリシーを適用できます。つまり、内側の IP ヘッダー、その次のヘッダー、および次のヘッダーでサポートされるポートを使用して、ポリシーを適用できます。
トンネルモードでは、ルーターの背後にある LAN のサブネットや、そのようなサブネットのポートに対して、IPsec ポリシーを指定できます。これらのサブネット上の特定の IP アドレス (つまり、ホスト) に対しても、IPsec ポリシーを指定することができます。これらのホストのポートに対しても、固有の IPsec ポリシーを適用できます。静的ルートの構成を含むトンネリング手順の例については、IPsec による VPN の保護を参照してください。
IPsec ポリシーが IP トンネルのトラフィックに適用されるとき、そのトンネルのトラフィックを IPsec ポリシールールにリンクするために IP トンネルインタフェースの名前が使用されます。IPsec ポリシーには、IP トンネルネットワークインタフェースを選択するための tunnel キーワードが用意されています。規則内に tunnel キーワードが含まれている場合は、その規則に指定されているすべてのセレクタが内側のパケットに適用されます。
トンネルインタフェースについては、Oracle Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理 の 第 4 章, IP トンネルの管理についてを参照してください。
次の図は、保護されているパケットおよび保護されていないパケットを示しています。
図 8は、IP ヘッダーと保護されていない TCP パケットを示します。
図 8 TCP 情報を伝送する保護されていない IP パケット
図 9は、トランスポートモードでデータを保護する ESP を示しています。網かけされた領域は、パケットの暗号化された部分を示します。
図 9 TCP 情報を伝送する保護された IP パケット
図 10は、トンネルモードではパケット全体が ESP ヘッダーの内側にあることを示しています。図 8のパケットは、外側の IPsec ヘッダーと、この場合は ESP によって、トンネルモードで保護されます。
図 10 トンネルモードで保護された IPsec パケット
IPsec ポリシーには、トンネルモードおよびトランスポートモード用にキーワードが用意されています。詳細については、次をレビューしてください。
ソケットごとのポリシーの詳細については、ipsec(7P)のマニュアルページを参照してください。
ソケットごとのポリシーの例は、IPsec を使用してほかのサーバーとの Web サーバー通信を保護する方法を参照してください。
トンネルの詳細については、ipsecconf(1M) のマニュアルページを参照してください。
トンネル構成の例は、IPsec のトンネルモードで 2 つの LAN 間の接続を保護する方法を参照してください。