IPv6 の管理

第 2 章 IPv6 の管理 (手順)

この章では、ホストやルーターで IPv6 を設定する方法について説明します。主な内容を以下に示します。

内容 

参照先 

IPv6 の概要 

第 1 章「IPv6 (概要)」

この章で説明する IPv6 作業に関連した詳しい概念情報 

第 3 章「IPv6 のファイルおよびコマンド (リファレンス)」

IPv4 から IPv6 への移行方法の詳細 

第 4 章「IPv4 から 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.

IPv6 の監視

次のコマンドは IPv6 の Solaris 実装に対応するように変更されています。

追加コマンドを使用すると診断を実行できます。これらのコマンドの考え方については、ifconfig ユーティリティに対する IPv6 拡張機能既存のユーティリティに対する IPv6 拡張機能を参照してください。

IPv6 の監視 (作業マップ)

表 2–2 IPv6 の監視 (作業マップ)

作業 

説明 

参照先 

インタフェースアドレス割り当ての表示 

ifconfig コマンドで、すべてのアドレス割り当て、あるいは IPv4、IPv6、または 6to4 派生アドレス割り当てだけを表示

インタフェースアドレス割り当ての表示方法

ネットワーク状態の表示 

すべてのソケットとルーティングテーブルエントリ、IPv4 用の inet アドレスファミリー、IPv6 用の inet6 アドレスファミリー、netstat コマンドによるインタフェースの IPv6 または ICMPv6 カウンタの統計を表示

ネットワーク状態の表示方法

IPv6 関連コマンドの出力表示の制御 

ping コマンド、netstat コマンド、 ifconfig コマンド、traceroute コマンドの出力の制御。inet_type という名前のファイルの作成と、そのファイル内の DEFAULT_IP 変数の設定

IPv6 関連コマンドの出力表示の制御方法

IPv6 ネットワークトラフィックだけの監視 

snoop コマンドによるすべての IPv6 パケットの表示

IPv6 ネットワークトラフィックの監視方法

すべてのマルチホームホストアドレスの探査 

ping コマンドによるすべてのアドレスの確認

すべてのマルチホームホストアドレスの探査方法

すべてのルートのトレース 

traceroute コマンドの使用

すべてのルーターのトレース方法

インタフェースアドレス割り当ての表示方法

IPv4 や IPv6 のアドレス割り当ての場合だけでなく、すべてのアドレス割り当てを表示する場合も ifconfig コマンドを使用します。

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


    % ifconfig [option]

ifconfig コマンドの詳細については、ifconfig(1M) のマニュアルページを参照してください。

例 – すべてのインタフェースについてアドレス指定情報を表示


% ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 120.10.0.1 netmask ff000000 
le0: flags=1000843 mtu 1500 index 2
        inet 120.46.86.54 netmask ffffff00 broadcast 120.146.86.255
        ether 8:0:73:56:a8 
lo0: flags=2000849 mtu 8252 index 1
        inet6 ::1/128 
le0: flags=2000841 mtu 1500 index 2
        ether 8:0:20:56:a8 
        inet6 fe80::a00:fe73:56a8/10 
le0:1: flags=2080841 mtu 1500 index 2
        inet6 fec0::56:20ff:fe73:56a8/64 
le0:2: flags=2080841 mtu 1500 index 2
        inet6 2::56:a00:fe73:56a8/64

例 – すべての IPv4 インタフェースについてアドレス指定情報を表示


% ifconfig -a4
lo0: flags=1000849 mtu 8232 index 1
        inet 120.10.0.1 netmask ff000000 
le0: flags=1000843 mtu 1500 index 2
        inet 120.46.86.54 netmask ffffff00 broadcast 120.46.86.255
        ether 8:0:20:56:a8

例 – すべての IPv6 インタフェースについてアドレス指定情報を表示


% ifconfig -a6
lo0: flags=2000849 mtu 8252 index 1
        inet6 ::1/128 
