IPv6 ネットワークは、ほとんどの場合、巨大な IPv4 ネットワーク内で孤立しています。IPv6 ネットワーク上のノードは、企業 (内部) またはリモート (外部) の孤立した IPv6 ネットワーク上のノードと通信する必要もあります。このような場合、IPv6 ホストはトンネルのエンドポイントとしても機能しますが、通常は、IPv6 ルーター間にトンネルを構成します。トンネルの計画については、「ネットワークトポロジにおけるトンネルの計画」を参照してください。
IPv6 ネットワーク用に自動的または手動で構成されたトンネルを設定できます。Oracle Solaris IPv6 実装がサポートするトンネルカプセル化の種類は、次のとおりです。
IPv4 トンネル経由の IPv6
IPv6 トンネル経由の IPv6
IPv6 トンネル経由の IPv4
6to4 トンネル
トンネルの概念については、「IPv6 トンネル」を参照してください。
この手順では、IPv6 ノードから IPv4 ネットワーク経由でリモートの IPv6 ノードに到達するトンネルを設定する方法について説明します。
トンネルのローカル側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc/hostname6.ip.tun n ファイルを作成します。
ここで、n はトンネル番号です (最初のトンネルがゼロ)。次に、次の手順に従って、エントリを追加します。
システムを再起動します。
トンネルの反対側のエンドポイントでも、この作業を繰り返します。
次の /etc/hostname6.ip.tun ファイルの例に、グローバルソースアドレスとグローバル宛先アドレスを手動で構成したトンネルを示します。
tsrc 192.168.8.20 tdst 192.168.7.19 up addif 2001:db8:3c4d:8::fe12:528 2001:db8:3c4d:7:a00:20ff:fe12:1234 up |
この手順では、IPv6 ノードから IPv6 ネットワーク経由でリモートの IPv6 ノードに到達するトンネルを設定する方法について説明します。
トンネルのローカル側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc/hostname6.ip6.tun n ファイルを作成します。
n には 0、1、2 などの値を使用します。次に、次の手順に従って、エントリを追加します。
トンネルソースアドレスとトンネル宛先アドレスを追加します。
tsrc IPv6-source-address tdst IPv6-destination-address IPv6-packet-source-address IPv6-packet-destination-address up |
(省略可能) ソース IPv6 アドレスと宛先 IPv6 アドレスの論理インタフェースを追加します。
addif IPv6-source-address IPv6-destination-address up |
このインタフェースに対してアドレスを自動設定したい場合は、この手順を省きます。各トンネルに対するリンクローカルアドレスを設定する必要はありません。
システムを再起動します。
トンネルの反対側のエンドポイントでも、この作業を繰り返します。
次に、IPv6 over IPv6 トンネル用のエントリの例を示します。
tsrc 2001:db8:3c4d:22:20ff:0:fe72:668c tdst 2001:db8:3c4d:103:a00:20ff:fe9b:a1c3 fe80::4 fe80::61 up |
この手順では、IPv6 ネットワークを経由して、2 つの IPv4 ホスト間をつなげるトンネルを構成する方法について説明します。この手順を使用するのは、企業のネットワークが異機種混在の環境であり、IPv6 サブネットが IPv4 サブネットを分離している場合です。
トンネルのローカル (IPv4 ) 側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc/hostname.ip6.tun n ファイルを作成します。
n には 0、1、2 などの値を使用します。次に、次の手順に従って、エントリを追加します。
ローカルホストをリブートします。
トンネルの反対側のエンドポイントでも、この作業を繰り返します。
次に、IPv6 トンネル経由の IPv4 のエントリの例を示します。
tsrc 2001:db8:3c4d:114:a00:20ff:fe72:668c tdst 2001:db8:3c4d:103:a00:20ff:fe9b:a1c3 10.0.0.4 10.0.0.61 up |
企業の IPv6 ネットワークがリモートの IPv6 ネットワークと通信する必要がある場合、自動 6to4 トンネルを使用することを考えてください。6to4 トンネルを構成するプロセスには、境界ルーターを「6to4」ルーターとして構成する手順が含まれます。6to4 ルーターは、ローカルのネットワークとリモートの IPv6 ネットワークにあるエンドポイントルーター間における 6to4 トンネルのエンドポイントとして機能します。
IPv6 ネットワーク上で 6to4 経路制御を構成する前に、次のことを行う必要があります。
予定されている 6to4 サイトのすべての適切なノード上で IPv6 を構成します (「ホストとサーバーの IPv6 インタフェース構成の変更」を参照)。
6to4 ルーターとして使用するため、IPv4 ネットワークに接続された 1 台以上のルーターを選択します。
IPv4 ネットワークに対して使用する 6to4 ルーターのインタフェースに一意の (全世界に 1 つしかない) IPv4 アドレスを設定します。この IPv4 アドレスは静的なものでなければいけません。
第 12 章Oracle Solaris DHCP について (概要)に示すように、動的に割り当てられた IPv4 アドレスは使用しないでください。動的に割り当てられたグローバルなアドレスは時間の経過とともに変わるため、IPv6 アドレス指定計画に悪影響を及ぼす可能性があります。
予想されている 6to4 ルーターに Primary Administrator またはスーパーユーザーとしてログインします。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
ルーター上に 6to4 疑似インタフェースを構成します。つまり、/etc/hostname6.ip.6to4tun0 ファイルを作成します。
サブネット ID が 0 でホスト ID が 1 の推奨されている規則を使用する場合は、 /etc/hostname6.ip.6to4tun0 では次に示す短い形式を使用してください。
tsrc IPv4-address up |
サブネット ID とホスト ID にほかの規則を使用する場合は、/etc/hostname6.ip.6to4tun0 では次に示す長い形式を使用してください。
tsrc IPv4-address 2002:IPv4-address:subnet-ID:interface-ID:/64 up |
/etc/hostname6.ip.6to4tun0 の必須パラメータは次のとおりです。
このインタフェースがトンネルソースとして使用されることを示します。
6to4 擬似インタフェースとなる物理インタフェース上で設定される IPv4 アドレスをドット付きの 10 進数形式で指定します。
残りのパラメータは省略可能です。しかし、省略可能なパラメータを 1 つでも指定した場合、ほかのすべての省略可能なパラメータも指定する必要があります。
6to4 接頭辞を指定します。
疑似インタフェースの IPv4 アドレスを 16 進数表記で指定します。
0 以外のサブネット ID を16 進表記で指定します。
1 以外のインタフェース ID を指定します。
5to4 接頭辞の長さが 64 ビットであることを示します。
6to4 インタフェースを「up」として構成します。
ネットワーク上の 2 つの IPv6 トンネルは、同じソースアドレスと同じ宛先アドレスを持つことはできません。同じアドレスを指定するとパケットは削除されます。このような状況は、6to4 ルーターが atun コマンドを通してトンネリングを実施する場合にも発生する可能性があります。atun については、tun(7M) のマニュアルページを参照してください。
(省略可能) ルーター上でさらに 6to4 擬似インタフェースを作成します。
予定されている各 6to4 擬似インタフェースには、すでに設定された一意の (全世界に 1 つしかない) IPv4 アドレスが必要です。
6to4 ルーターをリブートします。
# ifconfig ip.6to4tun0 inet6 |
インタフェースが正しく設定されている場合は、次のようなメッセージが表示されます。
ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6>mtu 1480 index 11 inet tunnel src 111.222.33.44 tunnel hop limit 60 inet6 2002:6fde:212c:10:/64 |
6to4 経路制御を通知するために /etc/inet/ndpd.conf ファイルを編集します。
詳細については、ndpd.conf(4) のマニュアルページを参照してください。
ルーターをリブートします。
あるいは、sighup を /etc/inet/in.ndpd デーモンに発行しても、ルーター広告の送信を開始できます。これによって、各サブネット上の 6to4 接頭辞を受信する IPv6 ノードは、新しい 6to4 派生アドレスを自動構成します。
ノードに使用される 6to4 派生の新しいアドレスを 6to4 サイトで使用されるネームサービスに追加します。
手順については、「ネームサービスの IPv6 サポート用の構成」を参照してください。
次に、/etc/hostname6.ip.6to4tun0 の短い形式の例を示します。
# cat /etc/hostname6.ip.6to4tun0 tsrc 111.222.33.44 up |
次に、/etc/hostname6.ip.6to4tun0 の長い形式の例を示します。
# cat /etc/hostname6.ip.6to4tun0 tsrc 111.222.33.44 2002:6fde:212c:20:1/64 up |
次に、6to4 擬似インタフェースの ifconfig コマンドの出力例を示します。
# ifconfig ip.6to4tun0 inet6 ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6> mtu 1480 index 11 inet tunnel src 192.168.87.188 tunnel hop limit 60 inet6 2002:c0a8:57bc::1/64 |
次の /etc/inet/ndpd.conf ファイル例は、2 つのサブネット上の 6to4 経路制御を通知します。
if qfe0 AdvSendAdvertisements 1 prefix 2002:c0a8:57bc:10::/64 qfe0 if qfe1 AdvSendAdvertisements 1 prefix 2002:c0a8:57bc:2::/64 qfe1 |
複数のルーターが存在するサイトの場合、6to4 ルーターの後ろに位置するルーターも 6to4 をサポートするように構成する必要がある場合があります。サイトに RIP が使用されている場合、6to4 以外のルーターそれぞれに、6to4 ルーターまでの静的ルートを指定する必要があります。市販の経路制御プロトコルを使用する場合は、6to4 ルーターとの間の静的なルートを構築する必要はありません。
セキュリティー上の大きな問題のため、Oracle Solaris では、6to4 リレールーターのサポートはデフォルトでは無効になっています。「6to4 リレールーターへのトンネルを作成するときのセキュリティー問題」を参照してください。
6to4 リレールーターとの間のトンネルを有効にする前に、次の作業を完了しておく必要があります。
使用しているサイトの 6to4 ルーターを構成する (「6to4 トンネルを設定する方法」を参照)
6to4 リレールーターとの間のトンネリングに伴うセキュリティー問題を検討する
6to4 ルーターに Primary Administrator またはスーパーユーザーとしてログインします。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
次のどちらか一方を使用し、6to4 リレールーターとの間のトンネルを有効にします。
エニーキャスト 6to4 リレールーターとの間のトンネルを有効にします。
# /usr/sbin/6to4relay -e |
-e オプションは、6to4 ルーターとエニーキャスト 6to4 リレールーターの間にトンネルを設定します。エニーキャスト 6to4 リレールーターは既知の IPv4 アドレス 192.88.99.1 を持っています。サイトに物理的にもっとも近いエニーキャストリレールーターが、6to4 トンネルのエンドポイントになります。このリレールーターは、6to4 サイトとネイティブ IPv6 サイト間のパケット転送を処理します。
エニーキャスト 6to4 リレールーターの詳細については、RFC 3068, "An Anycast Prefix for 6to4 Relay Routers" を参照してください。
特定の 6to4 リレールーターとの間のトンネルを有効にします。
# /usr/sbin/6to4relay -e -a relay-router-address |
-a オプションは、特定のルーターアドレスが続くことを示します。relay-router-address には、トンネルを有効にするために使用する特定の 6to4 リレールーターの IPv4 アドレスを指定してください。
6to4 リレールーターとの間のトンネルは、6to4 トンネル擬似インタフェースが削除されるまでアクティブな状態を維持します。
6to4 リレールーターとの間のトンネルが必要なくなったときには、このトンネルを削除します。
# /usr/sbin/6to4relay -d |
(省略可能) リブートを行なっても 6to4 リレールーターとの間のトンネルが持続するように設定します。
サイトによっては、6to4 ルーターがリブートするたびに 6to4 リレールーターとの間のトンネルを元に戻さざるをえない場合があるでしょう。このような状況に対応するためには、次の作業を行う必要があります。
/usr/bin/6to4relay コマンドを使用し、6to4 リレールーターのサポートが有効になっているかどうかを確認できます。次の例は、6to4 リレールーターのサポートを無効にした場合 (これが Oracle Solaris のデフォルト) の出力です。
# /usr/sbin/6to4relay 6to4relay: 6to4 Relay Router communication support is disabled. |
6to4 リレールーターのサポートを有効にすると、次のメッセージが表示されます。
# /usr/sbin/6to4relay 6to4relay: 6to4 Relay Router communication support is enabled. IPv4 remote address of Relay Router=192.88.99.1 |