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

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 で他のアドレスやプレフィックスの情報を取り出します。インタフェースに静的アドレスが必要な場合、ifconfig ユーティリティのコマンドインタフェースを使用します。その結果、アドレスまたはホスト名が /etc/hostname6.interface (または /etc/hostname.interface) に保存されます。インタフェースが構成されるときに、その内容が ifconfig に渡されます。

この場合、ファイルに含まれるエントリは 1 つだけです。このエントリは、ネットワークインタフェースに関連付けられたホスト名または IP アドレスです。たとえば、ahaggar というマシンの一次ネットワークインタフェースが smc0 であるとします。その /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