le0: flags=2000841 mtu 1500 index 2
        ether 8:0:20:56:a8 
        inet6 fe80::a00:fe73:56a8/10 
le0:1: flags=2080841 mtu 1500 index 2
        inet6 fec0::56:20ff:fe73:56a8/64 
le0:2: flags=2080841 mtu 1500 index 2
        inet6 2::56:a00:fe73:56a8/64 
ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6> mtu 1480 index 11
        inet tunnel src 129.146.86.187 
        tunnel hop limit 60 
        inet6 2002:8192:56bb::1/64 

例 – 6to4 擬似インタフェースについてアドレス指定情報を表示


% ifconfig ip.6to4tun0 inet6
6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6. mtu 1480 index 11
        inet tunnel src 172.16.213.81 
        tunnel hop limit 60 
        inet6 2002:ac10:d551::1/64 

ネットワーク状態の表示方法

次の手順では、 netstat コマンドで、次に示すネットワークデータ構造フォーマットを表示できます。

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


    % netstat [option] 

netstat コマンドの詳細については、netstat(1M) のマニュアルページを参照してください。

例 – すべてのソケットとルーティングテーブルエントリの表示


% netstat -a
UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.*                                   Unbound
      *.apexrpc                              Idle
      *.*                                   Unbound
			.
			.
UDP: IPv6
   Local Address                     Remote Address                   State
If  
--------------------------------- --------------------------------- -------
      *.*                                                           Unbound
      *.time                                                        Idle
      *.echo                                                        Idle
      *.discard                                                     Idle
      *.daytime                                                     Idle
      *.chargen                                                     Idle

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0     0      0 IDLE
      *.apexrpc            *.*                0      0     0      0 LISTEN
      *.*                  *.*                0      0     0      0 IDLE
      *.ftp                *.*                0      0     0      0 LISTEN
localhost.427              *.*                0      0     0      0 LISTEN
      *.telnet             *.*                0      0     0      0 LISTEN
tn.apex.COM.telnet is.Eng.apex.COM         8760      0   8760     0 ESTABLISHED
tn.apex.COM.33528 np.apex.COM.46637        8760      0   8760     0 TIME_WAIT
tn.apex.COM.33529 np.apex.COM.apexrpc      8760      0   8760     0 TIME_WAIT
TCP: IPv6
   Local Address     Remote Address   Swind Send-Q  Rwind Recv-Q   State   If 
----------------- -----------------   ----- ------  ----- ------   -----
      *.*                 *.*             0      0      0      0   IDLE 
      *.ftp               *.*             0      0      0      0   LISTEN 
      *.telnet            *.*             0      0      0      0   LISTEN 
      *.shell             *.*             0      0      0      0   LISTEN 
      *.smtp              *.*             0      0      0      0   LISTEN
		.
		.
 2::56:8.login     something.1023    8640      0   8640      0 ESTABLISHED
 fe80::a:a8.echo   fe80::a:89        8640      0   8640      0 ESTABLISHED
 fe80::a:a8.ftp    fe80::a:90        8640      0   8640      0 ESTABLISHED

例 – IPv4 用の inet アドレスファミリを表示


% netstat -f inet
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
tn.apex.COM.telnet    is.apex.COM.35388    8760      0  8760   0  ESTABLISHED
tn.apex.COM.1022      alive-v4.nfsd        8760      0  8760   0  ESTABLISHED
tn.apex.COM.1021      sl.apex.COM.nfsd     8760      0  8760   0  ESTABLISHED
.
.
tn.apex.COM.33539     np.apex.COM.apexrpc  8760      0  8760   0  TIME_WAIT

例 – IPv6 用の inet6 アドレスファミリを表示


% netstat -f inet6
TCP: IPv6
   Local Address        Remote Address     Swind Send-Q Rwind Recv-Q   State      If 
-------------------- --------------------- ----- ------ ----- ------ ----------- -----
2::56:a8.login        something.1023       8640      0  8640      0 ESTABLISHED      
fe80::a0:a8.echo      fe80::a0:de.35389    8640      0  8640      0 ESTABLISHED      
.
.
fe80::a0:a8.ftp-data  fe80::a0:de.35394   25920      0 25920      0 TIME_WAIT      

