IPv4 では起動時に /etc/hostname.interface を使用しましたが、IPv6 でも起動時にファイル /etc/hostname6.interface を使用してネットワークインタフェースを自動的に定義します。このとき、少なくとも /etc/hostname.* ファイルまたは、/etc/hostname6.* ファイルがローカルマシンに存在している必要があります。これらのファイルは、Solaris インストールプログラムで生成されます。ファイル名の interface は、プライマリネットワークインタフェースのデバイス名に置き換えられます。
ファイル名の構文は、次のとおりです。
hostname.interface hostname6.interface |
interface の構文は、次のとおりです。
dev[.Module[.Module ...]]PPA |
Dev |
ネットワークインタフェースデバイス。デバイスは le、qe など物理ネットワークインタフェースか、トンネルなどの論理インタフェース。詳細については、IPv6 の Solaris トンネルインタフェースを参照してください。 |
Module |
結合される際にデバイスにプッシュされるストリームモジュールのリスト |
PPA |
物理的な接続ポイント |
構文 [.[.]] も可能です。
有効なファイル名は、次のとおりです。
hostname6.le0 hostname6.ip.tun0 hostname.ip.tun0 |
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(1M) ユーティリティでは、ioctl の拡張セットで IPv4 ネットワークインタフェースと IPv6 ネットワークインタフェースの両方を設定します。表 16–1 は、このユーティリティに追加されたオプションセットです。このユーティリティによる診断手順については、インタフェースアドレス割り当ての表示方法を参照してください。
表 16–1 新しい ifconfig ユーティリティオプション
オプション |
説明 |
---|---|
index |
インタフェースインデックスを設定する |
tsrc/ tdst |
トンネルソース / 宛先を設定する |
addif |
論理インタフェースの次の候補を作成する |
removeif |
指定された IP アドレスの論理インタフェースを削除する |
destination |
インタフェースにポイントツーポイント宛先アドレスを設定する |
set |
インタフェースにアドレスとネットマスクのどちらか、または両方を設定する |
subnet |
インタフェースのサブネットアドレスを設定する |
xmit/ -xmit |
インタフェースにおけるパケット伝送を使用可能または使用不能する |
IPv6 設定手順については、IPv6 ノードを有効にするを参照してください。
次に示す ifconfig コマンドは、まず hme0:3 論理インタフェースを 1234::5678/64 IPv6 アドレスに作成します。次に up オプションでインタフェースを使用可能にし、状態を報告し、インタフェースを使用不可にします。最後に、インタフェースを削除します。
# 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 がデバイスを使用するために必要なストリームを構成し、デバイスの状態を報告し、トンネルのソースアドレスと宛先アドレスを構成します。最後に、構成後のデバイスの最新状態を報告します。
# 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 |