Go to main content
Oracle® Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

IP トンネルの機能について

IP トンネル (このドキュメントでは単にトンネルと呼ぶこともあります) は、各ドメイン内のプロトコルが中間のネットワークによってサポートされていないときに、これらのドメイン間でデータパケットを転送するための手段を提供します。たとえば、大部分のネットワークで IPv4 プロトコルが使用されている環境では、IPv6 ネットワークは自身の境界の外側で通信する方法を必要とします。この通信を可能にするのがトンネルです。IP トンネルは、IP を使用して到達可能な 2 つのノード間で仮想リンクを実現します。したがって、このリンクを使用すれば IPv4 ネットワーク経由で IPv6 パケットを転送でき、2 つの IPv6 サイト間での IPv6 通信を実現できます。

トンネルのタイプ

トンネリングでは、IP パケットを別のパケット内にカプセル化する必要があります。このカプセル化によって、パケットは、パケットのプロトコルをサポートしない中間のネットワークを介して宛先に到達できます。トンネルは、使用されるパケットカプセル化のタイプによって異なります。

    Oracle Solaris でサポートされるトンネルのタイプは、次のとおりです。

  • IPv4 トンネル IPv4 パケットが IPv4 ヘッダー内にカプセル化され、事前に構成されたユニキャスト IPv4 宛先に送信されます。トンネルを通過するパケットをより具体的に示すため、IPv4 トンネルは IPv4 over IPv4 トンネルまたは IPv6 over IPv4 トンネルとも呼ばれます。

  • 6to4 トンネルIPv6 パケットが IPv4 ヘッダー内にカプセル化され、パケット単位で自動的に決定される IPv4 宛先に送信されます。この決定は、6to4 プロトコル内に定義されたアルゴリズムに基づきます。

  • IPv6 トンネル – IPv6 パケットが IPv4 ヘッダー内にカプセル化され、パケット単位で自動的に決定される IPv4 宛先に送信されます。この決定は、6to4 プロトコル内に定義されたアルゴリズムに基づきます。

IPv6 と IPv4 を組み合わせたネットワーク環境でのトンネル

IPv6 ドメインを持つ多くのサイトは、IPv6 配備の初期フェーズにおいては、ほかの IPv6 ドメインと通信する際に IPv4 ネットワークを通過しなければならない場合があります。次の図に、IPv4 ルーターを介した 2 台の IPv6 ホスト間のトンネルメカニズム (図の「R」) を示します。

図 5  IPv6 トンネルメカニズム

image:IPv4 を使用するルーターを通るトンネルにおいて、IPv6 パケットが IPv4 パケット内にどのように格納されるかを示します。

上の図で、トンネルは 2 台のルーターから成り、IPv4 ネットワーク上の 2 台のルーター間の仮想のポイントツーポイントリンクが構成されています。

IPv6 パケットが IPv4 パケット内にカプセル化されます。IPv6 ネットワークの境界ルーターは、宛先 IPv6 ネットワークの境界ルーターに向かうさまざまな IPv4 ネットワークにポインツーポイントトンネルを設定します。パケットはトンネル経由で宛先の境界ルーターに転送され、そこでそのカプセル化が解除されます。次に、そのルーターは個々の IPv6 パケットを宛先のノードに転送します。

6to4 トンネル

Oracle Solaris には、IPv4 アドレス指定から IPv6 アドレス指定に移行するための暫定的な手段として 6to4 トンネルが含まれています。6to4 トンネルを使用すると、孤立した IPv6 サイトが、IPv6 をサポートしない IPv4 ネットワーク上の自動トンネルを介して通信できます。6to4 トンネルを使用するには、6to4 自動トンネルの一方のエンドポイントとして、境界ルーターを IPv6 ネットワーク上に構成する必要があります。この方法により、6to4 ルーターは別の 6to4 サイト、または必要に応じて 6to4 以外のネイティブ IPv6 サイトへのトンネルに参加できます。

6to4 トンネルのトポロジ

