Solaris のシステム管理 (第 3 巻)

IPv6 ネットワークインタフェース構成ファイル

IPv4 では起動時に /etc/hostname.interface を使用しましたが、IPv6 でも起動時にファイル /etc/hostname6.interface を使用してネットワークインタフェースを定義します。このとき、少なくとも /etc/hostname.* ファイルまたは、/etc/hostname6.* ファイルがローカルマシンに存在している必要があります。これらのファイルは、Solaris インストールプログラムで生成されます。ファイル名の interface は、プライマリネットワークインタフェースのデバイス名に置き換えられます。

ファイル名の構文は、次のとおりです。


hostname.interface
hostname6.interface

interface の構文は、次のとおりです。


dev[.Module[.Module ...]]PPA

Dev

ネットワークインタフェースデバイス。デバイスは leqe など物理的ネットワークインタフェースか、トンネルなどの論理インタフェース (詳細については、「IPv6 の Solaris トンネルインタフェース」を参照)

Module

プラム時にデバイスにプッシュされるストリームモジュールのリスト 

PPA

アタッチの物理的ポイント 

構文 [.[.]] も可能です。

有効なファイル名は、次のとおりです。


hostname6.le0
hostname6.ip.tun0
hostname.ip.tun0

IPv6 インタフェース構成ファイルのエントリ

IPv6 におけるインタフェースの自動設定では、その所属するリンク層アドレスに基づいてリンクローカルアドレスをノード側で計算できるため、IPv6 インタフェース構成ファイルにはエントリがないことがあります。その場合、起動スクリプトによってインタフェースが設定されます。ノードは近傍探索デーモン in.ndpd で他のアドレスやプレフィックスの情報を取り出します。インタフェースに静的アドレスが必要な場合 (IPv6 では一般的ではありませんが)、ifconfig ユーティリティのコマンドインタフェースを使用して追加できます。その結果、ホスト名のアドレスが /etc/hostname6.interface (または /etc/hostname.interface) に保存され、内容が ifconfig に伝わります。

この場合、ファイルのエントリは、ネットワークインタフェースに関連付けられたホスト名または IP アドレスだけです。たとえば、smc0ahaggar というマシンのプライマリネットワークインタフェースだとします。その /etc/hostname6.* ファイル名は /etc/hostname6.smc0 となり、そのエントリは ahaggar です。

ネットワーキングの起動スクリプトでは、インタフェース数と、ルーティングデーモンとパケットの送信を開始するための /etc/inet/ndpd.conf ファイルの有無を調べます (「Solaris IPv6 ルーターの設定方法」を参照)。

ifconfig ユーティリティに対する IPv6 拡張機能

ifconfig ユーティリティは、トンネルモジュール同様に、IPv6 インタフェースをプラムできるよう変更されました。ifconfig(1M) ユーティリティでは、ioctl の拡張セットで IPv4 ネットワークインタフェースと IPv6 ネットワークインタフェースの両方を設定します。表 16-1 は、このユーティリティに追加されたオプションセットです。このユーティリティによる診断手順については、「インタフェースアドレス割り当ての表示方法」を参照してください。

表 16-1 新しい ifconfig ユーティリティオプション

オプション 

説明 

index

インタフェースインデックスを設定する 

tsrc/tdst

トンネルソース / 宛先を設定する 

addif

論理インタフェースの次の候補を作成する 

removeif

指定された IP アドレスの論理インタフェースを削除する 

destination

インタフェースにポイントツーポイント宛先アドレスを設定する 

set

インタフェースにアドレスとネットマスクのどちらか、または両方を設定する 

subnet

インタフェースのサブネットアドレスを設定する 

xmit/-xmit

インタフェースにおけるパケット伝送を使用可能または使用不能する 

IPv6 設定手順については、「IPv6 ノードを有効にする」を参照してください。

例 - 新しい ifconfig ユーティリティオプション

次に示す ifconfig コマンドでは、hme0:3 論理インタフェースが 1234::5678/64 IPv6 アドレスに作成され、up オプションで有効になり、状態が報告され、無効になり、インタフェースが削除されます。


例 16-1 例 - addifremoveif の使用


# ifconfig hme0 inet6 addif 1234::5678/64 up
Created new logical interface hme0:3

# ifconfig hme0:3 inet6
hme0:3: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
		inet6 1234::5678/64 

# ifconfig hme0:3 inet6 down

# ifconfig hme0 inet6 removeif 1234::5678

次に示す ifconfig コマンドでは、物理的インタフェース名に関連付けられているデバイスが開き、デバイスを使用できるよう TCP/IP に必要なストリームがセットアップされ、その状態が報告され、トンネルソースと宛先アドレスが設定され、設定後の新しい状態が報告されます。


例 16-2 例 - tsrc/tdstindex


# ifconfig ip.tun0 inet6 plumb index 13

# ifconfig ip.tun0 inet6
ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 
1480 index 13
		inet tunnel src 0.0.0.0 
		inet6 fe80::/10 --> :: 

# ifconfig ip.tun0 inet6 tsrc 120.46.86.158 tdst 120.46.86.122

# ifconfig ip.tun0 inet6
ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 
1480 index 13
		inet tunnel src 120.46.86.158  tunnel dst 120.46.86.122
		inet6 fe80::8192:569e/10 --> fe80::8192:567a