Solaris のシステム管理 (IP サービス)

トランスポートモードとトンネルモード

IP ヘッダーの後に、ESP または AH を呼び出してデータグラムを保護するときに、トランスポートモードを使用します。たとえば、パケットが次のヘッダーで始まる場合です。

この図では、IP ヘッダーの後ろに TCP ヘッダーがあります。TCP ヘッダーは保護されません。

トランスポートモードでは、ESP は次のようにデータを保護します。

この図では、IP ヘッダーと TCP ヘッダーの間に ESP ヘッダーがあります。TCP ヘッダーは ESP ヘッダーによって暗号化されます。

トランスポートモードでは、AH は次のようにデータを保護します。

この図では、IP ヘッダーと TCP ヘッダーの間に AH ヘッダーがあります。

AH はデータがデータグラムに出現する前に、実際データを保護します。その結果、 AH による保護は、トランスポートモードでも、IP ヘッダーの一部をカバーします。

データグラム全体が IPsec ヘッダーの保護にあるとき、IPsec では、トンネルモードでデータグラムを保護しています。AH はその前にある IP ヘッダーの大部分を保護するため、トンネルモードは通常、ESP だけで実行します。先の例のデータグラムは、トンネルモードでは次のように保護されます。

この図では、ESP が IP ヘッダーと 2 つの TCP ヘッダーの間にあります。2 つの TCP ヘッダーは暗号化によって保護されています。

トンネルモードでは、外部 (保護されていない) IP ヘッダーのソースアドレスと宛先アドレスが、内部 (保護されている) IP ヘッダーのものと異なることがよくあります。 それでも、IPsec を認識するネットワークプログラムで ESP の自己カプセル化を使用すれば、内部と外部の IP ヘッダーを一致させることができます。ESP の自己カプセル化により、IP ヘッダーオプションが保護されます。

IPsec の Solaris 実装は基本的にトランスポートモード IPsec 実装であり、トンネルモードはトランスポートモードの特殊ケースとして実装されます。そのため、IP 内 IP トンネルを特殊なトランスポートプロバイダとして処理します。ifconfig(1M) 設定オプションを使用してトンネルを設定する場合、オプションは、ソケットのプログラミングでソケットごとの IPsec を使用可能にするときに使用するオプションとほぼ同じです。また、トンネルモードは、ソケットごとの IPsec で使用可能にできます。ソケットごとのトンネルモードでは、内部パケットの IP ヘッダーのアドレスが外部パケットの IP ヘッダーのアドレスと同じになります。ソケットごとのポリシーの詳細については、ipsec(7P) のマニュアルページを参照してください。

信頼性の高いトンネル

設定したトンネルは、ポイントツーポイントインタフェースです。これで、IP パケットを IP パケット内にカプセル化できます。トンネルの設定には、トンネルソースとトンネル宛先が必要です。詳細については、tun(7M) のマニュアルページと、IPv6 の Solaris トンネルインタフェースを参照してください。

トンネルでは、IP との見かけ上の物理的インタフェースが作成されます。この物理的リンクの完全性は、基本になるセキュリティプロトコルによって異なります。セキュリティアソシエーションを確実に行えば、信頼性の高いトンネルになります。すなわち、トンネルのデータパケットのソースはトンネル宛先で指定したピアになります。この信頼関係があるかぎり、インタフェース別 IP 送信を利用して仮想プライベートネットワークを作成できます。