6to4 トンネルは、あらゆる場所にあるすべての 6to4 サイトへの IPv6 接続を提供します。同様に、このトンネルはまた、リレールーターに転送するように構成されている場合、ネイティブ IPv6 インターネットを含むすべての IPv6 サイトへのリンクとしても機能します。次の図は、6to4 トンネルが 6to4 サイト間にこの接続を提供する仕組みを示しています。

図 6  2 つの 6to4 サイト間のトンネル

image:次の図は、6to4 トンネルを示したものです。この図の内容は、次の段落で説明しています。

前の図は、2 つの切り離された 6to4 ネットワークであるサイト A とサイト B を示しています。各サイトでは、IPv4 ネットワークへの外部接続を備えたルーターが構成されています。IPv4 ネットワークを越える 6to4 トンネルによって、6to4 サイトをリンクする接続が提供されています。

IPv6 サイトを 6to4 サイトにするには、少なくとも 1 つのルーターインタフェースを 6to4 をサポートするように構成しておく必要があります。このインタフェースは、IPv4 ネットワークに対する外部接続を提供する必要があります。前の図では、境界ルーター A のインタフェース net0 がサイト A を IPv4 ネットワークに接続しています。net0 で構成するアドレスは、一意 (世界で 1 つ) のものでなければなりません。ルーター上で 6to4 をサポートするようにトンネルインタフェースを構成する前に、IPv4 アドレスで net0 インタフェースを構成する必要があります。

この図の 6to4 サイト A は、ルーター A のインタフェース net1net2 に接続された 2 つのサブネットから構成されています。サイト A のどちらかのサブネット上の IPv6 ホストはすべて、ルーター A からの広告の受信時に 6to4 派生アドレスで自動的に再構成されます。

サイト B は、もう 1 つの独立した 6to4 サイトです。サイト A からのトラフィックを正しく受信するには、サイト B 上の境界ルーターを 6to4 をサポートするように構成する必要があります。それ以外の場合、ルーターがサイト A から受け取るパケットが認識されずに削除されてしまいます。

6to4relay コマンド

6to4 トンネリングは、切り離された 6to4 サイト間の通信を可能にします。しかし、6to4 以外のネイティブ IPv6 サイトにパケットを転送する場合は、6to4 ルーターは 6to4 リレールーターとのトンネルを確立する必要があります。それにより、6to4 リレールーターは 6to4 パケットを IPv6 ネットワークに転送し、さらに最終的にはネイティブ IPv6 サイトに転送します。6to4 有効化サイトがネイティブな IPv6 サイトとデータを交換する必要がある場合、6to4relay コマンドを使用して、適切なトンネルを有効にします。


注 -  リレールーターの使用はセキュアではないため、Oracle Solaris のデフォルト設定ではリレールーターとの間のトンネリングは無効になっています。このシナリオを実践に移す場合は、6to4 リレールーターとの間のトンネル構築に伴って発生する問題点をあらかじめ慎重に検討してください。詳細は、6to4 リレールーターとの間のトンネルを有効にする際の考慮事項を参照してください。6to4 リレールーターのサポートを有効にする場合、その関連手順については、IP トンネルを作成および構成する方法を参照してください。

詳細は、 6to4 (7M) のマニュアルページを参照してください。

6to4 トンネルを介したパケットフロー

次の情報は、ある 6to4 サイトにあるシステムからリモートの 6to4 サイトにあるシステムへのパケットのフローがどのように機能するかに関連しています。説明されるこのシナリオでは、図 6に示されているトポロジを使用します。このシナリオは、6to4 ルーターと 6to4 ホストがすでに構成済みであることを想定しています。

