IPv6 の管理

IPv6 ノードを有効にする

この節では、IPv6 ノードをネットワークで設定するときに必要な手順について説明します。


注 –

この節で「ノード」という用語は、Solaris サーバーまたはクライアントホストを指します。


IPv6 ノードを有効にする (作業マップ)

表 2–1 IPv6 ノードを有効にする (作業マップ)

作業 

説明 

参照先 

ノード上の IPv6 を有効にする 

hostname6.interface ファイルの操作、アドレスの表示、/etc/inet/ipnodes ファイルへのアドレスの入力。この表の「注」参照。

ノード上の IPv6 を有効にする方法

Solaris IPv6 ルーターの設定 

indp.conf ファイルへのエントリの追加

Solaris IPv6 ルーターの設定方法

6to4 ルーターの設定 

/etc/hostname6.ip.6to4tun0 ファイルを使用して 6to4 インタフェースを設定する

6to4 ルーターの設定方法

IPv6 アドレスを NIS と NIS+ に追加 

/etc/ipnodes ファイルへのエントリ追加

NIS と NIS+ に対する IPv6 アドレスの追加方法

IPv6 アドレスを DNS に追加 

DNS ゾーンと逆ゾーンファイルに対する AAAA レコードの追加 

DNS に対する IPv6 アドレスの追加方法


注 –

IPv6 は、Solaris ソフトウェアをインストールするときにシステムで有効にできます。インストールプロセスで yes と応答して IPv6 を有効にすると、あとの IPv6 を有効にする手順を省略できます。


ノード上の IPv6 を有効にする方法

  1. IPv6 を有効にしたいシステム上でスーパーユーザーになります。

  2. 各インタフェースに対して次のように入力します。


    # touch /etc/hostname6.interface
    

    interface

    le0le1 などのインタフェース名

  3. ノードをリブートする


    注 –

    リブートすると、ルーターに検索パケットが送信されます。ルーターがプレフィックスを応答することにより、ノードが IPv6 アドレスでインタフェースを設定できるようになります。リブートすると、主なネットワークデーモンも IPv6 モードで再起動します。


  4. 全インタフェースの IPv6 アドレスを表示します。


    # ifconfig -a6
    

    IPv4 アドレスと IPv6 アドレスを表示するには、-a オプションだけを使用します。

  5. 適切なネームサービスに、IPv6 アドレスを次のように追加します。

Solaris IPv6 ルーターの設定方法

  1. ルーターとして機能するシステム上で、スーパーユーザーになります。

  2. /etc/inet/ndpd.conf ファイルを編集して、サブネットプレフィックスを使用して次のエントリを 1 つまたは複数追加します。

    変数と使用できる値のリストについては、in.ndpd(1M) のマニュアルページを参照してください。ndpd.conf ファイルについては、ndpd.conf(4) のマニュアルページを参照してください。

    1. すべてのインタフェースについて、ルーター動作を指定するエントリを追加します。


      ifdefault variable value
      
    2. プレフィックス通知のデフォルト動作を指定するエントリを追加します。


      prefixdefault variable value
      
    3. インタフェースパラメータごとのセットエントリを追加します。


      if interface variable value
      
    4. インタフェースプレフィックス情報ごとの通知エントリを追加します。


      prefix prefix/length interface variable value
      
  3. システムをリブートします。


注 –

ホストのサブネットアドレスプレフィックスが、近傍検索 (in.ndpd) からホストにリレーされます。また、次世代 RIP ルーティングプロトコル (in.ripngd) が自動的に実行されます。


例 – ndpd.conf ルーター設定ファイル


# Send router advertisements out all NICs
ifdefault AdvSendAdvertisements on
# Advertise a global prefix and a 
# site local prefix on three interfaces.
# 0x9255 = 146.85
prefix 2:0:0:9255::0/64	 	hme0
prefix fec0:0:0:9255::0/64 	hme0
# 0x9256 = 146.86
prefix 2:0:0:9256::0/64 	hme1
prefix fec0:0:0:9256::0/64	hme1
# 0x9259 = 146.89
prefix 2:0:0:9259::0/64		hme2
prefix fec0:0:0:9259::0/64	hme2

6to4 ルーターの設定方法

IPv6 ネットワーク上で 6to4 ルーティングを設定する前に、以下の作業をすませておく必要があります。

  1. 予定されている 6to4 ルーター上で、スーパーユーザーになります。

  2. /etc/hostname6.ip.6to4tun0 ファイルを作成することにより、そのルーター上で 6to4 擬似インタフェースを設定します。

    • サブネット 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:host ID:/64 up

    次の表は、この作業で使用される /etc/hostname6.ip.6to4tun0 のパラメータを説明したものです。

    tsrc 

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

    IPv4 address

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

    2002 

    (省略可能) 6to4 プレフィックスを指定する 

    IPv4 address

    (省略可能) 擬似インタフェースの IPv4 アドレスを 16 進で指定する 

    subnet ID

    (省略可能) 0 以外のサブネット ID を16 進表記で指定する 

    host ID

    (省略可能) 1 以外のホスト ID を指定する 

    /64 

    アドレスの長さが 64 ビットであることを示す 

    up 

    インタフェースを “up” として設定するように ifconfig に指示する


    注 –

    2 つの IPv6 トンネルに同じソースアドレスと宛先アドレスを指定することはできません。同じアドレスを指定するとパケットは削除されます。このような状況は、6to4 ルーターが atun を通してトンネリングも実施する場合に発生する可能性があります。


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

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

  4. インタフェースの状態を確認するために ifconfig を実行します。


    # ifconfig ip.6to4tun0 inet6
            
    

    インタフェースが正しく設定されている場合は、次のようなメッセージが表示されます。


    ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6>mtu 1480 index 11
            inet tunnel src 129.146.87.188 
            tunnel hop limit 60 
            inet6 2002:8192:56bb:56bb::1/64 

  5. 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
      

      prefix 2002 

      6to4 プレフィックスを示す 

      IPv4-address

      6to4 擬似インタフェースの一意の IPv4 アドレスを 16 進表記で指定する 

      subnet ID

      サブネット ID を 16 進で指定する 

      subnet-interface

      サブネットが接続しているルーターインタフェース 

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

    リブートするかわりに、/etc/inet/in.ndpd に対して sighup を発行してルーター通知の送信を開始することもできます。これにより、6to4 プレフィックスを受け取る各サブネット上の IPv6 ノードは、6to4 から派生した新しいアドレスを使用して自動設定を行います。

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

    手順については、DNS に対する IPv6 アドレスの追加方法またはNIS と NIS+ に対する IPv6 アドレスの追加方法を参照してください。

