3    IPv6 (Internet Protocol Version 6)

IPv6 (Internet Protocol Version 6) は全く新しいネットワーク層プロトコルであり,インターネット・アーキテクチャの大きな改訂でもあります。 このため,IPv6 には,IPv4 での経験が取り入れられています。 この章では,次のトピックについて説明します。

トラブルシューティング情報については,10.4 節を参照してください。

3.1    IPv6 の歴史的背景

1990 年代の初めには,現在の TCP/IP アーキテクチャのアドレス空間および一部の側面が,インターネットの爆発的な成長に対応できなくなるとインターネット関係者の間で指摘されていました。 具体的な問題としては,インターネット・アドレス空間の不足,ルーティング・テーブルのサイズ不足,および新しい技術や機能を実現するための条件の高度化などがあります。

IETF (Internet Engineering Task Force) では,32 ビットのインターネット・プロトコル (IPv4) アドレスの使用方法について,いくつかの研究や改善が試みられました。 さらに,より長期的な目標として,インターネットの成長を妨げる可能性のあるプロトコルとサービスを特定し,他のプロトコルやサービスで置き換えるための活動も実施されました。

これらの試みの結果,ルータのオーバヘッドやネットワーク管理の観点から,IPv4 の 32 ビット・アドレス・アーキテクチャが最大の問題であることが分かりました。 しかも,IPv4 アドレスの割り当てはブロックが大きすぎたり小さすぎるなど不均等になる場合が多く,既存のネットワーク内で変更することは困難です。

1994 年 7 月,IPng (Internet Protocol Next Generation) は新しいネットワーク層プロトコルとして IPv6 (Internet Protocol Version 6) を発表し,IETF のワーキング・グループが仕様の作成を開始しました。 IPv6 プロトコルが選択されるまでの過程についての詳細は,RFC 1752 ("The Recommendation for the IP Next Generation Protocol") を参照してください。

3.2    用語

この章では,次の用語を使用しています。

ノード

通信に IPv6 プロトコルを使用するあらゆるシステム。

ルータ

他のノード宛の IPv6 パケットを転送するノード。 通常,このようなシステムには複数のネットワーク・インタフェース・カード (NIC) が装備,構成されています。

ホスト

ルータ以外のノード。

リンク

リンク層でのノード間通信に使用される媒体または設備。 イーサネット,FDDI,PPP リンク,インターネット層トンネリングなどがあります。

インタフェース

ノードをリンクに接続する部分。 この部分には通常,IPv6 のアドレスが割り当てられます。 物理 NIC (tu0ee0 など) や,仮想ネットワーク・インタフェース (3.6.2.3 項で説明する ipt0 など) があります。

トンネル

プロトコルを他のプロトコルのパケット内にカプセル化したパケットによるリンク。 この方式では,一方のプロトコルのパケットは他方のプロトコルのインフラストラクチャ上で伝送することができます。 このような処理をトンネリングといいます。 使用できるトンネルのタイプについては,3.4 節 を参照してください。

3.3    IPv6 のアドレッシング

この節では,管理者を対象として,IPv6 のアドレッシングの概要について説明します。 すでにこの情報をご存知の方は,3.5 節に進んでください。

IPv6 の最も大きな特徴は,IPv6 アドレス自体にあります。 IPv6 では,アドレスが従来の 32 ビットから 128 ビットに拡張されました。 この節では,次のトピックについて説明します。

3.3.1    アドレスのテキスト表記

次の構文を使用すると,IPv6 アドレスをテキスト文字列で表記できます。

x:x:x:x:x:x:x:x

x は,アドレス内の 1 つの 16 ビット値を表す 16 進数です。 たとえば,次のアドレスは IPv6 アドレスです。

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
 
1070:0:0:0:0:800:200C:417B

IPv6 アドレスには,ゼロ (0) のビットがいくつも連続して含まれる場合があります。 そのようなアドレスを表記する場合には,アドレス内に 1 回だけ 2 つのコロン文字 (::) を使用し,1 個以上の,ゼロの 16 ビット・グループを表すことができます。 たとえば,上記の 2 番目の IPv6 アドレスの例は,次のように圧縮できます。

1070::800:200C:417B

IPv4 ノードと IPv6 ノードが混在する環境では,IPv6 アドレスを次の構文で表記することもできます。

x:x:x:x:x:x:d.d.d.d

この場合,x はアドレスの上位 6 つの 16 ビット値を表す 16 進数,d はアドレスの下位 4 つの 8 ビット値を表す 10 進数 (標準の IPv4 ドット表記) です。 たとえば,次のアドレスは IPv6 アドレスです。

0:0:0:0:0:0:13.1.68.3
 
0:0:0:0:0:FFFF:129.144.52.38

この 2 つのアドレスは,次のように圧縮できます。

::13.1.68.3
 
::FFFF:129.144.52.38

IPv4 アドレス・プレフィックスと同様,IPv6 アドレス・プレフィックスも CIDR (Classless Inter-Domain Routing) 記法で表されます。 この記法のフォーマットは,次のとおりです。

ipv6-address/prefix-length

たとえば,60 ビットの 16 進プレフィックス 12AB00000000CD3 は,次のいずれかのように表記できます。

12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60

3.3.2    アドレスの種類

IPv6 アドレスには,次の 3 種類があります。

注意

IPv4 とは異なり,IPv6 ではブロードキャスト・アドレスは定義されていません。 ブロードキャスト・アドレスの機能を使用するには,リンク・ローカル・スコープのマルチキャスト・アドレスを使用します (3.3.2.3 項を参照)。

以降の項では,ユニキャスト・アドレスとマルチキャスト・アドレスのみを取り上げ,それぞれの例を紹介します。

3.3.2.1    ユニキャスト・アドレス

ユニキャスト・アドレスは,物理ネットワーク・インタフェースの識別子です。 1 つのユニキャスト・アドレスへ送信されたパケットは,そのアドレスで識別されるインタフェースを持つノードに配信されます。

ユニキャスト・アドレスは通常,次のフォーマットで表現されます。

このアドレスは,次に示すように,通常は 64 ビットのプレフィックスと,それに続く 64 ビットのインタフェース ID からなります。

インタフェース ID は,1 つのリンク上の特定インタフェースを示します。 同じリンク上に存在する各インタフェースは,それぞれ異なるインタフェース ID を持つ必要があります。 ただし,より広いスコープでインタフェース ID が一意になることもあります。 多くの場合,インタフェースの ID には,そのリンク層アドレスが利用されます。 1 つのノードの複数のインタフェースに,同じインタフェース ID が使用されることもあります。

RFC 2373 によれば,大部分のプレフィックスには 64 ビットのインタフェース ID が必要です。 48 ビットの MAC アドレスからインタフェース ID を作成するには,アドレスの中間位置に 2 つの 16 進数 (0xFF と 0xFE) を挿入して 64 ビット化した後,7 ビット目のユニバーサル/ローカル・ビットを反転します。図 3-1 は,この処理を図示しています。

図 3-1:  MAC アドレスに基づくインタフェース ID の作成

一般的なユニキャスト・アドレスと,その値を次に示します。

未指定アドレス

未指定アドレスはアドレスがないことを示し,インタフェースに割り当てられることはありません。 未指定アドレスの値は 0:0:0:0:0:0:0:0 (圧縮フォームでは ::) です。

ループバック・アドレス

IP データグラムを自分に送信するためにノードが使用するアドレス。 通常はループバック・インタフェースに割り当てられます。 IPv6 のループバック・アドレスの値は,0:0:0:0:0:0:0:1 (圧縮フォームでは ::1) です。

IPv4 アドレスが埋め込まれた IPv6 アドレス

IPv4 と IPv6 が混在している環境で使用されるアドレス。 次のアドレスのいずれかです。

ローカル使用 IPv6 ユニキャスト・アドレス

次のいずれかのアドレスです。

インタフェースは通常,複数の IPv6 アドレスを持ちます。 IPv6 を構成してシステムをブートすると,LAN,PPP,および構成したトンネル・インタフェースに,リンク・ローカル・アドレスが自動的に割り当てられます。 さらに,リンク上にルータが存在する場合には,グローバル・ユニキャスト・アドレスがインタフェースに自動設定されます。

3.3.2.2    エニーキャスト・アドレス

エニーキャスト・アドレスはノードのグループに対する識別子であり,IPv4 のエニーキャスト・アドレスと類似しています。 エニーキャスト・アドレスに送られたパケットは,そのアドレスで識別されるインタフェースを備えた 1 つのノードに配信されます。 通常は,ルーティング・プロトコルでの距離計測で最も近いノードになります。