パケットフローは次のとおりです。

  1. 6to4 サイト A のサブネット 1 に存在するシステムが伝送を行い、6to4 サイト B 上のシステムが宛先として機能します。各パケットヘッダーには、6to4 派生発信元アドレスと 6to4 派生宛先アドレスが含まれます。

  2. サイト A のルーターは、IPv4 ヘッダー内で各 6to4 パケットをカプセル化します。このプロセスでルーターは、カプセル化ヘッダーの IPv4 宛先アドレスを、サイト B のルーターアドレスに設定します。トンネルインタフェースを通過する各 IPv6 パケットの IPv6 宛先アドレスには、この IPv4 宛先アドレスも含まれています。したがって、ルーターはカプセル化ヘッダーに設定されている IPv4 宛先アドレスを特定することができます。続いてサイト A のルーターは、標準の IPv4 ルーティング手続きを使用し IPv4 ネットワークを介してこのパケットを転送します。

  3. パケットが遭遇する IPv4 ルーターが、パケットの IPv4 宛先アドレスを使用して転送を行います。このアドレスはルーター B のインタフェースに使用される一意の (世界に 1 つしかない) IPv4 アドレスであり、6to4 擬似インタフェースとしても機能します。

  4. サイト A から送付されたパケットがルーター B に到着します。ルーター B は、IPv4 ヘッダーを削除して IPv6 パケットのカプセル化を解除します。

  5. 続いてルーター B は、IPv6 パケット内の宛先アドレスを使用してサイト B の受信システムにパケットを転送します。

6to4 リレールーターとの間のトンネルを有効にする際の考慮事項

6to4 リレールーターは、6to4 ではない ネイティブ IPv6 ネットワークと通信を行う必要がある 6to4 ルーターからのトンネルのエンドポイントとして機能します。本来、リレールーターは 6to4 サイトとネイティブ IPv6 サイトとの間のブリッジとして使用されます。この解決方法はセキュアではない場合があるため、Oracle Solaris のデフォルト設定では 6to4 リレールーターのサポートは無効になっています。しかし、サイトでこのようなトンネルが必要な場合には 6to4relay コマンドを使用して次の図に示すようなトンネリングを有効にできます。

図 7  6to4 サイトと 6to4 リレールーター間のトンネル

image:この図は、6to4 ルーターと 6to4 リレールーター間のトンネルを示します。周囲のテキストがこの図をさらに詳細に説明しています。

図 7の 6to4 サイト A は、ネイティブ IPv6 サイト B のノードと通信する必要があります。図には、IPv4 ネットワーク経由でサイト A から 6to4 トンネルに向かうトラフィックのパスが示されています。このトンネルは、6to4 ルーター A と 6to4 リレールーターをエンドポイントとして使用しています。6to4 リレールーターより先は IPv6 ネットワークであり、IPv6 サイト B はこのネットワークに接続されています。

6to4 サイトとネイティブ IPv6 サイト間のパケットフロー

次の情報は、6to4 サイトからネイティブ IPv6 サイトへのパケットのフローに関連しています。このシナリオでは、図 7に示されているトポロジを使用します。

パケットフローは次のとおりです。

  1. 6to4 サイト A のシステムが、ネイティブ IPv6 サイト B のシステムを宛先に指定して伝送を行います。各パケットヘッダーの発信元アドレスには 6to4 派生アドレスが含まれています。宛先アドレスは標準の IPv6 アドレスです。

  2. サイト A の 6to4 ルーターは、各パケットを宛先である 6to4 ルーターの Ipv4 アドレスを持つ IPv4 ヘッダー内でカプセル化します。この 6to4 ルーターは、標準の IPv4 ルーティング手続きを使用し IPv4 ネットワークを介してこのパケットを転送します。パケットが遭遇する IPv4 ルーターが、6to4 リレールーターにパケットを転送します。

  3. サイト A に物理的にもっとも近いエニーキャスト 6to4 リレールーターが、192.88.99.1 エニーキャストグループ宛てのパケットを取り出します。


    注 -  6to4 リレールーターエニーキャストグループの一部である 6to4 リレールーターには、192.88.99.1 という IP アドレスが割り当てられます。このエニーキャストアドレスは、6to4 リレールーターのデフォルトアドレスです。特定の 6to4 リレールーターを使用する必要がある場合は、デフォルトをオーバーライドしてそのルーターの IPv4 アドレスを指定できます。
  4. このリレールーターは、IPv4 ヘッダーを取り除いて 6to4 パケットのカプセル化を解除し、ネイティブ IPv6 宛先アドレスを明らかにします。

  5. 次に、リレールーターが IPv6 のみとなったパケットを IPv6 ネットワークに送信し、そこでサイト B のルーターがそのパケットを最終的に受け取ります。次に、ルーターがそのパケットを宛先の IPv6 ノードに転送します。