Windows XPでIPv6

IPv6スタックのインストール

Windows XPIPv6スタックを搭載しているが、初期状態では無効となっておりIPv6を使用することはできない。
IPv6スタックを有効にするためには、次のコマンドをコマンドプロンプトから実行する。

ipv6 install

最後にシステムの再起動を行う。

IPv6インタフェース情報の取得

IPv6のインタフェースごとの詳細な情報は、次のコマンドをコマンドプロンプトから実行することで得られる。

ipv6 if

IPv6経路などの設定時に必要なインタフェースインデックス(番号)は、このコマンドから知ることができる。

ipv6 adu インタフェース番号/アドレス lifetime 有効生存時間

有効生存時間は秒で指定し、infiniteと記述することで無制限時間で追加することができる。また、アドレスを削除する場合には、有効生存時間を"0"と指定する。

IPv6アドレス管理

IPv6アドレスの追加・削除はnetshを使用すると便利。

  • 匿名アドレスの抑制

Windows XPでは、MACアドレスから自動生成されるEUI-64形式のIPv6アドレスに加え、デフォルトでIPv6: Privacy Extentions (RFC 3041)に対応しており、匿名のアドレスを自動的に追加する。そこで、匿名アドレスを生成しないように設定するには、以下のコマンドを使用する。

netsh interface ipv6 set privacy state=disabled
  • IPv6アドレス手動構成

IPv6アドレスを自動構成ではなく、手動で構成することも可能。

netsh interface ipv6 add address 4 2001:123:1234::cafe

addressの後ろの「4」は、ネットワークインタフェースのインデックス値である。この値は、インタフェース名(文字列)で指定することもできる。

netsh interface ipv6 add address "ローカル エリア接続" 2001:123:1234::cafe

ネットワークアドレスを削除するには、delete addressを使用する。

netsh interface ipv6 delete address 4 2001:123:1234::cafe
  • Default GWの設定
netsh interface ipv6 set route ::/0 "ローカル エリア接続"
2001:123:1234::1

IPv6経路の設定

経路の設定は以下のコマンドをコマンドプロンプトから実行する。

ipv6 rtu 宛先プレフィックス インタフェース番号/送信先アドレス lifetime 有効生存時間

有効生存時間については、IPv6アドレスの追加・削除と同様の設定である。
以下にコマンドのサンプルを示す。

ipv6 rtu 2001:123:1234::/64 4/2001:123:1230::100 pub lifetime infinite

IPv6経路の確認

以下のコマンドをコマンドプロンプトで実行することにより、IPv6経路(ルーティングテーブル)を確認することができる。

ipv6 rt

おまけ:IPv6アドレスを名前から引く

IPv6アドレスはIPv4アドレスと比較して非常に長い。特定のホストをホスト名からIPv6アドレスを引く方法を知っておくと役に立つ場合がある。(DNSを使わなくてもWindowsにもhostsファイルがある。場合によっては便利)
そのためには、hostsファイルと呼ばれるホスト名とIPv6アドレスの対応を定義するファイルを用いる。

  • 編集箇所
%SystemRoot%\system32\drivers\etc\hosts
  • 編集内容

例えば、IPv6アドレス「2001:123:1234::feed:cafe」を
hoge」というホスト名に対応させる場合は、

2001:123:1234::feed:cafe  hoge

と記述する。