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

IPv6 サポート用のトンネルの構成

IPv6 ネットワークは、ほとんどの場合、巨大な IPv4 ネットワーク内で孤立しています。IPv6 ネットワーク上のノードは、企業 (内部) またはリモート (外部) の孤立した IPv6 ネットワーク上のノードと通信する必要もあります。このような場合、IPv6 ホストはトンネルのエンドポイントとしても機能しますが、通常は、IPv6 ルーター間にトンネルを構成します。トンネルの計画については、「ネットワークトポロジにおけるトンネルの計画」を参照してください。

IPv6 ネットワーク用に自動的または手動で構成されたトンネルを設定できます。Oracle Solaris IPv6 実装がサポートするトンネルカプセル化の種類は、次のとおりです。

トンネルの概念については、「IPv6 トンネル」を参照してください。

ProcedureIPv6 over IPv4 トンネルを手動で構成する方法

この手順では、IPv6 ノードから IPv4 ネットワーク経由でリモートの IPv6 ノードに到達するトンネルを設定する方法について説明します。

  1. トンネルのローカル側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/hostname6.ip.tun n ファイルを作成します。

    ここで、n はトンネル番号です (最初のトンネルがゼロ)。次に、次の手順に従って、エントリを追加します。

    1. トンネルソースアドレスとトンネル宛先アドレスを追加します。


      tsrc IPv4-source-address tdst IPv4-destination-address up
    2. (省略可能) ソース IPv6 アドレスと宛先 IPv6 アドレスの論理インタフェースを追加します。


      addif IPv6-source-address  IPv6-destination-address 
      

      このインタフェースに対してアドレスを自動設定したい場合は、この手順を省きます。各トンネルに対するリンクローカルアドレスを設定する必要はありません。

  3. システムを再起動します。

  4. トンネルの反対側のエンドポイントでも、この作業を繰り返します。


例 7–7 /etc/hostname6.ip.tun ファイルにおける手動 IPv6 over IPv4 トンネル用のエントリ

次の /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

ProcedureIPv6 over IPv6 トンネルを手動で構成する方法

この手順では、IPv6 ノードから IPv6 ネットワーク経由でリモートの IPv6 ノードに到達するトンネルを設定する方法について説明します。

  1. トンネルのローカル側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/hostname6.ip6.tun n ファイルを作成します。

    n には 0、1、2 などの値を使用します。次に、次の手順に従って、エントリを追加します。

    1. トンネルソースアドレスとトンネル宛先アドレスを追加します。


      tsrc IPv6-source-address tdst IPv6-destination-address
      IPv6-packet-source-address IPv6-packet-destination-address up
    2. (省略可能) ソース IPv6 アドレスと宛先 IPv6 アドレスの論理インタフェースを追加します。


      addif IPv6-source-address  IPv6-destination-address up

      このインタフェースに対してアドレスを自動設定したい場合は、この手順を省きます。各トンネルに対するリンクローカルアドレスを設定する必要はありません。

  3. システムを再起動します。

  4. トンネルの反対側のエンドポイントでも、この作業を繰り返します。


例 7–8 /etc/hostname6.ip6.tun ファイルにおける IPv6 over IPv6 トンネル用のエントリ

次に、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

ProcedureIPv4 over IPv6 トンネルを構成する方法

この手順では、IPv6 ネットワークを経由して、2 つの IPv4 ホスト間をつなげるトンネルを構成する方法について説明します。この手順を使用するのは、企業のネットワークが異機種混在の環境であり、IPv6 サブネットが IPv4 サブネットを分離している場合です。

  1. トンネルのローカル (IPv4 ) 側のエンドポイントに Primary Administrator またはスーパーユーザーとしてログインします。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/hostname.ip6.tun n ファイルを作成します。

    n には 0、1、2 などの値を使用します。次に、次の手順に従って、エントリを追加します。

    1. トンネルソースアドレスとトンネル宛先アドレスを追加します。


      tsrc IPv6-source-address tdst IPv6-destination-address
      
    2. (省略可能) ソース IPv6 アドレスと宛先 IPv6 アドレスの論理インタフェースを追加します。


      addif IPv6-source-address  IPv6-destination-address up
  3. ローカルホストをリブートします。

  4. トンネルの反対側のエンドポイントでも、この作業を繰り返します。


例 7–9 /etc/hostname6.ip6.tun ファイルにおける IPv4 over IPv6 トンネル用のエントリ

次に、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

Procedure6to4 トンネルを設定する方法

企業の IPv6 ネットワークがリモートの IPv6 ネットワークと通信する必要がある場合、自動 6to4 トンネルを使用することを考えてください。6to4 トンネルを構成するプロセスには、境界ルーターを「6to4」ルーターとして構成する手順が含まれます。6to4 ルーターは、ローカルのネットワークとリモートの IPv6 ネットワークにあるエンドポイントルーター間における 6to4 トンネルのエンドポイントとして機能します。

始める前に

