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

デフォルトアドレス選択の管理

Oracle Solaris では、単一のインタフェースに複数の IP アドレスを付与することができます。たとえば、ネットワーク多重パス (IPMP) のような技術を使用すると、複数のネットワークインタフェースカード (NIC) が同じ IP リンク層に接続できます。このようなリンクは 1 つまたは複数の IP アドレスを持つことができます。さらに、IPv6 が有効なシステム上のインタフェースは、1 つの IPv6 リンクローカルアドレス、少なくとも 1 つの IPv6 経路制御アドレス、および (少なくとも 1 つのインタフェースに) 1 つの IPv4 アドレスを持ちます。

システムがトランザクションを起動すると、アプリケーションは getaddrinfo ソケットへの呼び出しを作成します。getaddrinfo は、宛先システム上で使用されている可能なアドレスを発見します。そのあと、カーネルはこのリストに優先度を付けて、パケットに使用するのに最適な宛先を見つけます。このプロセスのことを「宛先アドレス順番付け」と呼びます。そのあと、Oracle Solaris カーネルは、パケットに最適な宛先アドレスに対して、適切なソースアドレスの書式を選択します。このプロセスのことを「アドレス選択」と呼びます。宛先アドレス順番付けの詳細については、getaddrinfo(3SOCKET) のマニュアルページを参照してください。

IPv4 専用システムとデュアルスタック IPv4/IPv6 システムは両方とも、デフォルトアドレス選択を実行する必要があります。ほとんどの状況では、デフォルトアドレス選択機構を変更する必要はありません。しかし、IPMP をサポートしたり、6to4 アドレス書式を選択したりする場合は、アドレス書式の優先度を変更する必要があります。

ProcedureIPv6 アドレス選択ポリシーテーブルを管理する方法

次の手順では、アドレス選択ポリシーテーブルを変更する方法について説明します。IPv6 デフォルトアドレス選択の概念については、ipaddrsel コマンド」を参照してください。


注意 – 注意 –

次の手順に示す理由がない場合は、IPv6 アドレス選択ポリシーテーブルを変更しないでください。このポリシーテーブルを間違って変更すると、ネットワーク上で問題が発生する可能性があります。次の手順に示すように、このポリシーテーブルは必ずバックアップを保存してください。


  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

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

  2. 現在の IPv6 アドレス選択ポリシーテーブルを調査します。


    # ipaddrsel
    # Prefix                  Precedence Label
    ::1/128                           50 Loopback
    ::/0                              40 Default
    2002::/16                         30 6to4
    ::/96                             20 IPv4_Compatible
    ::ffff:0.0.0.0/96                 10 IPv4
  3. デフォルトアドレス選択ポリシーテーブルのバックアップを作成します。


    # cp /etc/inet/ipaddrsel.conf /etc/inet/ipaddrsel.conf.orig
    
  4. テキストエディタを使用して、/etc/inet/ipaddrsel.conf を自分用にカスタマイズします。

    /etc/inet/ipaddrsel のエントリには、次の構文を使用します。


    prefix/prefix-length precedence label [# comment ] 
    

    次に、デフォルトアドレス選択ポリシーテーブルに一般的に行われる変更の例を示します。

    • 6to4 アドレスに最高の優先度を付ける場合。


      2002::/16                         50 6to4
      ::1/128                           45 Loopback

      6to4 アドレス書式の優先度は現在、最高の50 です。Loopback の優先度は、以前は 50 でしたが、現在は 45 です。ほかのアドレス書式の優先度は変わりません。

    • 特定の宛先アドレスとの通信において、特定のソースアドレスを使用するように指示する場合。


      ::1/128                           50 Loopback
      2001:1111:1111::1/128             40 ClientNet
      2001:2222:2222::/48               40 ClientNet
      ::/0                              40 Default

      このエントリは、物理インタフェースが 1 つしかないホストの場合に役立ちます。ここで、2001:1111:1111::1/128 は、ネットワーク 2001:2222:2222::/48 内にある宛先に向けられたすべてのパケットのソースアドレスとして優先されます。優先度 40 は、このインタフェースに構成されたほかのアドレス書式よりも、ソースアドレス 2001:1111:1111::1/128 を優先することを指示します。

    • IPv6 アドレスよりも IPv4 アドレスを優先する場合。


      ::ffff:0.0.0.0/96                 60 IPv4
      ::1/128                           50 Loopback
      .
      .

      このテーブルでは、IPv4 書式 ::ffff:0.0.0.0/96 の優先度をデフォルトの 10 からテーブル内で最高の 60 に変更しています。

  5. 変更したポリシーテーブルをカーネルにロードします。


    ipaddrsel -f /etc/inet/ipaddrsel.conf
    
  6. 変更したポリシーテーブルに問題がある場合は、IPv6 デフォルトアドレス選択ポリシーテーブルを復元します。


    # ipaddrsel -d
    

Procedure現在のセッションだけの IP6 アドレス選択テーブルを変更する方法

/etc/inet/ipaddrsel.conf ファイルを編集すると、その変更はリブート後も適用されます。変更したポリシーテーブルを現在のセッションだけに適用したい場合、次の手順に従います。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

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

  2. /etc/inet/ipaddrsel の内容を filename にコピーします (filename は自分が選択した名前)。


    # cp /etc/inet/ipaddrsel filename
    
  3. 必要に応じて、filename 内のポリシーテーブルを編集します。

  4. 変更したポリシーテーブルをカーネルにロードします。


    # ipaddrsel -f filename
    

    システムをリブートするまで、カーネルは新しいポリシーテーブルを使用します。