6to4 サイトにおける複数のルーターの設定

サイトに複数のルーターが存在する場合は、6to4 をサポートするために 6to4 ルーターの背後のルーターをさらに設定しなければならないことがあります。サイトで RIP を使用している場合は、6to4 以外の各ルーター上で 6to4 ルーターとの間の静的な経路を設定する必要があります。市販のルーティングプロトコルを使用する場合は、6to4 ルーターとの間の静的な経路を構築する必要はありません。

例—6to4 ルーターの設定

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


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

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


# cat /etc/hostname6.ip.6to4tun0
tsrc 129.146.87.188 2002:8192:56bb::1/64 up

次に、6to4 擬似インタフェースの ifconfig の出力例を示します。


# ifconfig ip.6to4tun0 inet6
ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6> mtu 1480 index 11
        inet tunnel src 129.146.87.188
        tunnel hop limit 60 
        inet6 2002:8192:56bb::1/64 

次の /etc/inet/ndpd.conf ファイル例は、2 つのサブネット上の 6to4 ルーティングを通知します。


if qfe0 AdvSendAdvertisements 1
prefix  2002:8192:56bb:1::/64 qfe0 

if qfe1 AdvSendAdvertisements 1
prefix  2002:8192:56bb:2::/64 qfe1

NIS と NIS+ に対する IPv6 アドレスの追加方法

NIS+ 用に ipnodes.org_dir という新しいテーブルが追加されました。このテーブルには、ホスト用の IPv4 アドレスと IPv6 アドレスの両方が保存されています。既存の IPv4 情報だけを保持している hosts.org_dir テーブルは、既存のアプリケーションを円滑に実行するために残しておきます。hosts.org_dir テーブルと ipnodes.org_dir テーブルはどちらも IPv4 アドレスと整合させておく必要があります。概要については、Solaris ネームサービスに対する IPv6 拡張機能を参照してください。

新しい ipnodes.org_dir テーブルの管理方法は、hosts.org_dir の管理方法と似ています。従来の NIS+ テーブルの管理に使用したのと同じツールとユーティリティは、ipnodes.org_dir にも有効です。NIS+ テーブルの操作についての詳細は、Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)を参照してください。

次のコマンドは、/etc/inet/ipnodes のエントリを ipnodes.org_dir テーブルに冗長モードでマージします。NIS+ テーブルは、nistbladm(1)nissetup(1M)、または nisserver(1M) のどれかで作成されたものとします。

    コマンド行で、次のコマンドを入力します。


    % nisaddent -mv -f /etc/inet/ipnodes ipnodes
    

ipnodes.org_dir テーブルを表示するには、次のように操作します。

    コマンド行で、次のコマンドを入力します。


    % nisaddent -d ipnodes
    

NIS 用に、新しいマップ ipnodes.bynameipnodes.byaddr の 2 つが追加されました。 これらのマップは、いずれも IPv4 と IPv6 のホスト名とアドレスの関連付けを保存しています。hosts.byname マップと hosts.byaddr マップは、IPv4 のホスト名とアドレスの関連情報だけを保存していますが、既存のアプリケーションが動作できるように変更されていません。しいマップの管理は、以前の hosts.byname マップと hosts.byaddr マップの管理方法と同様です。hosts マップを IPv4 アドレスで更新すると、新しい ipnode マップも同じ情報で更新されることに注意してください。


注 –

IPv6 対応ツールは、新しい NIS マップと新しい NIS+ テーブルを使用します。


DNS に対する IPv6 アドレスの追加方法

  1. IPv6 ネットワークのプライマリまたはセカンダリ DNS サーバー上でスーパーユーザーになります。

  2. DNS ゾーンファイルに、各 IPv6 有効化ホストの AAAA レコードを次のフォーマットで追加して編集します。


    host-name  IN   AAAA 	host-address
    
  3. DNS 逆ゾーンファイルを編集し、次のフォーマットで PTR レコードを追加します。


    host-address IN   PTR   host-name
    

DNS 管理の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』の「DNS の管理 (参照情報)」を参照してください。

例 – DNS ゾーンファイル


vallejo		IN		AAAA   2::9256:a00:20ff:fe12
IN		AAAA   fec0::9256:a00:20ff:fe12:528

例 – DNS 逆ゾーンファイル


$ORIGIN	ip6.int.	
8.2.5.0.2.1.e.f.f.f.9.2.0.0.a.0.6.5.2.9.0.0.0.0.0.0.0.0.2.0.0.0 \
	IN		PTR		vallejo.Eng.apex.COM.
8.2.5.0.2.1.e.f.f.f.9.2.0.0.a.0.6.5.2.9.0.0.0.0.0.0.0.0.0.c.e.f \
	IN		PTR		vallejo.Eng.apex.COM.