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

インタフェースに対する一時アドレスの使用

IPv6 「一時アドレス」には、インタフェースの MAC アドレスの代わりに、インタフェース ID としてランダムに生成された 64 ビットの数字が含まれます。匿名にしておきたい IPv6 ノード上の任意のインタフェースに対しては、一時アドレスを使用します。たとえば、公開 Web サーバーにアクセスする必要があるホストのインタフェースに対しては、一時アドレスを使用したい場合もあります。一時アドレスには、IPv6 プライバシー拡張が実装されます。これらの拡張機能については、RFC 3041“Privacy Extensions for Stateless Address Autoconfiguration in IPv6” を参照してください。

1 つまたは複数のインタフェースに対して一時アドレスを有効にする必要がある場合は、/etc/inet/ndpd.conf ファイルを使用します。しかし、標準の自動構成された IPv6 アドレスとは異なり、一時アドレスは、64 ビットのサブネット接頭辞とランダムに生成された 64 ビット数から構成されます。このランダムな数は、IPv6 アドレスのインタフェース ID 部分になります。リンクローカルアドレスでは、一時アドレスはインタフェース ID としては生成されません。

一時アドレスの preferred lifetime のデフォルトは、1 日です。一時アドレスの生成を有効にした場合、/etc/inet/ndpd.conf ファイルでは次の変数も構成できます。

valid lifetime TmpValidLifetime

一時アドレスが存在できる寿命。この寿命を過ぎると、そのアドレスはホストから削除されます。

preferred lifetime TmpPreferredLifetime

一時アドレスが無効にされるまでの時間。この時間は、valid lifetime よりも短くします。

address regeneration

preferred lifetime が満了するまでの時間。この時間内に、ホストは新しい一時アドレスを生成します。

一時アドレスの時間を表現するには、次の書式を使用します。

n

n 秒数 (デフォルト)

n h

n 時間数 (h)

n d

n 日数 (d )

Procedure一時アドレスを構成する方法

  1. IPv6 ホストに Primary Administrator またはスーパーユーザーとしてログインします。

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

  2. 必要に応じて、ホストのインタフェースの IPv6 を有効にします。

    「現在のセッションの IPv6 インタフェースを有効にする方法」を参照してください。

  3. /etc/inet/ndpd.conf ファイルを編集して、一時アドレスの生成を有効にします。

    • ホストのすべてのインタフェースに対して一時アドレスを構成するには、次の行を /etc/inet/ndpd.conf ファイルに追加します。


      ifdefault TmpAddrsEnabled true
      
    • 特定のインタフェースに対して一時アドレスを構成するには、次の行を /etc/inet/ndpd.conf ファイルに追加します。


      if interface TmpAddrsEnabled true 
      
  4. (省略可能) 一時アドレスの valid lifetime を指定します。


    ifdefault TmpValidLifetime duration
    

    この構文は、ホストのすべてのインタフェースに対して valid lifetime を指定します。duration の値は、秒、時間、または日です。valid lifetime のデフォルトは 7 日です。TmpValidLifetimeif interface キーワードを使用すると、特定のインタフェースに対して一時アドレスの valid lifetime を指定できます。

  5. (省略可能) 一時アドレスの preferred lifetime を指定します。この寿命を過ぎると、一時アドレスは無効になります。


    if interface TmpPreferredLifetime duration
    

    この構文は、特定のインタフェースに対して一時アドレスの preferred lifetime を指定します。preferred lifetime のデフォルトは 1 日です。TmpPreferredLifetimeifdefault キーワードを使用すると、ホストのすべてのインタフェースに対して preferred lifetime を指定できます。


    注 –

    デフォルトアドレス選択では、無効にされた IPv6 アドレスには低い優先順位が与えられます。IPv6 一時アドレスが無効にされると、デフォルトアドレス選択によって、パケットのソースアドレスとして無効でないアドレスが選択されます。無効でないアドレスは、自動的に生成された IPv6 アドレス、またはインタフェースの IPv4 アドレス (使用できる場合) になります。デフォルトアドレス選択の詳細については、「デフォルトアドレス選択の管理」を参照してください。


  6. (省略可能) アドレスを無効にするまでの時間を指定します。この間に、ホストは新しい一時アドレスを生成する必要があります。


    ifdefault TmpRegenAdvance duration
    

    この構文は、ホストのすべてのインタフェースに対して、一時アドレスを無効にするまでの時間を指定します。デフォルトは 5 秒です。

  7. in.ndpd デーモンの構成を変更します。


    # pkill -HUP in.ndpd
    # /usr/lib/inet/in.ndpd
    
  8. 例 7–5 に示すように、ifconfig -a6 コマンドを実行することによって、一時アドレスが作成されていることを確認します。

    ifconfig コマンドの出力において、インタフェース定義と同じ行に TEMPORARY というキーワードが存在するはずです。


例 7–4 /etc/inet/ndpd.conf ファイルの一時アドレス変数

次に、一次ネットワークインタフェースに対して一時アドレスを有効にした /etc/inet/ndpd.conf ファイルの例 (一部) を示します。


ifdefault TmpAddrsEnabled true

ifdefault TmpValidLifetime 14d

ifdefault TmpPreferredLifetime 7d

ifdefault TmpRegenAdvance 6s


例 7–5 一時アドレスを有効にした ifconfig -a6 コマンドの出力

次に、一時アドレスを作成したあとにおける ifconfig コマンドの出力の例を示します。


# ifconfig -a6
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 
     inet6 ::1/128
hme0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 
     ether 8:0:20:b9:4c:54
     inet6 fe80::a00:20ff:feb9:4c54/10
hme0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 
     inet6 2001:db8:3c4d:15:a00:20ff:feb9:4c54/64
hme0:2: flags=802080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6,TEMPORARY> mtu 1500 index 2 
      inet6 2001:db8:3c4d:15:7c37:e7d1:fc9c:d2cb/64

インタフェース hme0:2 に続く行に TEMPORARY というキーワードが含まれていることに注目してください。この行は、2001:db8:3c4d:15:7c37:e7d1:fc9c:d2cb/64 が一時インタフェース ID を持っていることを示します。


参照