例 – インタフェース別統計を表示 - IPv6 / ICMPv6 カウンタ


% netstat -sa
RAWIP
        rawipInDatagrams    =  1407     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     5
        rawipOutErrors      =     0

UDP
        udpInDatagrams      =  7900     udpInErrors         =     0
        udpOutDatagrams     =  7725     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   200
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
				.
				.
IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =406345     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
				.
				.
IPv6 for lo0
        ipv6Forwarding      =     2     ipv6DefaultHopLimit =     0
        ipv6InReceives      =     0     ipv6InHdrErrors     =     0
				.
				.
IPv6 for le0
        ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      =   885     ipv6InHdrErrors     =     0
				.
				.
IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      =   885     ipv6InHdrErrors     =     0
				.
				.
ICMPv4  icmpInMsgs          =   618     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        icmpInDestUnreachs  =     5     icmpInTimeExcds     =     0
				.
				.
ICMPv6 for lo0
        icmp6InMsgs         =     0     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
				.
				.
ICMPv6 for le0
        icmp6InMsgs         =   796     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        icmp6InTimeExcds    =     0     icmp6InParmProblems =     0
				.
				.
ICMPv6  icmp6InMsgs         =   796     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
				.
				.
ICMPv6 for ip.6to4tun0
        icmp6InMsgs         =    57     icmp6InErrors       =     0
        icmp6InDestUnreachs =    57     icmp6InAdminProhibs =     0
        icmp6InTimeExcds    =     0     icmp6InParmProblems =     0
        icmp6InPktTooBigs   =     0     icmp6InEchos        =     0
        icmp6InEchoReplies  =     0     icmp6InRouterSols   =     0
        icmp6InRouterAds    =     0     icmp6InNeighborSols =     0
        icmp6InNeighborAds  =     0     icmp6InRedirects    =     0
        icmp6InBadRedirects =     0     icmp6InGroupQueries =     0
        icmp6InGroupResps   =     0     icmp6InGroupReds    =     0
        icmp6InOverflows    =     0
        icmp6OutMsgs        =    57     icmp6OutErrors      =     0
        icmp6OutDestUnreachs=    57     icmp6OutAdminProhibs=     0
        icmp6OutTimeExcds   =     0     icmp6OutParmProblems=     0
        icmp6OutPktTooBigs  =     0     icmp6OutEchos       =     0
        icmp6OutEchoReplies =     0     icmp6OutRouterSols  =     0
        icmp6OutRouterAds   =     0     icmp6OutNeighborSols=     0
        icmp6OutNeighborAds =     0     icmp6OutRedirects   =     0
        icmp6OutGroupQueries=     0     icmp6OutGroupResps  =     0
        icmp6OutGroupReds   =     0

IGMP:
       2542 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
       2542 membership queries received
				.
				.

IPv6 関連コマンドの出力表示の制御方法

netstat コマンドと ifconfig コマンドの出力は制御できます。まず、/etc/default ディレクトリで inet_type という名のファイルを作成します。次に、DEFAULT_IP 変数の値を指定します。inet_type の詳細については、inet_type(4) のマニュアルページを参照してください。

  1. /etc/default/inet_type ファイルを作成します。

  2. 必要に応じて、次のどれかのエントリを作成します。

    • IPv4 情報だけを表示するには、次のように入力します。


      DEFAULT_IP=IP_VERSION4
    • IPv4 情報と IPv6 情報を表示するには、次のいずれかを入力します。


      DEFAULT_IP=BOTH

      または


      DEFAULT_IP=IP_VERSION6

注 –

ifconfig-4 フラグと -6 フラグの設定は、inet_type ファイルに設定された値より優先します。また、netstat-f フラグの設定も、inet_type ファイルに設定された値より優先します。


例 – IPv4 情報と IPv6 情報を選択する出力の制御

IPv6 ネットワークトラフィックの監視方法