エニーキャスト・アドレスはユニキャスト・アドレス空間から割り当てられ,ユニキャスト・アドレスと区別することはできません。 サブネット・ルータ・エニーキャスト・アドレスと RFC 2526 で定義されたアドレスだけが,簡単に識別できます。 サブネット・ルータ・エニーキャスト・アドレスに送られたパケットは,発信したホストに最も近いルータにのみ配信されます。 エニーキャスト・アドレスのフォーマットは,次のとおりです。

上記のフォーマットでは,サブネットのプレフィックスは特定のリンクを識別するプレフィックスになっています。 エニーキャスト・アドレスは,インタフェースの識別子がゼロに設定されている点以外は,インタフェースのユニキャスト・アドレスと同じです。

3.3.2.3    マルチキャスト・アドレス

IPv4 マルチキャスト・アドレスと同様,マルチキャスト・アドレスは一群のノードを示す識別子です。 マルチキャスト・アドレスのフォーマットを次に示します。

上記のアドレス・フォーマット内の各フィールドについて,次に説明します。

11111111

アドレスがマルチキャスト・アドレスであることを示します。

フラグ

0000 または 0001 です。 前者は恒久割り当ての (周知の) マルチキャスト・アドレスで,後者は非恒久割り当ての (一時的な) マルチキャスト・アドレスを示します。

スコープ

マルチキャスト・グループのスコープを示します。 Scope の値を,次の表に示します。

値 (16 進) スコープ
1 ノード・ローカル
2 リンク・ローカル
5 サイト・ローカル
8 組織ローカル
E グローバル

グループ ID

指定されたスコープ内のマルチキャスト・グループを識別します。

表 3-1は,周知のマルチキャスト・アドレスの例を示しています。

表 3-1:  周知のマルチキャスト・アドレス

マルチキャスト・アドレス 意味
FF02::1 全ノード (リンク・ローカル)
FF02::2 全ルータ (リンク・ローカル)
FF02::9 全 RIPng ルータ (リンク・ローカル)

3.3.3    アドレス・プレフィックス

各 IPv6 アドレスには,アドレス・タイプを示す固有のビット・パターンが先頭に付けられます。 このビット・パターンは,フォーマット・プレフィックス (または単に「プレフィックス」) と呼ばれます。 表 3-2 は,IPv6 アドレス・タイプをいくつかリストし,対応するプレフィックスを示しています。

表 3-2:  IPv6 アドレス・タイプとプレフィックス

アドレス・タイプ プレフィックス
集約可能グローバル・ユニキャスト 2000::/3
リンク・ローカル FE80::/10
サイト・ローカル FEC0::/10
マルチキャスト FF00::/8

3.3.4    アドレスの自動構成

IPv6 アドレスでの変更により,次のアドレス構成が定義されました。

ステートレス・モデルでは,ノードはルータ通知パケットをリッスンすることによって,アドレス・プレフィックスを得ます。 このプレフィックスと,データリンク固有のインタフェース識別子を結合して,アドレスが形成されます。 このインタフェース識別子は通常,インタフェースのデータリンク・アドレスから抽出されます。 このモデルは,アドレスの構成を厳密に制御する必要がない場合に適しています。 詳細については,RFC 2462 を参照してください。

DHCPv6 では,ホストは専用の構成サーバにアドレス,構成情報,およびサービスを要求することができます。 このモデルは,クライアント/サーバ・モデルでアドレスを割り当てる場合に適しています。 DHCPv6 Internet Draft は現在,改訂作業が進められています。 詳細については,http://www.ietf.org/html.charter/dhc-charters.html にある「Dynamic Host Configuration」Web ページを参照してください。

注意

現バージョンの Tru64 UNIX は DHCPv6 をサポートしていません。

どちらの方法でも,構成される各アドレスには存続期間が対応付けられています。 このためシステムは,期限の切れたアドレスを解放し,新しいアドレスを取得しなければなりません。 これらの自動構成に,更新後のアドレス情報を DNS (Domain Name System) サーバに登録する機能を付け加えれば,ネットワークの番号再割り当てが可能となり,ネットワーク上の各ホストに手作業で介入することなくネットワーク・アドレスの制御を行うことができます。

3.3.5    アドレス解決

DNS (Domain Name System) は,名前を IP アドレスにマッピングしたり,逆に IP アドレスを対応する名前にマッピングするサービスを提供します。 IPv6 でアドレスのサイズが大きくなったため,DNS には次の新しい機能が追加されました。

IPv6 環境で BIND を構成する際のガイドラインについては,『ネットワーク管理ガイド:サービス編』を参照してください。

3.3.6    アドレス割り当て

IPv6 アドレスは,世界各地の登録局で登録が受け付けられています。 IPv6 がすでに構成されているネットワークにシステムを接続すると,そのシステムには必要な IPv6 アドレスが自動的に設定されます。

