IPv6メモ


Starcatが 実施したIPv6実証実験に接続したときのメモ。 v4グローバル接続が条件で、他に費用はかからないとのこと。 デュアルスタックでクライアントひとつが基本だが、 希望するとサブネットを作ってもよいとのことで、申し込んでみた。

※アドレスを伏せてるところあり。

サブネット作成に必要な情報

以下のようにStarcatから連絡あり。
割当てサブネット 2001:268:1501:YYY::/64
ユーザ側ルータのWAN側アドレス(固定設定) 2001:268:1500:2::XXX
デフォルトゲートウエイ 2001:268:1500:2:2e0:1eff:fea9:1b0f  (Starcat側ルータのインタフェース)
それから、「WAN側にRAを流しちゃダメよ」 という注意も。 同じデータリンク層にて自動設定のv6ノード向けにStarcatルータが RAを流してるわけで、それと混ざっちゃうと大変なことに なるからだよね、きっと。

ネットワークの構成

というわけで以下の構成に。例によってFreeBSDでルータ作成。 Starcat側の構成は こちら

network topology


v6 gateway(dragon)の設定

/etc/rc.confにこんな感じで。
ipv6_enable="YES"
ipv6_network_interfaces="fxp0 ed0"
ipv6_prefix_fxp0="2001:268:1500:2"
ipv6_ifconfig_fxp0="2001:268:1500:2::XXX prefixlen 64"
ipv6_defaultrouter="2001:268:1500:2:2e0:1eff:fea9:1b0f"
ipv6_prefix_ed0="2001:268:1501:YYY"
ipv6_ifconfig_ed0="2001:268:1501:YYY::ZZZ prefixlen 64"
ipv6_default_interface="fxp0"
ipv6_gateway_enable="YES"
rtadvd_enable="YES"
rtadvd_interfaces="ed0"
rtadvd_interfacesで、LAN側のインターフェースにだけ RAを流すように設定。/etc/rtadvd.confを用意しなくても defaultのパラメータでrtadvdはちゃんと動いてるみたい。 当初ipv6_default_interfaceの設定が漏れててちょいとハマった。

FreeBSD(hawk)の設定

自動設定の端末は、超簡単。/etc/rc.confにこんな感じ。
ipv6_enable="YES"
ipv_network_interfaces="fxp0"
ipv_default_interface="fxp0"
インターフェースが1枚だけなら、下の2行はいらないかも。 rtsolコマンドで、solicitationを明示的に実行してみるのも面白い。 ndpコマンドでいろいろと確認できる。

WindowsXP(buffalo)の設定と動作

IPv6クライアントの設定は超簡単。コンソールにて以下の コマンドを打つだけ。
ipv6 install
tracerouteの結果
Tracing route to playground.sun.com [3ffe:8130:d000:0:a00:20ff:fe7b:645]
from *** over a maximum of 30 hops:

  1       <1 ms     1 ms    <1 ms  2001:268:1501:YYY:290:ccff:fe**:****
  2       25 ms    23 ms    24 ms  2001:268:1500:2:250:2aff:fe51:5c1e
  3       37 ms    39 ms    36 ms  2001:268:1:2::4e
  4      152 ms   149 ms   150 ms  pa01.v6.kddi.com [2001:268:1:203::1]
  5        *      153 ms     *     3ffe:80a::10
  6      159 ms   158 ms   157 ms  paix-02.nokia.net [3ffe:80a::3]
  7      160 ms   154 ms   156 ms  playground.sun.com [3ffe:8130:d000:0:a00:20ff:fe7b:645]
  8      163 ms   163 ms   165 ms  playground.sun.com [3ffe:8130:d000:0:a00:20ff:fe7b:645]
  9      162 ms   169 ms   159 ms  playground.sun.com [3ffe:8130:d000:0:a00:20ff:fe7b:645]

Trace complete.
Tracing route to kame220.kame.net [2001:200:0:4819:210:f3ff:fe03:4d0]
from *** over a maximum of 30 hops:

  1       <1 ms     1 ms    <1 ms  2001:268:1501:YYY:290:ccff:fe**:****
  2       22 ms    24 ms    25 ms  2001:268:1500:2:250:2aff:fe51:5c1e
  3       49 ms    39 ms    24 ms  2001:268:1:2::4e
  4       35 ms    35 ms    39 ms  pc6.otemachi.wide.ad.jp [2001:200:0:1800::9c4:0]
  5       52 ms    51 ms    49 ms  2001:200:0:6001:2a0:ccff:fe73:386c
  6       54 ms    53 ms    60 ms  pc3.yagami.wide.ad.jp [2001:200:0:1c04::1000:2000]
  7       50 ms    54 ms    52 ms  paradise.k2c.wide.ad.jp [2001:200:0:4819:2e0:18ff:fe98:f19d]
  8       54 ms    50 ms    53 ms  2001:200:0:4819:210:f3ff:fe03:4d0

Trace complete.
Tracing route to 6bone.net [3ffe:b00:c18:1::10]
from *** over a maximum of 30 hops:

  1       <1 ms     1 ms    <1 ms  2001:268:1501:YYY:290:ccff:fe**:****
  2       24 ms    26 ms    24 ms  2001:268:1500:2:250:2aff:fe51:5c1e
  3       41 ms    38 ms    39 ms  2001:268:1:2::4e
  4      148 ms   150 ms     *     pa01.v6.kddi.com [2001:268:1:203::1]
  5      148 ms     *      147 ms  3ffe:80a::10
  6        *      153 ms     *     fmt-tunnel.paix.ipv6.he.net [3ffe:81d0:ffff:1::]
  7      272 ms     *      262 ms  rap.ipv6.viagenie.qc.ca [3ffe:b00:c18:1:290:27ff:fe17:fc0f]
  8        *      263 ms     *     www.6bone.net [3ffe:b00:c18:1::10]
  9      259 ms     *        *     www.6bone.net [3ffe:b00:c18:1::10]
 10      262 ms     *        *     www.6bone.net [3ffe:b00:c18:1::10]
 11      265 ms     *      260 ms  www.6bone.net [3ffe:b00:c18:1::10]

Trace complete.
さらにipv6 -v ifとかipv6 -v rtとかで確認してみるとよい。

アドレス生成の考察

MACアドレスからどのように、v6アドレスの下位64bit(インターフェースID, IEEE EUI-64アドレス)が生成されているかを確認してみる。 例によってMACアドレスの上位24bitは、 IEEE OUI and Company_id Assignmentsで検索できる。

dragonのWAN側インターフェースfxp0はIntel社製で、 dmesgによると以下のとおり。

fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xda00-0xda3f mem 0xefe00000-0xefefffff,0xefffb000-0xefffbfff irq 9 at device 12.0 on pci0
fxp0: Ethernet address 00:02:b3:**:**:**
ここからIEEE EUI-64アドレスを生成すると以下のような感じ。
  1. 真中にFFFEを埋めて64bitにする。 00-02-B3-FF-FE-**-**-**
  2. 左から7bit目のUniversal/Localフラグに1を立てる。 02-02-B3-FF-FE-**-**-**
  3. 表記をv6形式に。16bitずつまとめて、区切り内の最初(左)の0は省略。 202:B3FF:FE**:****
というわけで、Starcat側ルータのインターフェースはCiscoと わかる(2E0:1E->00-E0-1E)し、paradise.k2c.wide.ad.jpの インターフェースはASUSTEKのオンボードLAN(2E0:18->00-E0-18)っぽいから、 PCだろうな、と推測することができる。
2002/7/8 Taikou Yamada (t-yamada@ceres.dti.ne.jp)