前回はIPv6 over IPv4トンネリングの概要と、その中でももっとも利用する機会が多いと思われるTeredoについて解説した。今回は実際に、そのTeredoを使ってIPv6対応ホストにアクセスしてみよう。
なお、クライアントPCのオペレーティングシステムにはWindows 7を使用した。
Teredoによる構成の状況を確認する
Windwos Vista、Windows 7、Windows Server 2008は当初からTeredoが有効になっているので、何も意識しなくてもTeredoを利用したIPv6 over IPv4トンネリングが可能になっている。また、Teredoサーバについては既定値でマイクロソフトのものを自動的に割り当てており、そちらはコマンドプロンプトで
「netsh interface ipv6 show teredo」
と入力すると確認できる。
Windows 7のコマンドプロンプトで「ipoconfig /all」コマンドと、「netsh interface ipv6 show teredo」コマンドを実行した結果を以下に示す。
サーバ名が「teredo.ipv6.microsoft.com.」となっている様子が分かる。Teredoのクライアント、つまりユーザーが利用しているPCは、Teredoサーバと通信して、構成情報を取得する。それにより、Teredoサーバを介してIPv6対応ノードと通信できる状態になる。上の画面例でも、「2001:~」で始まるIPv6アドレスの割り当てを受けている様子を確認できる。
ちなみに、マイクロソフトが提供するものでなくても、Teredoサーバであれば同様に利用できる。利用するTeredoサーバを変更するには、コマンドプロンプトで
「netsh interface ipv6 set teredo type=client <Teredoサーバのホスト名(FQDN)>」
と入力すればよい。しかし、わざわざマイクロソフト以外のTeredoサーバを利用する必然性は薄いと思われる。
上の画面例ではTeredoサーバに関する情報しか表示していないが、インターネットに直結してグローバルIPアドレスの割り当てを受けているコンピュータでは、[Microsoft 6to4 Adapter]という項目と構成情報も現れる。その名のように6to4のことだが、Windows 7が当初から用意している機能なので、ユーザーがいちいちインストール、あるいは設定を行う必要はない。
IPv6対応Webサーバに接続してみよう
では、実際にIPv6でWebサーバに接続してみよう。そこで実験する際に注意が必要なのは、以下の点である。
・オペレーティングシステムのレベルでIPv6通信が可能になっているだけでなく、通信アプリケーション(この場合にはWebブラウザ)もIPv6に対応したものを使用すること。通信アプリケーションがIPv6アドレスを扱えなければ、IPv6によるアクセスは成り立たない
・IPv4とIPv6のデュアルスタックになっている場合、IPv4で接続しているのにIPv6で接続していると勘違いしないこと
これらの条件を満たすには、IPv6に対応したWebブラウザでIPv6アドレスをアドレスバーに直打ちして、接続先を指定する方法が確実だ。たとえば、以下のWebサーバを利用できる。
・www.ocnipv6.jp : URLは「http://[2001:218:2001:3005::7f]/」とする
・www.kame.net : URLは「http://[2001:200:dff:fff1:216:3eff:feb1:44d7]/」とする。
いずれも、「」内のURLをWebブラウザのアドレスバーにコピー&貼り付けしてから[Enter]キーを押せば接続する。Teredo経由でIPv6接続を行う場合、DNS(Domain Name System)によるアドスレ解決が効かないので、必然的にIPv6アドレスを直打ちする必要がある。
このほかユニークなところでは、@niftyのブログサービス「ココログ」で、エントリの内容をテキスト形式ファイルに書き出す際に「IPv4による接続」と「IPv6による接続」を選択できるようになっている。
「ココログ」の管理画面。エントリの内容をテキスト形式ファイルに書き出す際に、IPv6による接続を選択できる
なお、クローズドなLANの内部でIPv6対応のWebサーバを運用するのであれば、Windows Server 2008(R2を含む)が動作するサーバがあればよい。そこでIIS 7.xとDNSサーバを動作させることで、Webサーバ機能と名前解決のためのDNSサーバ機能を一度に実現できる。