すべての IPv6 パケットを表示するためには、次のように snoop コマンドを実行します。

  1. スーパーユーザーになります。

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


    # snoop ip6
    

snoop コマンドの詳細については、snoop(1M) のマニュアルページを参照してください。

例 – IPv6 ネットワークトラフィックだけの表示


# snoop ip6
Using device /dev/le (promiscuous mode)
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=104
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=104
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=104
ping -afe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=152
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=72
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=72
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=72
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=72

すべてのマルチホームホストアドレスの探査方法

この操作では、ping コマンドですべてのアドレスを調べます。

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


    % ping -a ipng11
    ipng11 (2::102:a00:fe79:19b0) is alive
    ipng11 (fec0::102:a00:fe79:19b0) is alive
    ipng11 (190.68.10.75) is alive

ping コマンドについての詳細は、ping(1M) のマニュアルページを参照してください。

すべてのルーターのトレース方法

この操作では、traceroute コマンドですべてのルーターを調べます。

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


    % traceroute -a <hostname>
    

traceroute コマンドの詳細については、traceroute(1M) のマニュアルページを参照してください。

例 – すべてのルーターのトレース


% traceroute -a ipng11
traceroute: Warning: Multiple interfaces found; using 2::56:a0:a8 @ le0:2
traceroute to ipng11 (2::102:a00:fe79:19b0),30 hops max, 60 byte packets
 1  ipng-rout86 (2::56:a00:fe1f:59a1)  35.534 ms  56.998 ms * 
 2  2::255:0:c0a8:717  32.659 ms  39.444 ms *
 3  ipng61.Eng.apex.COM (2::103:a00:fe9a:ce7b)  401.518 ms  7.143 ms *
 4  ipng12-00 (2::100:a00:fe7c:cf35)  113.034 ms  7.949 ms *
 5  ipng11 (2::102:a00:fe79:19b0)  66.111 ms *  36.965 ms

traceroute: Warning: Multiple interfaces found; using fec0::56:a8 @ le0:1
traceroute to ipng11 (fec0::10:b0), 30 hops max, 60 byte packets
 1  ipng-rout86 (fec0::56:a00:fe1f:59a1) 96.342 ms  78.282 ms 88.327 ms
 2  ipng8-tun1 (fec0::25:0:0:c0a8:717)  268.614 ms  508.416 ms  438.774 ms
 3  ipng61.Eng.apex.COM (fec0::103:a00:fe9a:ce7b)  6.356 ms * 713.166 ms
 4  ipng12-00 (fec0::100:a00:fe7c:cf35)  7.409 ms * 122.094 ms
 5  ipng11 (fec0::102:a00:fe79:19b0)  10.620 ms * *

traceroute to ipng11.eng.apex.com (190.68.10.75),30 hops max,40 byte packets
 1  rmpj17c-086.Eng.apex.COM (120.46.86.1)  4.360 ms  3.452 ms  3.479 ms
 2  flrmpj17u.Eng.apex.COM (120.46.17.131)  4.062 ms  3.848 ms  3.505 ms
 3  ipng8.Eng.apex.COM (120.68.7.23)  4.773 ms *  4.294 ms
 4  ipng61.Eng.apex.COM (120.68.10.104)  5.128 ms  5.362 ms *
 5  ipng12-20.Eng.apex.COM (120.68.10.62)  7.298 ms  5.444 ms *
 6  ipng11.Eng.apex.COM (120.68.10.75)  8.053 ms  6.394 ms *

IP 内 IP トンネルの設定

ここでは、IP 内 IP トンネルを手動で設定する方法について説明します。自動 6to4 トンネルを設定する方法については、6to4 ルーターの設定方法を参照してください。

IPv6 は、以下に示すトンネルのカプセル化をサポートします。

トンネルの概念については、IPv6 の Solaris トンネルインタフェーストンネル機構を参照してください。

IP 内 IP トンネルを設定する (作業マップ)

表 2–3 IP 内 IP トンネルを設定する (作業マップ)

