
IPv6をIPv4から自在に使う仕事術
Teredoや6to4でIPv6を気軽に使ってみる
OCN IPv6サービスのような商用のIPv6接続がなくても、実はVistaの設定を少し行うだけでIPv6インターネットを利用することができる。もちろん制限はいろいろあるものの、場合によっては使えることもある。
VistaではIPv4接続しかないマシンにIPv6接続環境を提供するサービスとして、Teredo,6to4,6over4,ISATAPの4つの種類がある。このうち6over4とISATAPは一般的ではなく、6to4はxpと変わるところがないので今回は割愛する。
そもそもTeredoって何?
Teredoを簡単に言えば、IPv4のNAT環境にあるIPv4プライベートアドレスしか持たないマシンがIPv6インターネットを利用するための仕掛けだ。お互いに接続するための仕掛けだ。詳しくはipv6styleの別記事を見ていただくとして、ポイントはNAT下にあるマシン同士の通信だけでなく、IPv6ネットワークにある普通の(?)IPv6マシンにも(制限つきながら)アクセスできるという点にある。
これだけを聞くと「OCN IPv6と何が違うの?」ということになるが、実はInternet Explorer 7などでFQDN(完全修飾ドメイン名)が使えないことと、コマンドラインで設定が必要だということに大きく差がある。
FQDNが使えないとはIEのアドレスバーにwww.kame.netのようなホスト名でのアクセスができないということを指す。またコマンドラインで設定が必要な理由は、Vistaの初期設定のままではIPv6インターネットにあるマシンにはつながらないため、それを変更しなければならないためだ。Teredoを使うためにはTeredoサーバーが必要だ。Teredoサーバーの実体は2つの機能を持つ。1つはNAT下のマシン同士の通信に使われ、もう1つはIPv6インターネットにあるマシンと通信する(Teredoリレー)ためのものだ。
Vistaで初期に設定されているTeredoサーバーはこのうちマシン同士の通信用の機能しか持たないため、ピアツーピアでは使えるもののIPv6ネットワークあるマシンにはアクセスできない。
Teredo設定を変更して踊る亀を見る
IPv6のテストとしておそらく日本で最も多く使われるサイトにwww.kame.netがある。このサイトにいる亀はIPv4でアクセスするとじっとしているが、IPv6でアクセスすると踊っている(Dancing kame)。
ここで注目したいのはアドレスバーの部分だ。普通ならhttp://www.kame.netになっているはずの部分が、http://[2001:200:…のようにアドレス指定になっている。OCN IPv6ではwww.kame.netと記述できる部分が、Teredo経由ではアドレスを直接指定できない。
残念ながら前述のようにVistaの標準的なTeredo設定では、今のところ亀は踊らない。それはTeredo用サーバーがTeredoリレーの役割を持っていないからだ。そこで2つの機能を持つサーバーに設定を変更してみよう。
コマンドプロンプトを管理者権限で起動し
netsh interface ipv6 set Teredo client Teredo.remlab.netと入力する。次に
ipconfig
と入力すると、Tunnel Adapterのうち1つに2001で始まるアドレスが割り当てられているはずだ。これで制限つきながらIPv6接続環境を手に入れることができた。さっそくInternet Explorer 7を起動して、<http://[2001:200:0:8002:203:47ff:fea5:3085]>にアクセスしてみよう。
この例では海外のTeredoゲートウェイサーバを利用するため、国内の商用IPv6サービスに比べるとスループットが劣るものの、IPv6接続が可能であることがわかる。
これらの設定は1度行えば電源を切っても保存されている。何らかの理由でOCN IPv6が利用できないときは緊急用に使うという手段にもなるだろう。
上手くつながらないときは……
前述の作業を行ってもうまく行かない場合の原因はいくつも考えられる。1つはファイアウォールを無効にしているとうまくいかない。
次にTeredoサーバー関係の設定をチェックしよう。
C:\ > netsh netsh > interface netsh interface > ipv6 netsh interface ipv6 > set Teredo client Teredo.remlab.net OK netsh interface ipv6 > show Teredo
このようになっていれば問題ない。
あとはいろいろ設定を変更してわからなくなった時は、前述のnetshを対話式に使い
netsh interface ipv6 > reset
とすると、再起動が必要になるが、Teredoサーバー名などを除き、多くの設定が元に戻ることも覚えておくと良いだろう。