運営するサイトで利用可能な IPv6 アドレスの範囲については,利用しているインターネット・サービス・プロバイダ (ISP) に問い合わせてください。 地域別の登録局とアドレスの割り当てについての詳細は,IANA の Web ページ (http://www.iana.org/ipaddress/ip-addresses.htm) を参照してください。

IPv6 RFC のさまざまな実装をテストするため,IETF は一時的な IPv6 アドレスの割り当てスキームを定義しました。 このスキームに従うと,6bone 上で IPv6 をテストするためのアドレスを,ホストやルータに割り当てることができます。 6bone によるアドレス割り当てについての詳細は,次の 6bone のホーム・ページを参照してください。

http://www.6bone.net

現在,6bone のテスト・アドレスは,集約可能グローバル・ユニキャスト・アドレスです。 6bone のアドレス割り当てについては,6bone サービス・プロバイダ (gw-6bone@pa.dec.com など) にお問い合わせください。

以降の項では,集約可能グローバル・ユニキャスト・アドレスと集約可能テスト・アドレスについて説明します。

3.3.6.1    集約可能グローバル・ユニキャスト・アドレス・フォーマット

IPv6 の集約可能グローバル・ユニキャスト・アドレス・フォーマットは,プロバイダ・ベースの現行の集約方式と,相互接続点ベースの新しい集約方式をサポートするように設計されています。 サイトがプロバイダと相互接続点のどちらに接続する場合でも,このアドレス・フォーマットによって,効率的な経路集約が可能です。 集約可能グローバル・ユニキャスト・アドレスのフォーマットを,次に示します。 詳細については,RFC 2374 を参照してください。

上記のアドレス・フォーマット内の各フィールドについて,次に説明します。

フォーマット・プレフィックス

フォーマット・プレフィックス。 集約可能グローバル・ユニキャスト・アドレスの場合,このフィールドの値は 001 です。

TLA ID

トップレベル集約識別子。

予約フィールド

将来使用するために予約されています。 現在は,すべてゼロ (0) が設定されます。

NLA ID

次レベル集約識別子。 TLA ID の管理者によって,アドレッシング階層の構築と,エンド・ユーザのサイトの識別のために割り当てられます。 TLA ID を割り当てられた各組織には,24 ビットの NLA ID 空間も割り当てられます。 この空間のレイアウトと使い方は,該当する組織が決めます。

SLA ID

サイト・レベル集約識別子。 エンド・ユーザのサイトで,独自のローカル・アドレッシング階層の構築とサブネットの識別のために使用されます。

インタフェース ID

リンクに接続されているインタフェースを識別する 64 ビットのインタフェース識別子。

3.3.6.2    集約可能テスト・アドレス・フォーマット

IPv6 のテスト用の集約可能グローバル・ユニキャスト・アドレスのフォーマットを,次に示します。 提案されているテスト用アドレス割り当て計画についての詳細は,RFC 2471 を参照してください。

上記のアドレス・フォーマット内の各フィールドについて,次に説明します。

001

集約可能グローバル・ユニキャスト・アドレスのフォーマット・プレフィックス。

1111111111110

6bone のトップレベル集約 (TLA: Top-Level Aggregation) 識別子 (0x1FFE)。 この識別子は IANA (Internet Assigned Numbers Naming Authority) によって予約されており,IPv6 のテスト用として一時的に使用されています。

NLA ID

次レベル集約識別子 (Next-Level Aggregation Identifier)。 6bone ネットワーク上にアドレッシング階層を構築し,エンド・ユーザのサイトを識別するために,TLA ID の管理者によって割り当てられる ID。

SLA ID

サイト・レベル集約識別子 (Site-Level Aggregation Identifier)。 独自のローカル・アドレッシング階層を構築し,サブネットを識別するために,エンド・ユーザのサイトによって割り当てられる ID。

インタフェース ID

リンクに接続されているインタフェースを識別する 64 ビットのインタフェース識別子。

TLA および NLA の割り当てに関する最新情報は,次の 6bone ホーム・ページを参照してください。

http://www.6bone.net

3.4    トンネルを用いた IPv6 の展開

インターネットと一般のネットワークは IPv4 の上に構築されているので,IPv6 のルーティング構造を徐々に構築する際には,IPv4 のルーティング構造を使用して IPv6 のトラフィックを運ぶ方法を知っておく必要があります。 IPv4 ルーティング構造を通して IPv6 トラフィックのルーティングを行う場合の最適なメカニズムは,トンネリングです。 サポートされているトンネルのタイプは次のとおりです。

次に,各トンネルとその長所と短所について説明します。 トンネルが強力であるほど,構成と管理の作業量が増えます。 トンネルについての追加情報は,次の場所にある『ネットワークへの IPv6 の導入』Best Practice にも記載されています。

http://h30097.www3.hp.com/docs/best_practices/

3.4.1    自動トンネル

IPv6 自動トンネルは,構成と実施が最も簡単なトンネルです。 このメカニズムにより,グローバル IPv4 アドレスを持つホストは,自動的に IPv4 ネットワーク上にトンネルを作成できるようになります。 トンネルは仮想インタフェース (tun0) として作成され,IPv4 アドレスから生成された IPv4 互換 IPv6 アドレスによって構成されます。 パケットの宛先アドレスはトンネルの終端の宛先を指定します。 IPv4 互換 IPv6 アドレスについては,3.3.2.1 項 を参照してください。

このメカニズムは,ホストを IPv6 に移行する際に適した方法です。 アプリケーションの移植,テスト,実験を IPv6 プロトコルで行えるためです。 ただし,自動トンネルには次のような制限があります。

3.4.2    6to4 トンネル

6to4 トンネルは自動トンネルの一種ですが,接続性が高くなっています。 このメカニズムを使用すると,6to4 サイトと呼ばれる特別な IPv6 サイトが,グローバル IPv4 アドレスを 1 つ使用して,IPv4 ネットワークを通してトンネルを作成して他の 6to4 サイトと通信できるようになります。 トンネルは,IPv4 ネットワーク接続ポイントのノード上の仮想インタフェース (tun1) として作成されます。 このノードは個別のホストでも,Border Router と呼ばれるルータでもかまいません。 このトンネルは,IPv4 アドレスから生成された特別な 6to4 アドレスで構成されます。 パケットの宛先アドレスはトンネルの終端の宛先を指定します。

6to4 サイトの内部では,Border Router はグローバル IPv4 アドレスから 6to4 サイト・プレフィックスを作成し,そのプレフィックスを 6to4 サイト内の全ノードに公開します。 各ノードは 6to4 プレフィックスに基づいて自動的に 6to4 アドレスを構成します。 特別な構成は不要です。 6to4 サイト内のノードは,ネイティブの IPv6 を用いてお互いに通信します。 サイトの外に向けられたトラフィックはすべて,Border Router に転送されます。

このメカニズムは構成が簡単で,生産環境に採用できます。 ただし,6to4 トンネルには次のような制限があります。

3.4.3    構成済みトンネル

構成済みトンネルは,構成と実施が最も複雑なトンネルです。 構成済みトンネルには次の 2 種類があります。

構成済みトンネルは仮想インタフェース (iptx) として作成され,IPv4 アドレス (IPv4 構成済みトンネルの場合) または IPv6 (IPv6 構成済みトンネルの場合) を,終端の送信元および宛先として使用します。 いずれかの構成済みトンネルを通して IPv6 トラフィックを伝送する場合,IPv6 アドレスをトンネル・インタフェース上に構成します。 いずれかの構成済みトンネルを通して IPv4 トラフィックを伝送する場合,IPv4 アドレスをトンネル・インタフェース上に構成します。

このメカニズムは最も強力なトンネリングですが,次のような制限があります。

3.5    IPv6 の環境

この節では,IPv6 のいくつかの構成例を紹介します。 IPv6 を構成しようとしているシステムの環境に最も近い構成を選んでください。 これらの構成例は,3.6 節でも,選択されたシステムを各構成に従って設定する方法を説明する際に使用します。 構成例に含まれる IPv6 のグローバル・アドレスやアドレス・プレフィックスには,3.3.6.2 項で説明したフォーマットを使用しています。

IPv6 は LAN と PPP ネットワークのインタフェースでサポートされます。 IPv6 環境でサポートされているコマンドとデーモンについては,『Tru64 UNIX 概要』のリストを参照してください。

図 3-2 は,ホスト A とホスト B が IPv6 で通信を行うシンプルな LAN 構成を示しています。

図 3-2:  シンプルなホスト対ホスト構成

図 3-3 は,ホスト A,ホスト B,およびルータ A が IPv6 で通信を行うシンプルな LAN 構成を示しています。 ホスト A とホスト B は,ルータ A からグローバル・アドレスを取得します。

図 3-3:  ホスト対ホスト構成 (ルータあり)

図 3-4 は,2 つの IPv6 ネットワークを 1 台の IPv6 ルータ (ルータ A) を通して接続した構成を示しています。

図 3-4:  IPv6 ネットワーク対 IPv6 ネットワーク構成 (ルータあり)

図 3-5 は,4 つの IPv6 ネットワークを 3 台のルータで接続した構成を示しています。 3 台のルータは,RIPng プロトコルを使用して,ルーティング情報を交換します。

図 3-5:  複数の IPv6 ネットワークと複数のルータがある構成

図 3-6 は,1 つの IPv4 ネットワークに接続されたホスト A とホスト B が,IPv4 の構成済みトンネルを通して IPv6 で通信する構成を示しています。

図 3-6:  ホスト対ホスト構成 (構成済みトンネルあり)

図 3-7 は,ホスト X が IPv4 ネットワークに接続されており,1 台の IPv6 ルータ (ルータ A) が同じ IPv4 ネットワークと 2 つの IPv6 ネットワークに接続されている構成を示しています。 ホスト X は,ホスト X と ルータ A との間の IPv4 構成済みトンネルを通して,IPv6 でホスト B と通信します。

図 3-7:  ホスト対ルータ構成 (トンネリングあり)

図 3-8 は,4 つの IPv6 ネットワークが 2 台のルータと IPv4 ネットワークを介して接続されている構成を示しています。 ホスト A は,ルータ A とルータ B との間の IPv4 構成済みトンネルを通してホスト F と通信します。

図 3-8:  IPv6 ネットワーク対 IPv6 ネットワーク構成 (構成済みトンネルあり)

図 3-9 は,ホスト E が IPv4 ネットワークに接続され,ルータ B (IPv6 ルータ) が同じ IPv4 ネットワークに接続され,また同時に 2 つの IPv6 ネットワークにも接続されている構成を示しています。 ホスト E は,ホスト E とルータ B の間の 6to4 トンネルを通してホスト B と通信します。

図 3-9:  6to4 構成

3.6    IPv6 のプランニング

IPv6 はどのようなノードにも構成できます。 クラスタ構成では,クラスタ内の各メンバに個別に IPv6 を構成することが可能です。

注意

IPv6 はクラスタ全体の通信ではサポートされていないため,IPv6 のアドレスをクラスタ別名に使用することはできません。 クラスタの構成については,『クラスタ管理ガイド』を参照してください。

この節では,IPv6 を構成する前に行う必要がある作業について説明します。

3.6.1    カーネル内の IPv6 サポートの確認

IPv6 (IPV6) と IP-in-IP トンネリング (IPTUNNEL) のサポートがカーネル内にあることを,次のコマンドを実行して確認します。

# sysconfig -q ipv6
# sysconfig -q iptunnel

サブシステム属性の ipv6: または iptunnel: が表示されない場合には,次の手順を実行します。

  1. 次のコマンドで新しいカーネルを構築します。

    # doconfig -c SYSTEM_NAME
    

    IPV6 オプションと IPTUNNEL オプション,およびその他の必要なオプションを選択します。

  2. 元のカーネルを保存し,新しいカーネルを root ディレクトリに移動します。

    # mv /vmunix /vmunix.save
    # mv /sys/SYSTEM_NAME/vmunix /vmunix
    

  3. システムをリブートします。 リブートする際には,システムに他のユーザがいないことを確認してください。 次のようなコマンドを使用します。

    # shutdown -r +5 "Adding IPv6 and IPTUNNEL kernel options ..."
    

以上の手順が完了すると,IPv6 ネットワーク環境で通信できるようにシステムを構成する準備が整います。

3.6.2    構成の準備

IPv6 がカーネルでサポートされていることを確認した後,IPv6 構成ユーティリティ (ip6_setup) を実行して,システムを IPv6 ネットワーク環境で通信できるように構成します。 ip6_setup ユーティリティでは,次のシステムを構成できます。

ip6_setup 構成ユーティリティは,起動後にシステムの情報を収集し,その他の構成情報の入力を求めます。

IPv6 ネットワーク・ソフトウェアの構成を行う前に,システムおよびネットワーク環境の情報を収集しておかなければなりません。 IPv6 構成のワークシートを,図 3-10 および 図 3-11 に示します。 以降の項では,このワークシートに記録する必要のある情報について説明します。 本書をオンラインで参照している場合は,印刷機能を使用するとワークシートのコピーを印刷できます。

図 3-10:  IPv6 構成ワークシート 1

図 3-11:  IPv6 構成ワークシート 2

IPv6 ルータ

システムを IPv6 ルータとして構成する場合は Yes をチェックします。 ルータとしない場合は,No をチェックします。 No をチェックすると,システムは IPv6 ホストとして構成されます。

IPv6 ルータは,LAN や構成済みのトンネルなど,接続されているリンク上の全ホストにアドレス・プレフィックスを通知し,パケットを宛先に転送できます。 パケットはリンク上で直接転送することも,IPv4 トンネルを通して転送することも可能です。

DNS/BIND 自動更新 (ホストのみ)

システムのアドレスを DNS/BIND データベースに自動的に記録する場合には Yes,自動記録が不要であれば No をチェックします。 Yes をチェックした場合には,システムを DNS/BIND クライアントとして構成しなければならず,DNS/BIND サーバは DNS データベースの動的更新をサポートしていなければなりません。 DNS/BIND サーバの構成方法については,『ネットワーク管理ガイド:サービス編』を参照してください。

IPv6 インタフェース

IPv6 ネットワークへのネットワーク・インタフェースとして使用するデバイスの名前 (le0fta0 など) を入力します。 構成済みトンネルをシステムに作成するだけの場合は,none と入力します。

PPP 上の IPv6 ルーティング (ルータのみ)

PPP インタフェース上で IPv6 ルーティングを使用する場合には Yes,使用しない場合は No をチェックします。 PPP インタフェースの構成については, ppp_manual_setup(7) を参照してください。

6to4 トンネル

6to4 トンネル上で IPv6 を使用する場合には Yes,使用しない場合は No をチェックします。 1 本の 6to4 トンネルは,IPv4 ネットワーク内に送信元を 1 箇所と宛先を 1 箇所持ちます。

構成済みトンネル

構成済みの IPv4 トンネル上で IPv6 を使用する場合には Yes,使用しない場合は No をチェックします。 1 本の構成済みの IPv4 トンネルは,IPv4 ネットワーク内に送信元を 1 箇所と宛先を 1 箇所持ちます。 自動トンネルではなく構成済みトンネルを使用してください。 構成済みトンネルを複数定義することもできます。

自動トンネル

IPv4 自動トンネル上で IPv6 を使用する場合には Yes,使用しない場合は No をチェックします。

注意

自動トンネルは,今後廃止される可能性があるので,使用しないでください。

手動経路

他のシステムへの経路を手動構成する場合は Yes,手動構成しない場合は No をチェックします。

ルータ上では,次の条件のいずれかが満たされる場合に静的経路を構成できます。

ホスト上では,ルータとの間で構成済みトンネルを使用し,そのルータが自分をトンネル・リンク上の省略時のルータとして通知しない場合に静的経路を構成できます。

IPv6 の開始

IPv6 を ip6_setup 構成ユーティリティから直接開始する場合には Yes,システムの次回のブート時に開始する場合は No をチェックします。

3.6.2.1    DNS/BIND

ドメイン名

ノードの完全修飾ドメイン名。 完全修飾ドメイン名は,ホスト名と DNS/BIND ドメイン名からなります (host1.subdomain.example など)。

3.6.2.2    6to4 トンネル

ホスト・アドレス

ノードの名前または IP アドレス (トンネルの終端)。

サイト・プレフィックス

ip6_setup ユーティリティは,48 ビットの 6to4 サイト・プレフィックスを自動的に生成します。

アドレス・プレフィックス (ホストのみ)

システムが IPv6 ホストの場合は,6to4 トンネル・インタフェースに構成する,64 ビットの 6to4 プレフィックスを入力します。 アドレス・プレフィックスの上位 48 ビットは,ip6_setup ユーティリティが生成するサイト・プレフィックスと同じでなければなりません。

リレー・ルータ・アドレス

IPv6 のみのネットワークで通信を行う場合は,リレー・ルータの 6to4 アドレスを入力します。

3.6.2.3    構成済みトンネル

タイプ

構成済みトンネルのタイプ。 有効なタイプは IPv4 と IPv6 です。

インタフェース

構成済みトンネル・インタフェースの名前 (ipt0ipt1 など)。 この値は,ip6_setup スクリプトが設定します。

宛先アドレス

リモート・ノードの IP アドレス (トンネルの相手側の端)。

発信元アドレス

ご使用のノードの IP アドレス (トンネルの自分側の端)。

RIPng

システムがルータであり,そのルータがトンネル・リンク上で RIPng プロトコルを使用して IPv6 ルーティング情報をトンネルのリモート側のルータと交換する場合は Yes,この条件に該当しない場合は No をチェックします。

アドレス・プレフィックス

システムがルータであり,トンネルのリモート側ノードにアドレス・プレフィックスを通知する場合は 64 ビットのプレフィックスを入力し,この通知を行わない場合は Done と入力します。

システムが IPv6 ホストであり,トンネルのリモート側ルータからアドレス・プレフィックスが通知されない場合には,このトンネル・インタフェース上に構成する 64 ビットのプレフィックスを入力します。

3.6.2.4    ルータ

インタフェース

RIPng プロトコルを使用したり,アドレス・プレフィックスを通知するインタフェース (LAN や PPP,構成済みトンネルなど) の名前。

RIPng

指定されたインタフェースでルータが RIPng プロトコルを使用し,リンク (LAN,PPP,構成済みトンネルなどの) 上で他のルータと IPv6 ルーティング情報を交換する場合は Yes,この条件に該当しない場合は No をチェックします。

アドレス・プレフィックス

リンク上のすべてのホストにアドレス・プレフィックスを通知する場合は 64 ビットのプレフィックスを入力し,アドレス・プレフィックスを通知しない場合は Done と入力します。

Done と入力すると,ルータによるアドレス・プレフィックスの通知が行われないため,各ホストは自分のプレフィックス情報を別のソースから取得する必要があります。

IPv6 のプレフィックスはサブネットを定義します。 このプレフィックスは通常,ネットワーク管理者によって,特定リンク用としてルータ上に構成されます。 ルータは,構成されたプレフィックスを,そのリンクに接続されている全ノードに通知します。 プレフィックスを通知する際には,プレフィックスの長さ,このプレフィックスがリンク上に存在するかどうか (近隣であるかどうか),ステートレス・アドレス構成で使用できるかどうか,およびプレフィックスの有効時間もあわせて通知されます。

3.6.2.5    手動経路

宛先プレフィックス

リモート IPv6 ネットワークのアドレス・プレフィックス。 このアドレス・プレフィックスには,CIDR (Classless Inter-Domain Routing) スタイルのビット長情報が含まれています (例: 5F00::/8)。 省略時の経路を使用する場合には,Default と入力します。

インタフェース

リモート IPv6 ネットワークへのトラフィック送信に使用するインタフェースの名前。

次のホップ・アドレス

宛先プレフィックスへのパス上に存在する最初のルータの IPv6 アドレス。 そのルータのリンク・ローカル・アドレスを入力します。 そのルータへのコネクションが IPv4 トンネル上にある場合には,トンネルのリモート側のリンク・ローカル IPv6 アドレスを入力します。

3.6.3    IPv6 構成例のシステムの構成

この項では,3.5 節で紹介した各構成例について説明し,それぞれの例でのシステムの構成方法を示します。 また,特定の構成で利用可能な選択肢を紹介する場合もあります。

3.6.3.1    シンプルなホスト対ホスト構成

図 3-2 のホスト A と ホスト B は,IPv6 リンク・ローカル・アドレスを使用します。 特に指定しないかぎり,ip6_setup 構成ユーティリティは,システムのリンク・ローカル・アドレスを自動的に作成します。 ホスト A の構成ワークシートの記入例を次に示します。

ホスト A で IPv6 を構成した後,/etc/ipnodes ファイルを編集して,ホスト B のリンク・ローカル・アドレスをファイル内に記述します。 ホスト B は,ホスト A とほぼ同じ手順で構成できます。

この構成では,グローバル・アドレス・プレフィックスは LAN 上で通知されません。 グローバル・アドレス・プレフィックスの通知を行うには,ip6_setup ユーティリティでいずれかのノードをルータとして構成するか,LAN 構成に IPv6 ルータを追加します。 IPv6 ルータは,リンク上でグローバル・アドレス・プレフィックスを通知します。

ローカル・ノードのリンク・ローカル・アドレスとグローバル・アドレスは,netstat -in コマンドを使用すれば参照できます。

ホスト A で telnet コマンドを使ってホスト B に接続するには,コマンドを次のように実行します。

# telnet fe80::0a00:2bff:fee2:1e11

リンク・ローカル・アドレスを指定する代わりに,アドレスとノード名を /etc/ipnodes ファイルに記述する方法もあります。 この場合,telnet コマンドの引数には,ノード名を指定します。

3.6.3.2    ホスト対ホスト構成 (ルータあり)

図 3-3 では,ホスト A とホスト B がルータ A とともに LAN 上に配置されています。 この場合,ルータ A が LAN 上でグローバル・アドレス・プレフィックス (3ffe:1200:4112:1::/64) を通知します。 ホスト A とホスト B は,このアドレス・プレフィックスを使用して,グローバル IPv6 アドレスを作成します。 テスト用のアドレスの取得方法については,3.3.6 項を参照してください。 ルータ A の構成ワークシートの記入例を次に示します。

ルータ A で IPv6 を構成した後,/etc/ipnodes ファイルを編集して,他のノードのグローバル・アドレスをファイル内に追加します。 この作業を,ホスト A とホスト B でも行います。 代わりにグローバル・アドレスを使用して,ネットワーク内に DNS/BIND を確立することも可能です。

動的更新を使用可能にした DNS/BIND サーバをネットワークに追加した場合,ホスト A の構成ワークシートは次のようになります。

3.6.3.3    IPv6 ネットワーク対 IPv6 ネットワーク構成 (ルータあり)

図 3-4 では,ルータ A とその複数のインタフェースを介して,2 つの IPv6 ネットワークが相互に接続されています。 ルータ A の構成ワークシートの記入例を次に示します。

3.6.3.4    複数の IPv6 ネットワークと複数のルータがある構成

図 3-5 では,4 つの IPv6 ネットワークが 3 台のルータを介して相互接続されています。 この構成では,ネットワーク内の他のサブネットへのルートについての情報を得るため,ルータはルーティング情報を交換しなければなりません。 この交換を行うには,各ルータで RIPng プロトコルを使用しなければなりません。 ルータ A の構成ワークシートの記入例を次に示します。

他のルータの構成ワークシートもほぼ同じです。

3.6.3.5    ホスト対ホスト構成 (IPv4 構成済みトンネルあり)

図 3-6 では,2 つの IPv6 システムが構成済みトンネルを通じて,IPv4 ネットワーク越しに相互通信を行います。 これらのシステムは IPv6 リンク・ローカル・アドレスを使用します。 ホスト A の構成ワークシートの記入例を次に示します。

ホスト A で IPv6 を構成した後,/etc/ipnodes ファイルを編集して,ホスト B のリンク・ローカル・アドレスをファイル内に追加します。 ホスト B は,ホスト A とほぼ同じ手順で構成できます。

この構成では,グローバル・アドレス・プレフィックスはトンネル上で通知されません。 グローバル・アドレス・プレフィックスの通知を行うには,ip6_setup でいずれかのノードをルータとして構成します。 IPv6 ルータは,リンク上でグローバル・アドレス・プレフィックスを通知します。

ローカル・ノードのリンク・ローカル・アドレスとグローバル・アドレスは,netstat -in コマンドを使用すれば参照できます。

ホスト A で telnet コマンドを使ってホスト B に接続するには,コマンドを次のように実行します。

# telnet fe80::5.6.7.8

リンク・ローカル・アドレスを指定する代わりに,アドレスとノード名を /etc/ipnodes ファイルに記述する方法もあります。 この場合,telnet コマンドの引数には,ノード名を指定します。

3.6.3.6    ホスト対ルータ構成 (IPv4 構成済みトンネルあり)

図 3-7 では,ホスト X が構成済みトンネルを介して IPv4 ネットワーク越しにホスト B と通信を行います。 どちらのノードも IPv6 アドレスを使用します。 この場合のトンネルは,ホスト X とルータ A との間に存在します。 ルータ A が自分をトンネル・リンクの省略時のルータとして通知し,トンネル・リンク上でグローバル・アドレス・プレフィックスを通知する場合の,ホスト X の構成ワークシートの記入例を次に示します。

ルータ A がトンネル・リンクでグローバル・アドレス・プレフィックスを通知しない場合,ホスト X の構成ワークシートの「構成済みトンネル」セクションにある「アドレス・プレフィックス」フィールドの値は 3ffe:1200:4113:1::/64 になります。 また,ルータ A が自分をトンネル・リンクの省略時ルータとして通知しない場合,ホスト X の構成ワークシートに次の情報も記入します。

ルータ A がトンネル・リンク上でグローバル・アドレス・プレフィックスを通知する場合の,ルータ A の構成ワークシートの記入例を次に示します。

ルータ A がトンネル・リンク上でグローバル・プレフィックスを通知しない場合には,ルータ A の構成ワークシートの情報は次のようになります。 ホスト X への「手動経路」に注意してください。 宛先のネットワーク・プレフィックスを指定する代わりに,ホスト X へのホスト経路 (3ffe:1200:4113:1::5.6.7.8) を指定します。 ホスト X のトンネル・インタフェースのリンク・ローカル IPv6 アドレス (fe80::5.6.7.8) が次のホップになります。

3.6.3.7    IPv6 ネットワーク対 IPv6 ネットワーク構成 (IPv4 構成済みトンネルあり)

図 3-8 のホスト A は,1 本の構成済みトンネルを介して IPv4 ネットワーク越しにホスト F と通信します。 ホスト構成は,3.6.3.1 項のホスト A に似ています。 各ノードは,他のネットワーク上のノードとの通信で,自動的に省略時のルータを使用します。 ルータ A の構成ワークシートの記入例を次に示します。

tu0 インタフェースと tu1 インタフェースにはルータが接続されていないため,これらのインタフェースで RIPng を使用する必要はありません。

ルータ B の構成も同様です。 ただし,構成済みトンネルの送信元アドレスは 5.6.7.8,宛先アドレスは 1.2.3.4 になり,tu0tu1 上で通知されるアドレス・プレフィックスはそれぞれ 3ffe:1200:4113:1::/643ffe:1200:4113:2::/64 になります。

注意

トンネル・インタフェースで RIPng を使用するようにルータを構成していない場合には,各ルータ間の経路を手動で指定する必要があります。

3.6.3.8    6to4 トンネルの構成

図 3-9 では,6to4 サイト内のノードはホスト E のみです。 このノードは,6to4 トンネルを用いて IPv4 ネットワークを通してホスト B と通信を行います。 どちらのノードも IPv6 の 6to4 アドレスを使用します。 この場合,トンネルはホスト E とルータ B の間にあります。 ホスト E の物理インタフェースは IPv4 ネットワークに接続されているため,ホスト E の物理インタフェースには IPv6 は構成されていません。 ただし,IPv6 は 6to4 トンネルに構成されています。 ホスト E のワークシートの記入例を次に示します。

ルータ B は他の 6to4 サイトに対する Border Router で,そのサイトの IPv6 ルータでもあります。 ルータ B は各サブネットの 6to4 プレフィックスを公開しています。 各 6to4 プレフィックスの上位 48 ビットは,6to4 サイト・プレフィックスと同じでなければなりません。 ルータ B のワークシートの記入例を次に示します。

ホスト B のワークシートの記入例を次に示します。 ルータ B は 6to4 アドレス・プレフィックスをサブネット上に公開しているので,ホスト B はサイトに参加する際に,自分の 6to4 アドレスを自動的に設定します。 6to4 トンネルのインタフェースを構成する必要はありません。

3.7    システム上での IPv6 の構成

この節では,システムを IPv6 ホストまたは IPv6 ルータとして構成する方法を説明します。 始める前に,構成ワークシートの記入が終っていることを確認してください。

IPv6 は,/usr/sbin/ip6_setup ユーティリティを実行して構成します。 このユーティリティは,IPv6 の通信に使用するインタフェースと接続のタイプを定義し,システム・ファイルを更新して IPv6 の動作ができるようにします。 構成は,準備を除いて 10 分以内に終ります。

この項の説明の見方を,次に示します。

()

この手順での省略時の応答は [ ] で囲まれています。 [Enter] キーを押すと省略時の値が使用されます。

3.7.1 項 では,5 つのインタフェースを持つ IPv6 ホストの構成を説明します。 インタフェースには,物理インタフェース (le0),6to4 インタフェース (tun1),IPv6 over IPv4 トンネル (ipt0),IPv6 over IPv6 トンネル (ipt1),自動トンネル (tun0) があります。 le0 には手動経路が構成されています。

3.7.2 項 では,6 つのインタフェースを持つ IPv6 ルータの構成を説明します。 インタフェースには,物理インタフェース (le0),ポイント・ツー・ポイントのインタフェース (ppp0),6to4 インタフェース (tun1),IPv6 over IPv4 トンネル (ipt0),IPv6 over IPv6 トンネル (ipt1),自動トンネル (tun0) があります。 le0 では,RIPng が起動され,手動経路が構成され,アドレス・プレフィックスが公開されています。 ppp0 では,RIPng が起動され,アドレス・プレフィックスが公開されています。 ipt0 および ipt1 では,RIPng が起動され,アドレス・プレフィックスが公開されています。

(このページは強制的に改ページしています。)

3.7.1    IPv6 ホストの構成

# /usr/sbin/ip6_setup[Enter]
 
This utility will gather some IPv4 information from your system
then prompt you for IPv6 related information.  You may enter a
question mark (?) at any question for further explanation.
 
Do you want to enable IPv6 in inetd services on this system? [Yes]: [Enter]
 
Do you want to configure this system as an IPv6 router? [No]: [Enter]
[脚注 2]
Do you want to enable dynamic updates of IPv6 addresses in the DNS/BIND namespace? [No]:
[脚注 3]
Enter the fully qualified domain name for IPv6? [host1.corp.com]: [Enter]  
 
[脚注 4]
Do you want to configure a 6to4 interface? [no]: y [Enter]
[脚注 5]
The 6to4 tunnel will be created as tun1
 
Enter this node's hostname or IPv4 address to use when generating your site's
6to4 prefix [16.140.64.103]: [Enter]
[脚注 6]
Your 6to4 site prefix is:
                2002:108c:4067::/48
PLEASE SAVE THIS INFORMATION TO CONFIGURE YOUR 6TO4 SITE.
 
Enter the address prefix to use on tun1 ? [2002:108c:4067::/64]: [Enter]
[脚注 7]
 
Enter the hostname or 6to4 address of a 6to4 Relay Router? [2002:c058:6301::]: [Enter]
[脚注 8]
6to4 interface configuration completed.
 
Enter the IPv6 LAN interfaces? [ le0 ]: [Enter]
[脚注 9]
 
 
Do you wish to define IPv6 over IPv4 configured tunnels? [No]  y [Enter]
[脚注 10]
Enter the destination hostname or IPv4 address of tunnel ipt0? [No Default]: 16.140.64.142 [Enter]
[脚注 11]
Enter the source hostname or IPv4 address of tunnel ipt0? [16.140.64.103]: [Enter]
[脚注 12]
Enter an address prefix to use on ipt0? [Done]: [Enter]
[脚注 13]
Enter the destination hostname or IPv6 address of tunnel ipt1? [Done]: [Enter]
 
Do you wish to define IPv6 over IPv6 configured tunnels? [No]  y [Enter]
[脚注 14]
 
 
Enter the destination hostname or IPv6 address of tunnel ipt1? [No Default]: 3ffe::2 [Enter]
[脚注 15]
Enter the source hostname or IPv6 address of tunnel ipt1? [No Default]: 3ffe::1 [Enter]
[脚注 16]
Enter an address prefix to use on ipt1? [Done]: [Enter]
[脚注 17]
Enter the destination hostname or IPv6 address of tunnel ipt2? [Done]: [Enter]
Do you want to configure an IPv6 over IPv4 automatic tunnel interface? [no] y [Enter]
[脚注 18]
The automatic tunnel will be created as tun0
 
Enter this node's hostname or IPv4 address to use when creating your automatic
tunnel [16.140.64.103]: y [Enter]
[脚注 19]
Do you wish to define manual IPv6 routes? [No] y [Enter]
[脚注 20]
Enter the destination network address prefix? []: 5f02:2::/32 [Enter]
[脚注 21]
Enter interface to use when forwarding messages? [le0]: y [Enter]
[脚注 22]
 
Enter the next node's IPv6 address: [No Default]: 3ffe::5 [Enter]
[脚注 23]
Enter the destination network address prefix? [Done]: [Enter]
 
You configured this node as a Host with the following
[脚注 24]
Interfaces:
    tun1   6to4 Tunneling Enabled using 16.140.64.103
           Prefix 2002:108c:4067::/64
           Relay Router 2002:c058:6301::
    le0    Dynamic Address Configuration Enabled
    ipt0   Dynamic Address Configuration Enabled
           Tunnel Source 16.140.64.103
           Tunnel Destination 16.140.64.142
    ipt1   Dynamic Address Configuration Enabled
           Tunnel Source 3ffe::1
           Tunnel Destination 3ffe::2
    tun0   Automatic Tunneling Enabled using 16.140.64.103
 
Manual Routes:
   5f02:2::/32                  le0     3ffe::5 (G)
 
Do you wish to update the IPv6 startup procedures with this 
configuration? [No Default]  y  [Enter]
 
Do you want to start IPv6? [Yes]: [Enter]
[脚注 25]
 

3.7.2    IPv6 ルータの構成

# /usr/sbin/ip6_setup [Enter]
 
This utility will gather some IPv4 information from your system
then prompt you for IPv6 related information.  You may enter a
question mark (?) at any question for further explanation.
 
Do you want to enable IPv6 in inetd services on this system? [Yes]: [Enter]
 
Do you want to configure this system as an IPv6 router? [No]: y [Enter]
[脚注 26]
Do you want to configure a 6to4 interface? [no]: y [Enter]
[脚注 27]
The 6to4 tunnel will be created as tun1
 
Enter this node's hostname or IPv4 address to use when generating your site's
6to4 prefix [16.140.64.103]: [Enter]
[脚注 28]
Your 6to4 site prefix is:
                2002:108c:4067::/48
PLEASE SAVE THIS INFORMATION TO CONFIGURE YOUR 6TO4 SITE.
 
Enter the hostname or 6to4 address of a 6to4 Relay Router? [2002:c058:6301::]: [Enter]
[脚注 29]
6to4 interface configuration completed.
 
Enter the IPv6 LAN interfaces? [ le0 ]: [Enter]
[脚注 30]
 
 
Do you want to enable RIPng on interface le0? [Yes]: [Enter]
[脚注 31]
 
 
 
Enter an address prefix to advertise on le0? [No Default]: 5f02:2::/64 [Enter]
[脚注 32]
Enter an address prefix to advertise on le0? [Done]:  [Enter]
 
Do you wish to configure IPv6 routing over any PPP links? [No] y [Enter]
[脚注 33]
Enter a PPP interface name? [ppp0]: [Enter]
[脚注 34]
Do you want to enable RIPng on interface ppp0? [Yes]: [Enter]
[脚注 35]
Enter an address prefix to advertise on ppp0? [No Default]: 5f03:3::/64 [Enter]
[脚注 36]
Enter an address prefix to advertise on ppp0? [Done]: [Enter]
 
Enter a PPP interface name? [Done]: [Enter]
 
Do you wish to define IPv6 over IPv4 configured tunnels? [No] [Enter]
[脚注 37]
 
 
 
 
 
 
 
 
Enter the destination hostname or IPv4 address of tunnel ipt0? [No Default]: 16.140.64.142 [Enter]
[脚注 38]
Enter the source hostname or IPv4 address of tunnel ipt0? [16.140.64.103]: [Enter]
[脚注 39]
Do you want to enable RIPng on interface ipt0? [Yes]: [Enter]
[脚注 40]
Enter an address prefix to advertise on ipt0? [Done]: aaa::/64 [Enter]
[脚注 41]
 
 
Enter an address prefix to advertise on ipt0? [Done]: [Enter]
 
Enter the destination hostname or IPv4 address of tunnel ipt1? [Done]: [Enter]
 
Do you wish to define IPv6 over IPv6 configured tunnels? [No] y [Enter]
[脚注 42]
Enter the destination hostname or IPv6 address of tunnel ipt1? [No Default]: 3ffe::2 [Enter]
[脚注 43]
Enter the source hostname or IPv6 address of tunnel ipt1? [No Default]: 3ffe::1 [Enter]
[脚注 44]
Do you want to enable RIPng on interface ipt1? [Yes]: [Enter]
[脚注 45]
 
Enter an address prefix to advertise on ipt1? [Done]: bbbb::/64 [Enter]
[脚注 46]
Enter an address prefix to advertise on ipt1? [Done]: [Enter]
 
Enter the destination hostname or IPv6 address of tunnel ipt2? [Done]: [Enter]
 
Do you want to configure an IPv6 over IPv4 automatic tunnel interface? [no] [Enter]
[脚注 47]
Enter this node's hostname or IPv4 address to use when creating your automatic
tunnel [16.140.64.103]: [Enter]
[脚注 48]
Do you wish to define manual IPv6 routes? [No] y [Enter]
[脚注 49]
Enter the destination network address prefix? []: 5f02:2::/64 [Enter]
[脚注 50]
Enter interface to use when forwarding messages? [le0]: [Enter]
[脚注 51]
 
 
Enter the next node's IPv6 address: [No Default]: 3ffe::5 [Enter]
[脚注 52]
Enter the destination network address prefix? [Done]: [Enter]
 
You configured this node as a Router with the following
[脚注 53]
Interfaces:
    tun1   6to4 Tunneling Enabled using 16.140.64.103
           Prefix 2002:108c:4067::/64
           Relay Router 2002:c058:6301::
    le0    RIP Enabled
           Prefix 5f02:2::/64
    ppp0   RIP Enabled
           Prefix 5f03:3::/64
    ipt0   RIP Enabled
           Tunnel Source 16.140.64.103
           Tunnel Destination 16.140.64.142
           Prefix aaaa::/64
    ipt1   RIP Enabled
           Tunnel Source 3ffe::1
           Tunnel Destination 3ffe::2
           Prefix bbbb::/64
    tun0   Automatic Tunneling Enabled using 16.140.64.103
 
Manual Routes:
    5f02:2::/64                 le0     3ffe::5 (G)
 
Do you wish to update the IPv6 startup procedures with this 
configuration? [No Default] y  [Enter]
 
Do you want to start IPv6? [Yes]: [Enter]
[脚注 54]
 

3.8    構成後の作業

ip6_setup ユーティリティによる IPv6 の初期構成が完了したら,必要に応じて次の作業を実行します。

以降の項では,これらの各作業について説明します。

3.8.1    6bone ネットワークへの接続

6bone ネットワークに接続するには,インターネット接続に通常使用している IPv4 パスに近い,適切な 6bone 接続ポイントを選択します。 6bone の Web サイト (http://www.6bone.net) には,6bone ネットワークへの加入方法と接続ポイントの見つけ方に関する情報が掲載されています。

たとえば,Compaq の Palo Alto サイト (米国カリフォルニア州) を経由して 6bone ネットワークに接続するには,ホストやルータ上の IPv6 の構成前または構成後に,次の手順を実行します。

  1. ルータの IPv4 アドレスを次のアドレスに送信し,IPv4 トンネルを登録します。

    gw-6bone@pa.dec.com
     
    

  2. このトンネルのサポートが構成された旨を通知する HP からの返信を待ちます。 ユーザのサイトで使用する IPv6 グローバル・アドレス・プレフィックスと,HP の Palo Alto のルータの IPv4 アドレスが HP から提供されます。

  3. ip6_setup ユーティリティを実行してトンネルを構成します。 ホストの構成については 3.7.1 項,ルータの構成については 3.7.2 項を参照してください。 または,iptunnel コマンドを実行することもできます (3.8.4 項 を参照)。

  4. 次のいずれかの HP の IPv6 ノードに対して ping コマンドを実行し,トンネルが正しく機能しているかどうかを確認します。

    altavista.ipv6.digital.com
    ftp.ipv6.digital.com
    www.ipv6.digital.com
    

3.8.2    IPv6 用の新しいインタフェースの初期化

システムに新しいインタフェース・カードを追加したり,他の種類のインタフェース・カードと交換した場合には,装着した新しいカードを IPv6 用に初期化しなければなりません。 インタフェースを初期化するには,ifconfig コマンドを次の構文で使用します。

ifconfig device ipv6 up

LAN インタフェースの場合,ifconfig コマンドはリンク・ローカル・アドレス (FE80::) を生成し,重複アドレスの検出処理を開始します。

たとえば,イーサネット・インタフェース ee0 を IPv6 用に初期化するには,次のコマンドを実行します。

# ifconfig ee0 ipv6 up

ループバック・インタフェースを IPv6 用に初期化するには,次のコマンドを実行します。

# ifconfig lo0 ipv6 up

自動トンネル・インタフェースを初期化するには,次のコマンドを実行します。

# ifconfig tun0 ipv6 up

このコマンドを実行すると,システムのいずれかの IPv4 アドレスがトンネルの端点として選択されます。

新しいインタフェース・カードを継続して使用する場合には,ip6_setup ユーティリティを使用してください。

3.8.2.1    IPv6 インタフェース識別子の設定

インタフェースを初期化する際に ifconfig コマンドを ip6interfaceid パラメータ付きで使用すれば,IPv6 インタフェース ID も設定できます。 たとえば,イーサネット・インタフェース ee0 を IPv6 用に初期化し,インタフェース ID に 64 ビット値の 0x0123456789abcdef を設定するには,次のコマンドを実行します。

# ifconfig ee0 ip6interfaceid ::0123:4567:89ab:cdef ipv6 up

インタフェース ID は標準の IPv6 アドレス・フォーマットで表現しますが,使用されるのは下位 64 ビットのみです。

3.8.3    インタフェースからの IPv6 の削除

インタフェースから IPv6 を削除すると,すべての IPv6 アドレスや,このインタフェースを経由する IPv6 経路など,このインタフェースに関連する IPv6 構成がすべて削除されます。 インタフェースから IPv6 を削除するには,ifconfig コマンドを次の構文で使用します。

ifconfig device -ipv6

たとえば,イーサネット・インタフェース ee0 から IPv6 を削除するには,次のコマンドを実行します。

# ifconfig ee0 -ipv6

3.8.4    構成済みトンネルの作成

構成済みトンネル (手動トンネル) を作成するには,/usr/sbin/iptunnel コマンドを次の構文で使用します。

iptunnel create remote-tunnel-endpoint [local-tunnel-endpoint]

たとえば,リモート・システム 16.20.136.47 へのトンネルを作成するには,次のコマンドを実行します。

# iptunnel create 16.20.136.47

作成したトンネルを IPv6 用に初期化するには,次のコマンドを実行します。

# ifconfig ipt0 ipv6 up

この変更を恒久的にするには,ip6_setup ユーティリティを使用します。

3.8.5    インタフェースへのアドレスの追加

インタフェースへの IPv6 アドレスの追加または割り当てを行い,同時にインタフェース ID を自動的に追加するようにカーネルに指示するには,ifconfig コマンドを次の構文で使用します。

ifconfig interface-name inet6 ip6prefix prefix

次のコマンドは,インタフェース ln0 にプレフィックス 3ffe:1200:4112:2::/64 を割り当てます (インタフェース ID は 0a00:2bff:fe12:3456)。 このコマンドの結果,インタフェースのアドレスは 3ffe:1200:4112:2:0a00:2bff:fe12:3456 になります。

# ifconfig ln0 inet6 ip6prefix 3ffe:1200:4112:2::/64

ip6prefix パラメータが,インタフェース ID をアドレス・プレフィックスに自動的に追加するようにカーネルに指示します。

完全な IPv6 アドレスをインタフェースに手動で追加または割り当てるには,ifconfig コマンドを次の構文で使用します。

ifconfig interface-name inet6 address

次のコマンドは,インタフェース ee0 にアドレス 3ffe:1200:4112:2::1 を割り当てます。

# ifconfig ee0 inet6 3ffe:1200:4112:2::1

注意

IPv6 ホストでは,ルータから通知される情報を基に,nd6hostd デーモンによってインタフェース・プレフィックスが自動的に構成されます。

IPv6 ルータでは,/etc/ip6rtrd.conf ファイルの内容を基に,ip6rtrd デーモンによってインタフェース・プレフィックスが自動的に構成されます。

3.8.6    インタフェースからのアドレスの削除

インタフェースから IPv6 アドレスを手動で削除するには,ifconfig コマンドを次の構文で使用します。

ifconfig interface-name inet6 delete address

次に例を示します。

# ifconfig ee0 inet6 delete 3ffe:1200:4112:2::1

3.8.7    省略時のルータの追加または削除

省略時のルータを追加するには,route ユーティリティを次の構文で使用します。

route add -inet6 default router-address -dev interface

次に例を示します。

# route add -inet6 default fe80::0a00:2bff:fe12:3456 -dev ee0

省略時のルータを削除するには,route ユーティリティを次の構文で使用します。

route delete -inet6 default router-address -dev interface

次に例を示します。

# route delete -inet6 default fe80::0a00:2bff:fe12:3456 -dev ee0

注意

IPv6 ホストの場合,ルータから通知される情報を基に,nd6hostd デーモンによってルータの追加および削除が自動的行われます。

3.8.8    オンリンク・プレフィックス用の経路の手動追加

インタフェースにアドレスとプレフィックスを手動で追加すると,静的経路も追加できます。 静的経路を追加すれば,プレフィックスが同じノードへのトラフィックは,ルータを経由せずに直接宛先に送信されます。 たとえば,リンク・ローカル・アドレス fe80::0a00:2bff:fe12:3456 で初期化したイーサネット・インタフェースにプレフィックス 3ffe:1200:4112:5::/64 を追加した場合,同じプレフィックスを持つ近隣ノードへの経路を追加するには,次のコマンドを使用します。

# route add -inet6 3ffe:1200:4112:5::/64 fe80::0a00:2bff:fe12:3456 -interface

このコマンドによって,プレフィックス 3ffe:1200:4112:5::/64 を持つ宛先が,アドレス fe80::0a00:2bff:fe12:3456 のインタフェースからアクセスできるようになります。 つまり,3ffe:1200:4112:5::/64 がオンリンク・プレフィックスになります。

注意

IPv6 ホストでは,ルータから通知される情報を基に,nd6hostd デーモンが自動的にオンリンク・プレフィックスを追加します。

3.8.9    カーネルのルーティング・サポートの構成

ルータを構成するには,その前に ipv6 カーネル・サブシステムの ipv6forwarding 属性と ipv6router 属性に 1 を設定して,転送を使用可能にする必要があります。 これらの属性を設定するには,次に示す sysconfig コマンドを実行します。

# /sbin/sysconfig -r ipv6 ipv6forwarding=1
# /sbin/sysconfig -r ipv6 ipv6router=1

これらのコマンドは通常,IPv6 ルータとして構成したノードのシステム・スタートアップ・スクリプトで実行されます。

3.8.10    実行時構成ファイルの編集

システムを IPv6 ホストまたは IPv6 ルータとして構成すると,システムのスタートアップ手順で IPv6 の起動に使用される情報が,/etc/rc.config ファイルに格納されます。 このファイルは,rcmgr コマンドを使用すると,必要に応じて編集できます。 IPv6 は,次の変数を使用します。

IPV6="yes|no"

yes を設定すると,システムのスタートアップ時に IPv6 が起動されます。

IP6DEV_n="dev"

IPv6 のデバイス名を指定します。 このデバイス名は,rc.config ファイル内に存在しなければなりません。 n は整数で,0 から順に,デバイス 1 つごとに 1 ずつ増やします。

IP6IFCONFIG_n_m="string"

システムのスタートアップ時に ifconfig コマンド行で使用するオプションとパラメータを指定します。 n は,IP6DEV_n 変数と同じ値の整数です。 m は整数で,0 から順に,各デバイスの ifconfig 行 1 つごとに 1 ずつ増やします。

NUM_IP6CONFIG="number"

構成した IPv6 デバイスの数を指定します。

IP6ROUTER="yes|no"

yes を設定すると,ノードを IPv6 ルータとして構成します。 no を設定すると,ノードを IPv6 ホストとして構成します。

IP6RTRD="yes|no"

yes を設定すると,IPv6 のスタートアップ時に IPv6 ルータ・デーモン (ip6rtrd) を起動します。

IP6RTRD_FLAGS="string"

ip6rtrd デーモンの起動時に使用するオプションとパラメータを含む文字列を指定します。

ND6HOSTD="yes|no"

yes を設定すると,IPv6 のスタートアップ時に IPv6 ホスト・デーモン (nd6hostd) を起動します。

ND6HOSTD_FLAGS="string"

nd6hostd デーモンの起動時に使用するオプションとパラメータを含む文字列を指定します。

IPTUNNEL_n="string"

システムのスタートアップ時に構成済みトンネルの作成に使用するオプションとパラメータを含む文字列を指定します。 この変数が使用されるのは,IP6DEV_n 変数で指定したデバイスが構成済みトンネル (ipt0 など) である場合のみです。

例 3-1 に,/etc/rc.config ファイル内の IPv6 ホスト用変数の一例を示します。

例 3-1:  IPv6 ホストの構成変数の例

IPV6="yes"
IP6DEV_0="tu0"
IP6IFCONFIG_0_0="ipv6 up"
IP6DEV_1="tun0"
IP6IFCONFIG_1_0="ipv6 up"
NUM_IP6CONFIG=2
IP6ROUTER="no"
IP6RTRD="no"
IP6RTRD_FLAGS=""
ND6HOSTD="yes"
ND6HOSTD_FLAGS=" -u -n host1.corp.com"

例 3-2 に,/etc/rc.config ファイル内の IPv6 ルータ用変数の一例を示します。

例 3-2:  IPv6 ルータの構成変数の例

IPV6="yes"
IP6DEV_0="tu0"
IP6IFCONFIG_0_0="ipv6 up"
IP6DEV_1="tu1"
IP6IFCONFIG_1_0="ipv6 up"
NUM_IP6CONFIG=2
IP6ROUTER="yes"
IP6RTRD="yes"
IP6RTRD_FLAGS="/etc/ip6rtrd.conf"
ND6HOSTD="no"
ND6HOSTD_FLAGS=""

3.8.11    ルータ構成ファイルの編集

システムを IPv6 ルータとして構成すると,ip6rtrd デーモンによって定期的にルータ通知メッセージが送信されます。 このメッセージは,次の目的に使用されます。

/etc/ip6rtrd.conf ファイルには,ルータ通知メッセージの送信に必要な構成データが格納されています。 このファイルは,システムがルータとして構成されている場合,ip6_setup の実行時に作成されます。 リンク・インタフェースおよび通知されたプレフィックスが挿入され,その他の省略時の値が使用されます。 このファイルは,複数のプレフィックス値を使用している場合など,ネットワーク環境上の必要に応じて編集できます。 詳細については, ip6rtrd.conf(4) を参照してください。

例 3-3 に,ルータ構成ファイルの一例を示します。

例 3-3:  ip6rtrd.conf ファイルの例

#
# Sample ip6rtrd configuration file
#
interface tu0 {
        MaxRtrAdvInterval 600
        MinRtrAdvInterval 200
        AdvManagedFlag 0
        AdvOtherConfigFlag 0
        AdvLinkMTU 1500
        AdvReachableTime 0
        AdvRetransTimer 0
        AdvCurHopLimit 64
        AdvDefaultLifetime 1800
        Prefix dec:1::/64 {
                AdvValidLifetime 1200
                AdvPreferredLifetime 600
                AdvOnLinkFlag 1
                AdvAutonomousFlag 1
        }
}

3.8.12    カーネル・サブシステムのチューニング

IPv6 サブシステムは,sysconfig ユーティリティや dxkerneltuner ユーティリティを使用してチューニングできます。 IPv6 サブシステムのチューニングについては sys_attrs_ipv6(5),IP トンネル・サブシステムのチューニングについては sys_attrs_iptunnel(5) を参照してください。

3.9    IPv6 デーモンのログ・ファイル

nd6hostd デーモンと ip6rtrd デーモンは,情報イベントや重大なイベントのログを,/var/adm/syslog.dated/date/daemon.log ファイルに取得します。 このメッセージ・ファイルの内容は,SysMan Menu ユーティリティのイベント・ビューアで参照できます。 イベント・ビューアについての詳細は,11.9 節を参照してください。

これらのデーモンは,省略時の設定ではデバッグ情報のログを取得しません。 nd6hostd デーモンにデバッグ情報のログを取得させるには,次のコマンドを実行します。

# rcmgr set ND6HOSTD_FLAGS "-d -l /usr/tmp/nd6hostd.log"
# /usr/sbin/rcinet restart inet6

ip6rtrd デーモンにデバッグ情報のログを取得させるには,次のコマンドを実行します。

# rcmgr set IP6RTRD_FLAGS "-d -l /usr/tmp/ip6rtrd.log"
# /usr/sbin/rcinet restart inet6