on S01aris & FreeBSD 図 25 Solaris ホストから FreeBSD ホストへの ping の実行 # ping —A inet6 fe80 : : 2e0 : 98ff : fe83 : 48d0 % edl ping: unknown host fe80: : 2e0 : 98ff : fe83 : 48d0 % edl # ping —A inet6 fe80 : : 2e0 : 98ff : fe83 : 48d0 # ls ー 1 /etc/hostname* 図 26 インターフェイス名の寉認 fe80: : 2e0 : 98ff : fe83 : 48d0 is alive ←うまくいかない ←うまくいく 1 root て 00t 図 27 hostname6 ファイルのイ乍成 23 Jun 15 14 : 36 /etc/hostname . dmfe0 # touch /etc/hostname6. dmfeO /etc/hostname6. dmfel # ls ー 1 /etc/hostname* 1 root 1 root 1 て 00t root other other にしなけれはならない (Solaris とは異なり、 FreeBSD には IPv4 用の ping と IPv6 用の ping6 がある ) 。 KAME て採用されているリンクローカル・アドレスの 表記は、マルチホーム・ホスト、とくに BSD 系 OS を 実行している Sun マシンがある場合に威力を発揮する。 Sun の Ethernet インターフェイスはすべて同じ MAC アドレスを使用するので、リンクローカル・アドレスか暖 昧になる。そのため、宛先にたどり着くのにどのインター フェイスを使えばよいのか分からなくなってしまう。た とえは、以下のリンクローカル・アドレスは、マルチホー ムになっている Sun マシン上のすべてのインターフェイ fe80: :a:a20:22ff:fe6d:6e%1e1 fe80: :a:a20:22ff:fe6d:6e%1eO 町寉に区別できる。 これに対して、 KAME の表記はインターフェイスを f e80 : : a : a20 : 22ff : f e6d : 6e スを参照する可能性がある。 UNIX MAGAZINE 2003.9 どのべンダーもすくなくとも一部の製品で IPv6 をサポ ある。 Cisco 、 Nortel 、 Juniper などの製品か有名だが、 IPv6 の LAN を外部に接続するにはルータが必要で Solaris ルータ ターフェイス名を追加してはならない ( 図 25 ) 。 ホストに ping を実行する場合は、 IPv6 アドレスにイン する必はない。つまり、 Solaris ホストから FreeBSD ばリンクローカル・アドレスにインターフェイス名を付加 当然のことだが、ホストに KAME スタックがなけれ 23 Jun 15 14 : 36 /etc/hostname . dmfe0 0 Sep 12 13 : 37 /etc/hostname6. dmfeO 0 Sep 12 13 : 37 /etc/hostname6. dmfel こでは経済的な〕尺肢として、 ートしている。ただし、 デュアルホームの Solaris マシンをイ用する。 Solaris ルータの基本的な設疋は、 Solaris ノードの設 定と変わらない。この場合は Ethernet インターフェイ スを 2 つ使うため、両者を対象に、、 hostname6. インター フェイス名 " ファイルを作成しなければならない。 1. インターフェイス名を調べ、すべての物理デバイスに 対して空の、 /etc/hostname6. インターフェイス名 " ファイルを作成する。インターフェイスが 2 っともマ サーポードに組み込まれていたり (Netra XI など ) 、 4 ポート Ethernet カードがある場合でも、他のイン ターフェイスを特定するのは簡単である。 Netra XI には 2 つの Ethernet インターフェイスが あるが、プライマリ・インターフェイスが、、 dmfe0 " で あ川ま ( 図 26 ) 、経験上 2 つ目のインターフェイスは 、 dmfel " である。あとは hostname6 ファイルを作成 す川まよい ( 図 27 ) 。 本来なら hostname6 ファイルの作成直後にリプート するところだが、このマシンはルータになる。そこで、 /etc/inet に移動し、 ndpd. conf を作成して近ド蝌架索 のためのプレフィックスをする。 2. /etc/inet/ndpd. conf を編集し、各 IPv6 インター フェイスのプレフィックスを言置する。説明を簡単に こではサイトローカル・アドレスを使用 するため、 する。図 28 の設正例は Solaris のマニュアルを参考 にしたものである。 これでリプートの準備は整った。システムを起動する 55
on S01aris & FreeBSD 図 3 48bit の MAC アドレスから EUI-64 インターフェイス ID への拡張 0 48bit 1 引 16 3 32 47 c c c c c c 1 g c c c c c c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 mmmmmmmmmmmmmmmmmmmmmmmm 0 15 卩 6 31 卩 2 64bit 47 卩 8 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 63 g ビットは group/individual ヒ、ツトを示し、 48bit の MAC アドレスにもとづく ID では 0 にセットされ る。 c ビットと、、 m " ビットは、それぞれ企業 ID とべ ンダーか割り当てる ID である。したがって、以下のよ うな拡張がおこなわれる。 0 : 3 : ba : 6 : 14 : 66 0 : 80 : c7 : 54 : 43 : 4d 203 :baff :fe06 : 1466 280 : c7ff : fe54 : 434d IPv6 には、 IPv6 アドレスを MAC アドレスに変換 する ARP (Address Resolution Protocol) [ 7 ] がな い。このオ幾能は ICMPv6 の近ド蝌架索フロトコル (Neigh- bor Discovery Protocol) に移されており、他のホス トの MAC アドレスをみつける汎用的な仕組みを提供す る。 j 丘隣要請 (Neighbor SoIicitation) はマルチキャス トかュニキャストのいすれかであり、近隣通知 (Neigh- bor Advertisement) はつねにユニキャストである。 サプネット・プレフィックスが異なれは、同しインター フェイス ID を複数のインターフェイスに使ってもかま わない。 RFC2373 には以下のような記述がある。 「単一のノードの複数のインターフェイスに同しインター フェイス ID を使っても、インターフェイス ID やそれ をもとに作成された IPv6 アドレスのグローノヾルな一意 性には景斧切ゞないことに注意する」 たとえば、 Sun のハードウェアはすべての Ethernet インターフェイスに同じ MAC アドレスを割り当てる。 これは、インターフェイス ID が各リンク (Ethernet セ グメントなど ) に固有のもので、完全な IPv6 アドレス (64bit のサプネット・フレフィックスとインターフェイ ス (D) がグローバルに一意であれは問題にならない。 未ま諚アドレス 最初に目にするユニキャスト・アドレスのタイフは未 指定アドレスである。 46 簡略表記では以下のようになる。 釮 3 旨定アドレスは、インターフェイスにユニキャスト・ UNIX MAGAZINE 2003.9 サーノヾーをみつけられない場合に使われる。宛先のネット 空間は、 DHCP で自動設疋をおこなうホストが DHCP .0 / 16 アドレス空間 [ 8 ] とほは同様である。このアドレス リンクローカル・アドレスの空間は IPv4 の 169.254.0 トがないのでルーティングはできない。 スにはフレフィックス ( fe80 : : / 10 ) しかなく、サプネッ ターフェイスごとに自重加勺に設定される。これらのアドレ できる。リンクローカル・アドレスは、 IPv6 対応のイン しているサプネット (Ethernet セグメントなど ) てイ吏用 リンクローカル・アドレス ( 図 4 ) は、ホストか接続 リンクローカル・アドレス ことはできない。 先として、リンク経由で別のノードにバケットを送信する のノード内て割り当てられる。このアドレスを送信元や宛 IPv4 とい犲策、ルーフ。バック・アドレスはつねに 1 つ 簡略表記では次のようになる。 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1 1 で表される。 バック・アドレスは、 127 個の 2 進数の 0 とそれに続く で、物理インターフェイスには使えない。 IPv6 のルーフ ルーフ。バック・アドレスは 127.0.0.1 に相当するもの ループバック・アドレス することはできない。 れる。ノードに割り当てたり、宛先アドレスとして使用 アドレスがまだ割り当てられていない場合にのみ使用さ
on S01aris & FreeBSD 表 2 IPv6 のアドレス割当てとプレフィックス 128 ー n bit 割当て 暑物」当て NSAP 割当てのために予約 IPX 割当てのために予約 未割当て 未割当て 未割当て 集約可能グロ 未割当て 未割当て 未割当て 未割当て 未割当て 未割当て 未割当て 未割当て 未割当て 物」当て ーノヾノレ ・ユニキャスト・アドレス プレフィックス ( 2 進数 ) 0000 011 0000 010 0000 001 0() ( ) 0 0001 0000 0000 1111 110 1111 10 1111 0 1110 110 101 100 011 010 001 0001 0000 1 1111 1110 () 1111 1110 11 1111 1110 10 lnterface アドレスの割合 1 / 256 1 / 256 1 / 128 1 / 128 1 / 128 1 / 32 1 / 16 1 / 8 1 / 8 1 / 8 1 / 8 1 / 8 1 / 8 1 / 16 1 / 32 1 / 64 1 / 128 1 / 512 1 / 1 , 024 1 / 1 , 024 リンクローカル・ユニキャスト・アドレス サイトローカル・ユニキャスト・アドレス 図 2 ユニキャスト・アドレス n bit 128bit Subnet prefix アドレス、集紛可能グローバル・ユニキャスト・アドレ ス (Aggregatable Global Unicast Address) 、ロー カルで使用するアドレスなどのタイプがある。説明は しないが、こオび丿、タ ) タイプもある。 ェニーキャスト : ユニキャストの特例であり、通常は異 なるノードに属する複数のインターフェイスを識別す る。ェニーキャスト・アドレスに送信されたバケット は、もっとも近いインターフェイスに中幻医される。工 ーキャストの詳細は割愛する。 マルチキャスト :IPv6 にはプロードキャストがない。こ れはマルチキャストを同し目的で使えるためである。 マルチキャスト・アドレスのフレフィックスは町 8 。 ユニキャスト・アドレス ュニキャスト・アドレスは、サプネット・プレフィッ クスとインターフェイス ID て構成される ( 図 2 ) 。イン ターフェイス ID はユニキャスト・アドレスのタイプや メディア (Ethernet LAN 、ポイントツーポイント回線、 UNIX MAGAZINE 2003.9 トンネルのエンドボイントなど ) によって異なるが、表 2 のすべてのアドレスにおいて 64bit でなけ川まならない。 こでは、ルーフ。バック・アドレス、ローカルてイ更用 するアドレス、集約可能グローバル・ユニキャスト・ア ドレスをとりあげる。それ以外の、 IPv4 アドレスが埋め 込まれた IPv6 アドレス、 NSAP アドレス、 IPX アドレ スなどについては、 RFC2373 や Huitema[5] の著作を 参照してほしい。 インターフェイス ID 48bit の MAC アドレスはグローバルに一意なので、 LAN に接続されたノードのインターフェイス ID を得 るのは上交的簡単である。 MAC アドレスを 64bit のイ ンターフェイス ID に拡張する処理は EUI-64[6] にも とづいておこなわれる。具体的には、アドレスの途中に 16 進値で、、 0x 仕 " と、、 0xfe " の 2 オクテットを挿入し、 universal/local ピットを 1 にセットすればよい。その 様 - 子を図 3 に示す。 45
on S01aris & FreeBSD 図 28 /etc/inet/ndpd. conf の # cd /etc/inet # ex ndpd . conf "ndpd. conf" [New file] ifdefault AdvReachab1eTime 30000 AdvReTransTimer 2000 prefixdefault AdvVaIidLifetime 240m AdvPreferredLifetime 120m # 0Xa801 168 . 1 if dmfe0 AdvSendAdvertisements 1 prefix fecO : 0 : 0 : a801 : : / 64 dmfeO # 0Xa802 168 . 2 if dmfel AdvSendAdvertisements 1 prefix fecO : 0 : 0 : a802 : : / 64 dmfel : wq "ndpd. conf " 8 lines , 248 characters # reboot 図 29 IPv6 インターフェイスの寉認 # ifconfig —a6 100 : flags = 2000849 く UP ,LOOPBACK,RUNNING,MULTICAST, IPv6> mtu 8252 index 1 : 1 / 128 inet6 dmfeO : f1agS=2100841 く UP,RUNNING,MULTICAST,ROUTER, IPv6> mtu 1500 index 2 ether 0 : 3 : ba : 6 : 14 : 66 inet6 fe80: : 203 : baff : fe06 : 1466 / 10 dmfeO: 1 : f1agS=2180841 く UP,RUNNING,MULTICAST,ADDRCONF,ROUTER, IPv6> mtu 1500 index 2 inet6 fecO : : a801 : 203:baff : fe06 : 1466 / 64 dmfel : f1agS=2100841 く UP,RUNNING,MULTICAST,ROUTER, IPv6> mtu 1500 index 3 ether 0 : 3 : ba : 6 : 14 : 66 inet6 fe80 : : 203:baff :fe06: 1466 / 10 dmfel : 1 : f1agS=2180841 く UP,RUNNING,MULT 工 CAST,ADDRCONF,ROUTER, 工 Pv6> mtu 1500 index 3 inet6 fec0 : : a802 : 203:baff : fe06: 1466 / 64 図 30 IP アドレスを /etc/inet/ipnodes に言泉 # vi /etc/inet/ipnodes "/etc/inet/ipnodes'l fe80: : 203 : baff : fe06 : 1466 fecO: : a801 : 203 : baff fec0: : a802 : 203 : baff : wq ! "/etc/inet/ipnodes'l CRead only] 17 lines , 500 characters sun—gw ・ v6. mydomain. org sun—gw. v6 ll—sun—gw :fe06 : 1466 dmfe1—sun-gw.v6. mydomain ・ org dmfel—sun—gw :fe06 : 1466 dmfeO—sun-gw ・ v6. mydomain. org dmfeO—sun—gw 18 lines, 522 characters と、 IPv6 インターフェイスが作成さそれらの自 動設疋がおこなわれる。自動設疋デーモンⅲ . ndpd が 起動し、インターフェイスのプレフィックスを割り当 てる。また、ⅲ . ndpd はローカルの Ethernet 上のす べてのノードにフレフィックスを配信する。この処理 の最後に RIPng デーモンか起動し、ルータの両側で 制彳各の広告 (Advertise) と耳朝乂 (Listen) をおこ 56 3. ホストか起動したら、ログインして IPv6 インターフェ イスを調べる。ホストが自動的に設定したリンクロー カル・インターフェイスと、ルータから受け取ったサ イトローカル・プレフィックスか表示されるはすであ る ( 図 29 ) 。 4. 次に進む前に IP アドレスを /etc/inet/ipnodes に記 録し ( 図 30 ) 、 /etc/nsswitch. conf で IPv6 の DNS 参照を有効にしておくとよいだろう。 UNIX MAGAZINE 2003.9
on S01aris & FreeBSD 図 4 リンクローカル・アドレス 10bit ー fe80 128bit 0 64bi1 lnterface 1 1 1 1 1 1 1 0 1 0 # ifconfig —a6 図 5 Solaris のインターフェイス inet6 fe80 : :203:baff : feOe : 6a6a / 10 ether 0 : 3 : ba : e : 6a : 6a eriO: f1agS=2000841 く UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 : 1 / 128 100 : f1agS=2000849 く UP,LOOPBACK,RUNNING,MULTICAST, IPv6> mtu 8252 index 1 図 6 サイトローカル・アドレス 10bit fec0 1 1 1 1 1 1 1 0 1 1 0 128bit 16bit SubnetlD 64bit lnte rface ワークには別のリンクローカル・アドレスがあり、宛先ホ ストにはどれカ址しいホストかが分からないので、リンク ローカル・アドレスをルーティングしようとしても無意味 である。 Solaris のインターフェイスは図 5 のようになる ( イン ターフェイスが IPv6 のために設正されたあと、ローカ ルルータがサプネット・フレフィックスをまだ渡してい ないか、ローカルルータ自体がない状態である ) 。 リンクローカル・アドレスはすぐに使用できる。同し セグメント上の別の IPv6 ホストと通信するために IPv6 アドレスの割当てを要求する必要はない。ネットワーク に接続するだけで、存在しない DHCP サーバーの応答 を待つ必要もなく、別のホストにすぐにアクセスできる ようになる。 MAC アドレスはグローバルに一意なので、 1 つの IPv6 LAN セグメントに属するノードの数は最大 で 264 に達する。 サイトローカル・アドレス サイトローカル・ユニキャスト・アドレス ( 図 6 ) は、 IPv6 における 10.0.0.0 / 8 ネットワーク [ 9 ] に相当する。 サイトローカル・アドレスは、インターネットに接続せ すにフライベートな IPv6 ネットワークを構築したいと 考えている組織に適している。 サイトローカル・アドレスのプレフィックスは fec0 : : / 10 である。サプネット ID に割り当てられているのは UNIX MAGAZINE 2003.9 16bit だけで、 10. (). 0.0 / 8 ネットワークの中央の 2 オ クテット ( 216 ) をサプネットにした場合に相当する。サ プネットとインターフェイス ID は独立した要素なので、 サプネット上のホストの数を減らしてサプネットの数を 増やすことはできない。インターフェイス ID は 64bit の固定長フィールドで、短くすることはできない。その 一方で、 IPv6 のサプネットはそれぞれ固有のサプネット ID で識別さ IPv6 にはプロードキャストがないため、 ネットワーク番号とプロードキャスト・アドレスのため にすべてが 0 のアドレスとすべてが 1 のアドレスを確保 する必要はない。 現在、企業のネットワークの大半は RFC1918 [ 9 ] のア ドレス空間を使用し、外部との通信には NAT (Network Address Translator) を使っているようだ。困ったこと に、 NAT の主目的は下記の 2 点であるにもかかわらす、 このようなネットワークの多くが NAT をネットワーク・ セキュリティと混同している。 ・ ISP から割り当てられたグローバル・アドレス空間を 拡張する。たとえは、外部からアクセスできる 5 つの グローバル・アドレスがあり、内部のプライベート・ ネットワークと組み合わせている場合か該当する。 いざというときのために、 ISP への依存度をできるか ぎり減らす。 IPv4 のグローバル・アドレスを取得す るだけでも大変なのに、 ISP を変えたためにすべての 47
のアドレスはすべて同しインターフェイス ID を共有して いる。上記のアドレスのリソースレコードは 1 つの正引 きゾーンで管理するのが普通だが、逆引きマップはかな らす 3 不転頁のゾーンにアクセスする。たとえは、 mysun ・ v6.mydomain.org か表 5 のアドレスをもっとしよう。 リンクローカル・アドレスの逆引きゾーンレコードは図 64 のエントリて読く ( 図 52 ) 。 ゾーンレコードをもつ。 50 のようになる。 集約可能グローバル・ユニキャスト・アドレスか 1 司様 on S01aris & FreeBSD 図 49 ビットストリングに対応したマスター言聢ファイルのエントリ zone " \ [ X0000000000000000000000000000000 / 124 ] . ip6 . arpa" ード 同様に、サイトローカル・アドレスは図 51 の逆引き ⅲ { type master ; f i le " db . . 1 " zone " \ [ XfeC000a801 / 64 ] . ip6 . arpa" type master; file "db . fec0. . a801 " zone " \ [ XfeC000a801 / 64 ] . ip6 . arpa" type master; f i 1 e " db . f e c0 . . a802 " ・ 表 5 1 つのホストで考えられるアドレス アドレス fe80::203:baff:fe0e:6a6a fec0::a801:203:baff:fe0e:6a6a 2001:11f8:5ef9:a801:203:baff:fe0e:6a6a 図 50 リンクローカル・アドレスの逆引きゾー $ORIGIN \ [ xfe80 / 16 ] . ip6. arpa. 説明 洫 { in { 集約 - 可能グローバル・ユニキャスト・アドレス サイトローカル・アドレス リンクローカル・アドレス ンレコ 86400 IN DNAME \ [ X00000000a801 / 48 ] $ORIGIN \ [xfecO/16] . ip6. arpa. 図 51 サイトローカル・アドレスの逆引きゾーンレコード 86400 IN DNAME \ [ X000000000000 / 48 ] V6—rev. mydOmain. ・ V6—rev. mydomain. ・ $OR 工 GIN \ [ X200111f85ef9 / 48 ] . ip6 . arpa. 図 52 集約可能グローパル・ユニキャスト・アドレスの逆引きゾーンレコード \ [ Xa801 / 16 ] 86400 IN DNAME v6—rev. mydomain ・ org ・ 図 53 インターフェイス ID の指定 $OR 工 GIN v6—rev. mydomain ・ org ・ \ [x0203bafffeOe6a6a/64] 86400 IN PTR キャスト・アドレスを割り当てるのかしヨ勺だが、これら mysun. v6 . mydomain ・ org ・ 最後に、ホストエントリがインターフェイス ID を指 定する ( 図 53 ) 。 インターフェイス ID だけで IPv4 アドレスの 2 倍 の情報量があるので、逆引きマップでは DNAME を効 率的に使用できる。付け加えておけは、ネットワークの リナンバリングはスイッチをひねっただけでおこなえる ようなものではない。綿密な計画が必要であり、移行期 間は数カ月におよぶ可能生がある。逆引きマップは DNS て最初に除外されやすい部分であり、 DNAME がこの分 野で管理者の助けになることか期待される。 最後に、相力」用の間題がいくつかある。 BIND 8 、と くに BIND 8 べースのリゾルバ・ライプラリはそう簡単 UNIX MAGAZINE 2003.9
on S01aris & FreeBSD 図 20 IPv6 が有効になっていることを確認 # ifconfig —a6 100 : f1agS=2000849 く UP,LOOPBACK,RUNNING,MULTICAST, IPv6> mtu 8252 index 1 : 1 / 128 inet6 eriO : f1agS=2000841 く UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 0 : 3 : ba : e : 6a : 6a inet6 fe80: : 203 :baff :fe0e : 6a6a / 10 図 21 ホストテーカレにアドレスを追加 # vi /etc/inet/ipnodes "/etc/inet/ipnodes" [Read 0 Ⅱ Iy ] 17 lines , 500 characters fe80: :203:baff:feOe:6a6a mysun.v6.mydomain.org mysun. v6 ll—mysun : wq ! "/etc/inet/ipnodes" 18 lines , 522 characters 3. システムが起動したら、ルーフ。バック・インターフェ イスと Ethernet インターフェイスで IPv6 か有効に なっていることを確認する ( 図 20 ) 。 4. /etc/inet/ipnodes[20] を編集し、ホストテープルに アドレスを追加する ( 図 21 ) 。 Sun はなんらかの理山 で /etc/hosts を使い続けることに難色を示し、代わり にまったく新しいホストファイルを作成した。桀 いことに、ファイルの構文は /etc/hosts から変わって いない。したがって、 IPv6 で DNS を使い始めるた めのお膳立ては整っている。 IPv6 アドレスにサブドメイン、、 . v6 " を使っている点 に注意してほしい。 BuckIin と Sekiya[21] は、 IPv4 アドレスと IPv6 アドレスの分離に関するすばらしい 論拠を展開している。最大の理由は、 AAAA レコー ドを理解しないリゾルバが数多く使われており、この ようなレコードを返されると対応できない可能生があ ることだ。その一方で、 IPv6 が組織にどのように導入 されるのかは不透明であり、占殳階では IPv6 と IPv4 の名前空間を別にしておくのか現実的な鮹夬策だろう。 IPv6 ホストの命名規則にはすこし注意か必要である。 IPv4 では通常は 1 つのインターフェイスに 1 つの IP アドレスが定義されるが、 IPv6 では 1 つのインター フェイスに 2 つ以 E のアドレスを定義するのが一ヨ勺 である。 1 つはリンクローカル・アドレスであり、も う 1 つはルーティンク・・可能なアドレスである。この 2 つを区別するため、リンクローカル・アドレスには ( Ⅱ - mysun のように ) ホスト名に、、ル " というフレフィッ クスを付け、ルーティング可能なアドレスには FQDN UNIX MAGAZINE 2003.9 (Fully Qualified Domain Name) を割り当てる。フ レフィックスにインターフェイス名を使ってもよい。 5. このほかにも /etc/nsswitch. conf を編集し、 /etc/ inet/ipnodes だけでなく DNS からもホストを参照 # ex /etc/nsswitch. conf できるようにしなけれはならない。 "/etc/nsswitch. conf" 26 lines , : /Aipnodes lpnodes : files :s/files/files dns/ ipnodes : : wq ! files dns "/etc/nsswitch. conf" 26 lines , 690 characters 694 characters 6. 「リンクローカル・アドレス」の項でも述べたか : LAN 上の他の IPv6 ホストとはすぐに通信できる。いつも のように、ますは ping を試してみればよい。 ping が 通川ま、 telnet もうまくいくだろう。 # ping —A inet6 fe80: : 2e0 : 98ff : fe83 : 48d0 fe80: : 2e0 : 98ff : fe83 : 48d0 is alive これで準備か整った。自動設定はネットワーク上のす BSD 系 OS は IPv6 の設定に適している。 FreeBSD FreeBSD や、 KAME スタックを使ったその他の FreeBSD ホスト レスを使用するしかない。 フィックスは配信されないので、リンクローカル・アド フィックスや集約 - 可能グローバル・ユニキャスト・プレ ろう。もちろん、ルータがなけれはサイトローカル・プレ IPv6 ホストを設定するための唯一妥当な去といえるだ べてのホストに一貫したセットアップを保証するため、 53
ワークステーションのおと一@ 写真 1 ATAIOOPCI 報告した人によれは、このカードが使えそうであること は次のようにしてみつけたのだそうです。 1. Sun Fire B100S プレードサーノヾーは ATAIOO に対・応 している。 2. Solaris 9 4 / 03 やパッチを眺めてみると、 /etc/driver -aliases ファイルにある、 uata " PCi1095 , 649 " という文字列が対応しているように思えた ( 簡単にいう と、 driver-aliases ファイルは、ドライバと機器の識別 文字列との対応表です ) 。 つまり、 OS としてはこのドライバが組み込まれている Solaris 9 4 / 03 版が必要ということになります。 3. 機器を示す文字列、、 1095 , 649 " がどんなハードウェア かを調べてみると、コントローラとして、 CMD649 か Siliconmotion 649 ( Si10649 ) を利用したものらしい ・しかし、残念ながら起動はできない。 ということが分かった。 4. このチップを使っているカードを探したところ、玄人指 これを読んだときも、「ふーん、だいぶ速いんや。せや 向の ATAIOOPCI をみつけた。 けど、やつばりプートできへんとなあ」という様子見気 分でした。ところがです。しばらくして、上の報告をした すごいです 人から、、プートテパイスとして利用する方法を 1 つみつけ しかし、これだけでは ATAIOOPCI につないだディス た " という報告が入りました。 クからプートすることはできません。それには、なんと、 ・ Si10649 というコントローラの右側にある R63 という チップ孑を取り外す のだそうです。 $ t ime mkfile lg file@onboard real 1 : 05 . 8 0 . 3 20 . 1 SYS 1 第を、 「なんやと ! 」 こうなると目の色か変わってきます。次の休日、秋葉原 でこの ATAIOO のカードを購入しました。現在、勤務先 でファイルサーバーとなっている Ultra 5 にこのカード を挿し、 80GB の IDE ドライプを 2 台接続してミラーリ ングをして使っています。 UItra5 とは思えないはど速く て・関商です。 では、さっそく 前置きが長くなってしまいました。どのようにして接続 したのか、書いていきましよう。 その ATAIOO のインターフェイス・カードは、玄人 指向というプランドの「 ATAIOOPCI 」 ( 写真 1 ) です 4 販売店にもよりますが、このカードはたいていは 2 , 000 円 台で買えるのでたいへんお得です。 4 http://www.kuroutoshikou.com/products/atal()()/ ata100pci. html ☆ 今回もまたまた日判り切れになってしまいました。この続 きは次号でお話しします。それまで待てない人は、次のよ うな組・迂で試してみるといいでしよう。 ・ IDE インターフェイス付きの Sun ワークステー ンヨン (UItra 5 など ) IDE インターフェイスのない Ultra 30 などではプー トできないそうです。 ・ Solaris 9 4 / 03 版 ・ R63 を取り外した ATAIOOPCI 取り外すのは上交的簡単で、小さなニッノ軽く挟んで すこし力を入れると、簡単に外れます。 ( さかした・しゅう ACUTUS Software) 165 UNIX MAGAZINE 2003.9
on S01aris & FreeBSD 図 9 NLA ID とサイト ID n bit ー NLAI 24 ー n bit Site 1 6bit SLA 図 10 NLA 階層 N LA2 ー m bitl NLAI 2—n bit Site Site 24—n—m bit ー 0 bit ー 24 ー n ー m ー 0 bit ー Site NLA3 64bit lnterface S LA 1 6bit S LA 1 6bit SLA 16bit 64bit lnterface 64bit lnterface 旧 64bi1 lnterface いくつかのビットをセレクタ して使用するのではなく、 として残しておき、残った空間は糸目織がサポートしなけ ればならない各サイトのために予約しておくことカ雛奨 されている ( 図 9 ) 。 また、サイト ID 空間を使用して NLA 階層を構築し、 ルーティング・テープルをより効率的に管理する力法もあ る ( 図 10 ) 。これは RFC2374 では義務つ、けられていな いが、 TLA を受け取った組織はアドレスの割当てを階層 形式でおこなうことカ甘隹奨されている。 このため、 24bit の NLA は誰にとっても大きな価値 がある。 IPv4 の設言者は、 24bit のネットワーク空間 を一様にインデックスとして使うことを拒み、アドレス の割当てを制御できるようにクラス A ~ C というネット ワーク構造を作成した ( その後 CIDR (ClassIess lnter- Domain Routing) を追加した ) 。同しように NLA 階 層を構及したのもうなすける。そうしなけれは、ルーティ ング・テープルは 224 にものは、るエントリでいつばいに なってしまうだろう。 SLA (Site-Level Aggregation) ID には、サイトロ ーカル・アドレスのサプネット ID に相当するものが登 録される。合計 216 ( 65 , 536 ) のネットワークに対応可能 で、ネットワークごとに最大 264 のノードをもてる。た だし、このアドレス空間をきちんと管理するのは各管理 糸Ⅱ織の責任であり、執点ではアドレス階層を構築す ることが最善の手段である ( 図 11 ) 。 SLA とサプネット ID の両方に 16bit を使うことで おもしろい結果か得られる。最初はサイトローカル・アド レスを使用し、あとで集約可能グローバル・ユニキャス ト・アドレスにアップグレードするとしても移行に苦労 UNIX MAGAZINE 2003.9 図 11 SLA 階層 ー n bitl SLAI 16 ー n bit Subnet ー m bit 116—n—mbitl SLA2 Subnet 64bi1 lnterface ID 64bit lnterface ID しないのである。サイトローカル・アドレスと各種の集約 可能グローバル・ユニキャスト・アドレスは、いすれも ローカル・ネットワーク ID に 16bit を割り当てている。 このため、 ISP に加入したり ISP を変更するたびにロー カルのアドレス構造を変史する必要はなく、以前のもの を使い続けることができる。 ホストが IPv6 インターフェイスの自動設定をおこな うと、インターフェイスのリストに新しいエントリが表 示されるだろう ( 図 12 ) 。インターフェイス eriO:1 のサ プネット ID と eri0:2 の SLA に同しネットワーク値 ( 0Xa801 ) を使っても間題がないことに注目してほしい。 このように、インターフェイスのリナンバリングはこれ までにないはど簡単である。 そ也の集約可能グローパル・ユニキャスト・アドレス こオリュ降は、その他の集約可能グローバル・ユニキャス ト・アドレスについて説明する。アドレス構造の定義が 1 つだけでは簡単すぎるので、 IETF は f 月するアドレス・ プレフィックスに応して 3 つのアドレスを定義した。 TLA 1 プロダクション・サプ TLA ( プレフィックス 2001 : : / 16 ) は、ネイテイプの IPv6 ネットワークてイ吏うため のものである。これは TLA 1 とも呼ばれている。プレ フィックスの初期割当てについては RFC2928 [ 12 ] を参 49
on S01aris & FreeBSD 図 7 IPv6 インターフェイス # ifconfig -a6 100 : flags = 2000849 く UP , LOOPBACK , RUNNING , MULTICAST , IPv6> mtu 8252 index 1 : 1 / 128 inet6 eriO : f1agS=2000841 く UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 0 : 3 : ba : e : 6a : 6a inet6 fe80: :203:baff:fe0e:6a6a/10 eriO: 1 : f1agS=2080841 く UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 図 8 集約可能クローパル・ユニキャスト・アドレス inet6 fecO : : a801 : 203:baff :feOe : 6a6a / 64 3 ー FP 0 0 1 13bit ー 8bit ー TLA Res 128bit 24bit 16bit N LA S LA 64bit rface ID IPv4 ネットワークとホストのリナンバリングをおこな うのは悪夢である。 業務用ネットワークの管理者がサイトローカル・アド レスを使うのを止め、登斉みの IPv6 アドレス ( 集約可 能グローノヾル・ユニキャスト・アドレス ) に移行する気 になるほど、 IPv6 のアドレス空間に十分な大きさがある のかはまだ分からない。ただし、 IPv6 ネットワークでは すべてのノードがもっとも近いルータからネットワーク・ フレフィックスを自重加勺に取得するため、リナンバリン グはいたって簡単である。インターフェイス上に同時に 複数のフレフィックスがあってもよく、何か間題か生じ たら、リンクローカル・アドレスを使ってホストにアク セスすればよい。それでも不一わ分だとしたら、 IPv6 にも NAT の市場ができるだろう。 IPv6 インターフェイスは、起重加にデフォルト・ゲー トウェイからネットワーク・フレフィックスを取得する。 実装にもよるが、サプ・インターフェイス (Solaris の 場やェイリアス (BSD の KAME スタック [ 10 ] ) と して追加の IPv6 アドレスが表示されることがある ( 図 7 ) 。これらの機能は同しであり、たんに表現の間題にす ぎない。 集約可能グローパル・ユニキャスト・アドレス 利用している ISP が 6bone (http://www.6bone. net/) に接続し、独自のプレフィックスを登録していれ は、集約可能グローバル・ユニキャスト・アドレス ( 図 8 ) を用意することでインターネット上で IPv6 を使用で きる。アドレスのタイプは RFC2374 [ 11 ] で定義されて 48 ・よ或インターネット・レジストリ (Regional lnternet Registry) はサプ TLA ( フレフィックス 2001 : : / 16 ) を割り当てられている。これはプロダクション・サプ TLA とも呼はれる ・ IPv6 のトラフィックを IPv4 インターネット経由で ルーティングする 6t04 TLA ( プレフィックス 2002 : : / 16 ) ・ 6bone pseudo-TLA (pTLA0 フレフィックス 3 仕 : : / 16 ) 予約 (Res) フィールドは将来使用するためのもので、 つねに 0 となる。詳細は彳するが、 TLA の各タイプは すべて予約フィールドに確保されたアドレス空間を使用 する。 NLA (Next-Level Aggregation) ID は、 TLA を受 け取った糸目織がアドレス階層を構築するために使用する。 RFC2374 では、 24bit の空間を一様にインデックスと いる。 このアドレスのフォーマット・フレフィックス (FP) はつねに 2 進数の 001 である。フォーマット・プレフィ ックスの長さが 3bit 、 TLA (Top-Level Aggregation ID の長さが 13bit なので、 TLA は実際には 16bit であ る。 TLA の値はフォーマット・プレフィックスにより 制限され、 2000 : : / 16 ~ 3 仕 f : : / 16 の範囲になる。 TLA ID はルーティング階層の最 E 位に位置する。大 手の ISP が TLA をもっことも可能だが、執筆時点 : では 糸目織専用の TLA はなく、以下の 3 不頁か割り当てられ ている。 UNIX MAGAZINE 2003.9