ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (IP サービス) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
IPv6 をインタフェース上で有効にする方法 (作業マップ)
現在のセッションの IPv6 インタフェースを有効にする方法
IPv6 サポート用にトンネルを構成するための作業 (作業マップ)
6to4 リレールーターとの間の 6to4 トンネルを設定する方法
DNS IPv6 PTR レコードの正確な更新を確認する方法
10. TCP/IP と IPv4 の詳細 (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
29. モバイル IP のファイルおよびコマンド (リファレンス)
この節では、ノードがホストまたはサーバーのときに、そのノードで IPv6 が有効なインタフェースの構成を変更する方法について説明します。ほとんどの場合、IPv6 が有効なインタフェースでは、「ステートレス自動構成の概要」で説明しているようにアドレスの自動構成を使用するようにしてください。ただし、インタフェースの IPv6 アドレスの変更が必要な場合は、この節の作業の説明に従って変更できます。
次の表に、既存の IPv6 ネットワークに変更を加えるための各種作業の一覧を示します。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。
|
IPv6 「一時アドレス」には、インタフェースの MAC アドレスの代わりに、インタフェース ID としてランダムに生成された 64 ビットの数字が含まれます。匿名にしておきたい IPv6 ノード上の任意のインタフェースに対しては、一時アドレスを使用します。たとえば、公開 Web サーバーにアクセスする必要があるホストのインタフェースに対しては、一時アドレスを使用したい場合もあります。一時アドレスには、IPv6 プライバシー拡張が実装されます。これらの拡張機能については、RFC 3041“Privacy Extensions for Stateless Address Autoconfiguration in IPv6” を参照してください。
1 つまたは複数のインタフェースに対して一時アドレスを有効にする必要がある場合は、/etc/inet/ndpd.conf ファイルを使用します。しかし、標準の自動構成された IPv6 アドレスとは異なり、一時アドレスは、64 ビットのサブネット接頭辞とランダムに生成された 64 ビット数から構成されます。このランダムな数は、IPv6 アドレスのインタフェース ID 部分になります。リンクローカルアドレスでは、一時アドレスはインタフェース ID としては生成されません。
一時アドレスの preferred lifetime のデフォルトは、1 日です。一時アドレスの生成を有効にした場合、/etc/inet/ndpd.conf ファイルでは次の変数も構成できます。
一時アドレスが存在できる寿命。この寿命を過ぎると、そのアドレスはホストから削除されます。
一時アドレスが無効にされるまでの時間。この時間は、valid lifetime よりも短くします。
preferred lifetime が満了するまでの時間。この時間内に、ホストは新しい一時アドレスを生成します。
一時アドレスの時間を表現するには、次の書式を使用します。
n 秒数 (デフォルト)
n 時間数 (h)
n 日数 (d )
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
「現在のセッションの IPv6 インタフェースを有効にする方法」を参照してください。
ifdefault TmpValidLifetime duration
この構文は、ホストのすべてのインタフェースに対して valid lifetime を指定します。duration の値は、秒、時間、または日です。valid lifetime のデフォルトは 7 日です。TmpValidLifetime に if interface キーワードを使用すると、特定のインタフェースに対して一時アドレスの valid lifetime を指定できます。
if interface TmpPreferredLifetime duration
この構文は、特定のインタフェースに対して一時アドレスの preferred lifetime を指定します。preferred lifetime のデフォルトは 1 日です。TmpPreferredLifetime に ifdefault キーワードを使用すると、ホストのすべてのインタフェースに対して preferred lifetime を指定できます。
注 - デフォルトアドレス選択では、無効にされた IPv6 アドレスには低い優先順位が与えられます。IPv6 一時アドレスが無効にされると、デフォルトアドレス選択によって、パケットのソースアドレスとして無効でないアドレスが選択されます。無効でないアドレスは、自動的に生成された IPv6 アドレス、またはインタフェースの IPv4 アドレス (使用できる場合) になります。デフォルトアドレス選択の詳細については、「デフォルトアドレス選択の管理」を参照してください。
ifdefault TmpRegenAdvance duration
この構文は、ホストのすべてのインタフェースに対して、一時アドレスを無効にするまでの時間を指定します。デフォルトは 5 秒です。
# pkill -HUP in.ndpd # /usr/lib/inet/in.ndpd
ifconfig コマンドの出力において、インタフェース定義と同じ行に TEMPORARY というキーワードが存在するはずです。
例 7-4 /etc/inet/ndpd.conf ファイルの一時アドレス変数
次に、一次ネットワークインタフェースに対して一時アドレスを有効にした /etc/inet/ndpd.conf ファイルの例 (一部) を示します。
ifdefault TmpAddrsEnabled true ifdefault TmpValidLifetime 14d ifdefault TmpPreferredLifetime 7d ifdefault TmpRegenAdvance 6s
例 7-5 一時アドレスを有効にした ifconfig -a6 コマンドの出力
次に、一時アドレスを作成したあとにおける ifconfig コマンドの出力の例を示します。
# ifconfig -a6 lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b9:4c:54 inet6 fe80::a00:20ff:feb9:4c54/10 hme0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:15:a00:20ff:feb9:4c54/64 hme0:2: flags=802080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6,TEMPORARY> mtu 1500 index 2 inet6 2001:db8:3c4d:15:7c37:e7d1:fc9c:d2cb/64
インタフェース hme0:2 に続く行に TEMPORARY というキーワードが含まれていることに注目してください。この行は、2001:db8:3c4d:15:7c37:e7d1:fc9c:d2cb/64 が一時インタフェース ID を持っていることを示します。
参照
ネームサービスが IPv6 アドレスをサポートするように設定する方法については、「ネームサービスの IPv6 サポート用の構成」を参照してください。
サーバー上で IPv6 アドレスを構成する方法については、「ユーザー指定の IPv6 トークンを構成する方法」を参照してください。
IPv6 ノード上での活動を監視する方法については、第 8 章TCP/IP ネットワークの管理 (手順)を参照してください。
IPv6 アドレスの 64 ビットインタフェース ID は、IPv6 Addressing Overviewで説明したように、「「IPv6 アドレス指定の概要」」とも呼ばれます。トークンは、アドレスが自動構成されるときに、インタフェースの MAC アドレスに関連付けられます。ほとんどの場合、経路制御を行わないノード (IPv6 ホストと IPv6 サーバー) では、自動構成されたトークンを使用するようにしてください。
ただし、システムが保守されるときにインタフェースが定期的に交換されるサーバーでは、自動構成されたトークンを使用すると問題が発生することがあります。インタフェースカードが変更されると、MAC アドレスも変更されます。その結果、IP アドレスが変わらないことを前提とするサーバーでは、問題が発生することがあります。ネットワークインフラストラクチャーの各ノード (DNS、NIS など) に、サーバーのインタフェースに固有の IPv6 アドレスが保存されている場合があります。
アドレスが変わることで発生する問題を回避するために、IPv6 アドレスのインタフェース ID として使用されるトークンを手動で構成できます。トークンを作成するには、IPv6 アドレスのインタフェース ID 部分に相当する 64 ビット以下の 16 進数を指定します。それ以降は、アドレスが自動構成されるときに近傍検索によって作成されるインタフェース ID は、インタフェースの MAC アドレスからは作成されません。代わりに、手動で作成したトークンがインタフェースID になります。このトークンは、カードを交換しても、インタフェースに割り当てられたままになります。
注 - ユーザー指定のトークンと一時アドレスとの違いは、一時アドレスがランダムに生成されるのに対し、ユーザー指定のトークンはユーザーが明示的に作成する点です。
次の手順は、インタフェースが定期的に置き換えられるサーバーで特に役立ちます。また、任意の IPv6 ノード上でユーザー指定のトークンを構成する場合にも有効です。
IPv6 アドレスのトークンを構成するときは、そのインタフェースが plumb されている必要があります。
# ifconfig a6 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 0:3:ba:13:14:e1 inet6 fe80::203:baff:fe13:14e1/10
この出力から、ネットワークインタフェース qfe0 が plumb されていて、リンクのローカルアドレス fe80::203:baff:fe13:14e1/10 が割り当てられていることがわかります。このアドレスは、インストール中に自動的に構成されています。
次の形式の ifconfig コマンドを使用して、ユーザー指定のインタフェース ID (トークン) を各インタフェースに割り当てます。
ifconfig interface inet6 token address/64
たとえば、インタフェース qfe0 をトークンで構成するには、次のコマンドを使用します。
# ifconfig qfe0 inet6 token ::1a:2b:3c:4d/64
ユーザー指定のトークンを割り当てるインタフェースごとに、この手順を繰り返します。
token ::token-name/64
たとえば、/etc/hostname6.interface ファイルの末尾に次のテキストを追加します。
token ::1a:2b:3c:4d/64
システムをリブートしたあとに、/etc/hostname6.interface ファイルに構成したトークンがそのインタフェースの IPv6 アドレスに適用されます。この IPv6 アドレスは、それ以降何度リブートしても保持されます。
# pkill -HUP -in.ndpd
例 7-6 ユーザー指定のトークンを IPv6 インタフェースに構成する
次の例のインタフェース bge0:1 には、自動構成された IPv6 アドレスが割り当てられています。サブネット接頭辞 2001:db8:3c4d:152:/64 は、ノードのローカルリンク上のルーターから通知されます。インタフェース ID 2c0:9fff:fe56:8255 は、bge0:1 の MAC アドレスから生成されます。
# ifconfig -a6 lo0: flags=2002000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 bge0: flags=2100801 <UP,MULTICAST,IPv6> mtu 1500 index 5 inet6 fe80::2c0:9fff:fe56:8255/10 ether 0:c0:9f:56:82:55 bge0:1: flags=2180801 <UP, MULTICAST,ADDRCONF,IPv6>mtu 1500 index 5 inet6 2001:db8:3c4d:152:c0:9fff:fe56:8255/64 # ifconfig bge0 inet6 token ::1a:2b:3c:4d/64 # vi /etc/hostname6.bge0 token ::1a:2b:3c:4d/64 # pkill -HUP -in.ndpd # ifconfig -a6 lo0: flags=2002000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 bge0: flags=2100801 <UP,MULTICAST,IPv6> mtu 1500 index 5 inet6 fe80::2c0:9fff:fe56:8255/10 ether 0:c0:9f:56:82:55 bge0:1: flags=2180801 <UP, MULTICAST,ADDRCONF,IPv6>mtu 1500 index 5 inet6 2001:db8:3c4d:152:1a:2b:3c:4d/64
トークンの構成が終了すると、bge0:1 の 2 番目の状態行のグローバルアドレスは、そのインタフェース ID に構成された 1a:2b:3c:4d になります。
参照
ネームサービスをサーバーの IPv6 アドレスで更新する方法については、「ネームサービスの IPv6 サポート用の構成」を参照してください。
サーバーのパフォーマンスを監視する方法については、第 8 章TCP/IP ネットワークの管理 (手順)を参照してください。
サーバーで IPv6 を使用することを計画するときは、サーバーのインタフェースの IPv6 を有効にするために、いくつかのことを決定する必要があります。それらの決定は、インタフェースの IPv6 アドレスのインタフェース ID (「トークン」とも呼ばれる) を構成するときに、どのような方法を採用するかに影響します。
始める前に
この手順では、次のことを前提としています。
Oracle Solaris がサーバー上にすでにインストールされていること。
Oracle Solaris のインストール時またはインストール後に、「IPv6 インタフェースの構成」の手順を使用して、サーバーのインタフェースの IPv6 を有効にしていること。
これらに該当する場合は、IPv6 がサポートされるようにアプリケーションソフトウェアをアップグレードします。IPv4 プロトコルスタックで動作するアプリケーションの多くは、IPv6 でも正常に動作します。詳細は、「IPv6 をサポートするためにネットワークサービスを準備する方法」を参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
詳細は、「IPv6 ルーターの構成」を参照してください。
デフォルトでは、IPv6 アドレスの自動構成によって IPv6 アドレスのインタフェース ID 部分が作成されるときに、インタフェースの MAC アドレスが使用されます。インタフェースの IPv6 アドレスが既知の場合には、インタフェースが切り替わると、問題が発生することがあります。新しいインタフェースの MAC アドレスは、別のアドレスになります。アドレスが自動構成されると、新しいインタフェース ID が生成されます。
IPv6 が有効なインタフェースを置き換えないで使用する場合は、自動構成された IPv6 アドレスを使用します (「IPv6 アドレスの自動構成」を参照)。
IPv6 が有効なインタフェースをローカルネットワークの外部には匿名で表示する必要がある場合は、ランダムに生成されたトークンをインタフェース ID に使用することを検討します。手順および例については、「一時アドレスを構成する方法」を参照してください。
IPv6 が有効なインタフェースを定期的に切り替えて使用する場合は、インタフェース ID のトークンを作成します。手順および例については、「ユーザー指定の IPv6 トークンを構成する方法」を参照してください。