作業 

説明 

参照先 

IPv4 トンネル経由の IPv6 の手動設定 

hostname6.ip.tun n ファイルに必要なエントリの説明

IPv4 トンネルによる IPv6 の設定方法

IPv4 トンネル (6to4 トンネル) 経由の IPv6 の自動設定 

hostname6.ip.6to4tun ファイルに必要なエントリの説明

6to4 ルーターの設定方法

IPv6 経由の IPv6 トンネルの設定 

hostname6.ip.6.tun n ファイルに必要なエントリの説明

IPv6 トンネル経由の IPv6 の設定方法

IPv6 経由の IPv4 トンネルの設定 

hostname.ip6.tun n ファイルに必要なエントリの説明

IPv6 トンネル経由の IPv4 の設定方法

IPv4 経由の IPv4 トンネルの設定 

hostname.ip.tun n ファイルに必要なエントリの説明

IPv4 トンネル経由の IPv4 の設定方法

6to4 ルーターと 6to4 リレールーター間のトンネルの設定 

6to4relay コマンドを使用して 6to4 リレールーターとの間のトンネルを有効にする方法の説明

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

トンネルインタフェースに通知するルーターの設定 

/etc/inet/ndpd.conf ファイルに必要なエントリの説明

トンネルインタフェースで通知するためのルーターの設定方法

IPv4 トンネルによる IPv6 の設定方法


注 –

IPv4 ネットワーク経由で IPv6 パケットを引き渡す方法としてもっとも望ましいのは、自動 6to4 トンネルを使用することです。サイトで 6to4 ルーティングを実装する手順は、6to4 ルーターの設定方法を参照してください。


  1. スーパーユーザーになります。

  2. /etc/hostname6.ip.tun n ファイルを作成します。n には 0、1、2 などの値を使用します。次に、以下の手順に従って、エントリを追加します。

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


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


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

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

トンネルを設定したあと、リブートしてください。


注 –

双方向通信を実現するには、トンネルのもう一方の端についても同じ手順を行う必要があります。


使用するシステムをルーターとして設定する場合、リブートする前にトンネルインタフェースに通知するようにルーターを設定する必要もあります。トンネルインタフェースで通知するためのルーターの設定方法 を参照してください。

例 — IPv6 アドレスを自動設定するための IPv6 設定ファイルのエントリ

次に、すべての IPv6 アドレスが自動設定されるトンネルの例を示します。


tsrc 129.146.86.138 tdst 192.168.7.19 up

例 — 手動で設定されたアドレスの IPv6 設定ファイルのエントリ

次に、グローバルソースアドレスとグローバル宛先アドレスが手動で設定されるトンネルの例を示します。サイトローカルソースアドレスとサイトローカル宛先アドレスも手動で設定されます。


tsrc 120.46.86.138 tdst 190.68.7.19 up
addif fec0::1234:a00:fe12:528 fec0::5678:a00:20ff:fe12:1234 up
addif 2::1234:a00:fe12:528 2::5678:a00:20ff:fe12:1234 up

IPv6 トンネル経由の IPv6 の設定方法

  1. スーパーユーザーになります。

  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

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

トンネルを設定したあと、リブートしてください。


注 –

双方向通信を実現するには、トンネルのもう一方の端についても同じ手順を行う必要があります。


使用するシステムをルーターとして設定する場合、リブートする前にトンネルインタフェースに通知するようにルーターを設定する必要もあります。トンネルインタフェースで通知するためのルーターの設定方法 を参照してください。

例 — IPv6 トンネル経由で IPv6 を作成するための IPv6 設定ファイルのエントリ

次に、IPv6 トンネルによる IPv6 のエントリの例を示します。


tsrc 2000::114:a00:20ff:fe72:668c tdst 2000::103:a00:20ff:fe9b:a1c3
fe80::4 fe80::61 up