IPv6 ネットワーク上で 6to4 経路制御を構成する前に、次のことを行う必要があります。

  1. 予想されている 6to4 ルーターに Primary Administrator またはスーパーユーザーとしてログインします。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. ルーター上に 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 の必須パラメータは次のとおりです。

    tsrc

    このインタフェースがトンネルソースとして使用されることを示します。

    IPv4-address

    6to4 擬似インタフェースとなる物理インタフェース上で設定される IPv4 アドレスをドット付きの 10 進数形式で指定します。

    残りのパラメータは省略可能です。しかし、省略可能なパラメータを 1 つでも指定した場合、ほかのすべての省略可能なパラメータも指定する必要があります。

    2002

    6to4 接頭辞を指定します。

    IPv4–address

    疑似インタフェースの IPv4 アドレスを 16 進数表記で指定します。

    subnet-ID

    0 以外のサブネット ID を16 進表記で指定します。

    interface-ID

    1 以外のインタフェース ID を指定します。

    /64

    5to4 接頭辞の長さが 64 ビットであることを示します。

    up

    6to4 インタフェースを「up」として構成します。


    注 –

    ネットワーク上の 2 つの IPv6 トンネルは、同じソースアドレスと同じ宛先アドレスを持つことはできません。同じアドレスを指定するとパケットは削除されます。このような状況は、6to4 ルーターが atun コマンドを通してトンネリングを実施する場合にも発生する可能性があります。atun については、tun(7M) のマニュアルページを参照してください。


  3. (省略可能) ルーター上でさらに 6to4 擬似インタフェースを作成します。

    予定されている各 6to4 擬似インタフェースには、すでに設定された一意の (全世界に 1 つしかない) IPv4 アドレスが必要です。

  4. 6to4 ルーターをリブートします。

  5. インタフェースの状態を確認します。


    # 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 
  6. 6to4 経路制御を通知するために /etc/inet/ndpd.conf ファイルを編集します。

    詳細については、ndpd.conf(4) のマニュアルページを参照してください。

    1. 最初の行で、通知を受け取るサブネットを指定します。

      if エントリを次の書式で作成してください。


      if subnet-interface AdvSendAdvertisements 1

      たとえば、インタフェース hme0 に接続しているサブネットに対して 6to4 経路制御を通知するには、subnet-interfacehme0 に置き換えます。


      if hme0 AdvSendAdvertisements 1
    2. 通知の 2 行目として 6to4 接頭辞を追加します。

      prefix エントリを次の書式で作成してください。


      prefix 2002:IPv4-address:subnet-ID::/64 subnet-interface
      
  7. ルーターをリブートします。

    あるいは、sighup/etc/inet/in.ndpd デーモンに発行しても、ルーター広告の送信を開始できます。これによって、各サブネット上の 6to4 接頭辞を受信する IPv6 ノードは、新しい 6to4 派生アドレスを自動構成します。

  8. ノードに使用される 6to4 派生の新しいアドレスを 6to4 サイトで使用されるネームサービスに追加します。

    手順については、「ネームサービスの IPv6 サポート用の構成」を参照してください。


例 7–10 6to4 ルーターの構成 (短い形式)

次に、/etc/hostname6.ip.6to4tun0 の短い形式の例を示します。


# cat /etc/hostname6.ip.6to4tun0
tsrc 111.222.33.44 up


例 7–11 6to4 ルーターの構成 (長い形式)

次に、/etc/hostname6.ip.6to4tun0 の長い形式の例を示します。


# cat /etc/hostname6.ip.6to4tun0
tsrc 111.222.33.44 2002:6fde:212c:20:1/64 up


例 7–12 6to4 疑似インタフェースを示す ifconfig の出力

次に、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 


例 7–13 /etc/inet/ndpd.conf における 6to4 通知

次の /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 ルーターの後ろに位置するルーターも 6to4 をサポートするように構成する必要がある場合があります。サイトに RIP が使用されている場合、6to4 以外のルーターそれぞれに、6to4 ルーターまでの静的ルートを指定する必要があります。市販の経路制御プロトコルを使用する場合は、6to4 ルーターとの間の静的なルートを構築する必要はありません。

Procedure6to4 リレールーターとの間の 6to4 トンネルを設定する方法


注意 – 注意 –

セキュリティー上の大きな問題のため、Oracle Solaris では、6to4 リレールーターのサポートはデフォルトでは無効になっています。「6to4 リレールーターへのトンネルを作成するときのセキュリティー問題」を参照してください。


始める前に

6to4 リレールーターとの間のトンネルを有効にする前に、次の作業を完了しておく必要があります。

  1. 6to4 ルーターに Primary Administrator またはスーパーユーザーとしてログインします。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 次のどちらか一方を使用し、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 トンネル擬似インタフェースが削除されるまでアクティブな状態を維持します。

  3. 6to4 リレールーターとの間のトンネルが必要なくなったときには、このトンネルを削除します。


    # /usr/sbin/6to4relay -d
    
  4. (省略可能) リブートを行なっても 6to4 リレールーターとの間のトンネルが持続するように設定します。

    サイトによっては、6to4 ルーターがリブートするたびに 6to4 リレールーターとの間のトンネルを元に戻さざるをえない場合があるでしょう。このような状況に対応するためには、次の作業を行う必要があります。

    1. /etc/default/inetinit ファイルを編集します。

      変更が必要な行は、ファイルの最後にあります。

    2. ACCEPT6TO4RELAY=NO という行の値 “NO” を “YES” に変更します。

    3. (省略可能) 特定の 6to4 リレールーターとの間で、リブートを行なっても持続するトンネルを構築します。

      パラメータ RELAY6TO4ADDR のために、アドレス 192.88.99.1 を、使用したい 6to4 リレールーターの IPv4 アドレスに変更してください。


例 7–14 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