IPv6 トンネル経由の IPv4 の設定方法

  1. スーパーユーザーになります。

  2. /etc/hostname.ip6.tun n ファイルを作成します。n には 0、1、2 などの値を使用します。次に、以下の手順に従って、エントリを追加します。

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


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


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

トンネルを設定したあと、リブートしてください。


注 –

双方向通信を実現するには、トンネルのもう一方の端についても同じ手順を行う必要があります。


使用するシステムをルーターとして設定する場合、リブートする前にトンネルインタフェースに通知するようにルーターを設定する必要もあります。トンネルインタフェースで通知するためのルーターの設定方法 を参照してください。

例 — IPv6 トンネル経由で IPv4 を作成するための IPv4 設定ファイルのエントリ

次に、IPv6 トンネル経由の IPv4 のエントリの例を示します。


tsrc 2000::114:a00:20ff:fe72:668c tdst 2000::103:a00:20ff:fe9b:a1c3
10.0.0.4 10.0.0.61 up

IPv4 トンネル経由の IPv4 の設定方法

  1. スーパーユーザーになります。

  2. /etc/hostname.ip.tun n ファイルを作成します。n には 0、1、2 などの値を使用します。次に、以下の手順に従って、エントリを追加します。

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


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


      addif IPv4-source-address  IPv4-destination-address up

トンネルを設定したあと、リブートしてください。


注 –

双方向通信を実現するには、トンネルのもう一方の端についても同じ手順を行う必要があります。


使用するシステムをルーターとして設定する場合、リブートする前にトンネルインタフェースに通知するようにルーターを設定する必要もあります。トンネルインタフェースで通知するためのルーターの設定方法 を参照してください。

例 — IPv4 トンネル経由で IPv4 を作成するための IPv4 設定ファイルのエントリ

次に、IPv4 トンネル経由の IPv4 のエントリの例を示します。


tsrc 120.46.86.158 tdst 120.46.86.122
10.0.0.4 10.0.0.61 up

トンネルインタフェースで通知するためのルーターの設定方法

トンネルごとに次の操作をします。

  1. スーパーユーザーになります。

  2. /etc/inet/ndpd.conf ファイルを編集します。次の手順に従って、エントリを追加します。

    1. トンネルインタフェース経由のルーター通知を有効にします。


      if ip.tunn AdvSendAdvertisements 1
    2. 必要に応じてプレフィックスを追加します。


      prefix interface-address ip.tunn
      
  3. リブートします。

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


注意 – 注意 –

主要なセキュリティ問題を考慮して、Solaris オペレーティングシステムのデフォルト設定では 6to4 リレールーターサポートは無効になっています。6to4 リレールーターとの間のトンネルについての考慮事項とインターネット文書『Security Considerations for 6to4』を参照してください。


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

  1. 6to4 ルーター上でスーパーユーザーになります。

  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. このトンネルは、不要になった時点で次のように入力して削除してください。


    # /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 アドレスに変更してください。

例—6to4 リレールーターサポートの状態情報の表示

/usr/bin/6to4relay を使用し、6to4 リレールーターのサポートが有効になっているかどうかを確認できます。次の例は、6to4 リレールーターのサポートを無効にした場合 (これが 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 destination address of Relay Router=192.88.99.1

IPv6 ネームサービス情報の表示

ここでは、IPv6 ネームサービス情報を表示する手順について説明します。

IPv6 ネームサービス情報を表示する (作業マップ)

表 2–4 IPv6 ネームサービス情報を表示する (作業マップ)

作業 

説明 

参照先 

IPv6 ネームサービス情報の表示 

nslookup コマンドで、IPv6 ネームサービス情報を表示する

IPv6 ネームサービス情報の表示方法

DNS IPv6 PTR レコードの正確な更新の確認 

nslookup コマンドで DNS IPv6 PTR レコードを表示する。また、set q=PTR パラメータを使用する

DNS IPv6 PTR レコードの正確な更新の確認方法

NIS+ による IPv6 情報の表示 

ypmatch コマンドで、IPv6 情報を NIS から表示する

NIS による IPv6 情報の表示方法

NIS+ による IPv6 情報の表示 

nismatch コマンドを実行して NIS+ で IPv6 情報を表示する

NIS+ による IPv6 情報の表示方法

ネームサービスに依存しない IPv6 情報の表示 

getent コマンドで IPv6 情報を表示する

ネームサービスに依存しない IPv6 情報の表示方法

IPv6 ネームサービス情報の表示方法

nslookup コマンドで IPv6 ネームサービス情報を表示するには、次のように操作します。

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


    % /usr/sbin/nslookup
    

    デフォルトサーバー名とアドレスが表示され、nslookup コマンドの山括弧 (>) プロンプトが表示されます。

  2. 特定のホストの情報を表示するには、山括弧プロンプトに次のコマンドを入力します。


    >set q=any
    >host-name
    
  3. AAAA レコードだけを表示するには、山括弧プロンプトに次のコマンドを入力します。


    >set q=AAAA
    
  4. exit を入力して、コマンドを終了します。

例 – nslookup による IPv6 情報の表示


%  /usr/sbin/nslookup
Default Server:  space1999.Eng.apex.COM
Address:  120.46.168.78
> set q=any
> vallejo
Server:  space1999.Eng.apex.COM
Address:  120.46.168.78

vallejo.ipv6.eng.apex.com      IPv6 address = fec0::9256:a00:fe12:528
vallejo.ipv6.eng.apex.com      IPv6 address = 2::9256:a00:fe12:528
> exit

DNS IPv6 PTR レコードの正確な更新の確認方法

nslookup コマンドを使用して DNS IPv6 PTR レコードを表示します。

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


    % /usr/sbin/nslookup
    

    デフォルトサーバー名とアドレスが表示され、nslookup コマンドの山括弧プロンプトが表示されます。

  2. PTR レコードを表示するには、山括弧プロンプトに次のコマンドを入力します。


    >set q=PTR
    
  3. exit を入力して、コマンドを終了します。

例 – nslookup による PTR レコードの表示


%  /usr/sbin/nslookup
Default Server:  space1999.Eng.apex.COM
Address:  120.46.168.78
> set q=PTR
> 8.2.5.0.2.1.e.f.f.f.0.2.0.0.a.0.6.5.2.9.0.0.0.0.0.0.0.0.2.0.0.0.ip6.int

8.2.5.0.2.1.e.f.f.f.0.2.0.0.a.0.6.5.2.9.0.0.0.0.0.0.0.0.2.0.0.0.ip6.int name = 
vallejo.ipv6.Eng.apex.COM
ip6.int nameserver = space1999.Eng.apex.COM
> exit

NIS による IPv6 情報の表示方法

ypmatch コマンドを実行して NIS で IPv6 情報を表示するには、次のように操作します。

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


    % ypmatch host-name ipnodes.byname
    

    host-name に関する情報が表示されます。


例 2–1 例 — ypmatch を使用して NIS で IPv6 情報を表示する


% ypmatch vallejo ipnodes.byname
fec0::9256:a00:20ff:fe12:528    vallejo
2::9256:a00:20ff:fe12:528       vallejo

NIS+ による IPv6 情報の表示方法

nismatch コマンドを実行して NIS で IPv6 情報を表示するには、次のように操作します。

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


    % nismatch host-name ipnodes.org-dir
    

    host-name に関する情報が表示されます。


例 2–2 例 – nismatch を使用して NIS+ で IPv6 情報を表示する


% nismatch vallejo ipnodes.org_dir
vallejo vallejo fec0::9256:a00:20ff:fe12:528 
vallejo vallejo 2::9256:a00:20ff:fe12:528  

ネームサービスに依存しない IPv6 情報の表示方法

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


    % getent ipnodes host-name
    

    host-name に関する情報が表示されます。


例 2–3 例 – getent を使用したネームサービスに依存しない IPv6 情報の表示


% getent ipnodes vallejo
2::56:a00:fe87:9aba        vallejo vallejo
fec0::56:a00:fe87:9aba     vallejo vallejo