Teredoの実装(Windows)
Teredoクライアントは既にWindows上で実装されていて、WindowsUpdateか何かでAdvanced Networking Pack for WindowsXPをインストールすると使えるようになります。使い方はさっきのIPv6styleの記事の2ページ目の下の方を参照のこと。
Teredoサーバは自由に使えるものがMicrosoftから既に提供されていて、デフォルトのTeredoサーバがそれです。どうやらうちのNATはCone NATらしくて、記事の通りにnetshを実行してtypeを変更すると
netsh interface ipv6>show teredo Teredo Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
と、きちんとTeredoアドレスの割り当てを要求してくれました。
ただ、肝心のTeredoリレーはまだインターネット上で提供されてないので、これだけではNAT内からIPv6ノード(kameとか)にはアクセス出来ないみたいです。
それなら!と思って、NAT内のTeredoクライアント同士での通信(ping6)を試みてみたのですが、Teredoアドレスに対応するプライベートIPv4アドレスの受け渡しまでは成功しているように見えるものの、Teredoインタフェイス経由でのパケット送信から受信の間で失敗してしまいました。Etherealで調べてみると、どうもethernetフレームもIPv4ヘッダも無しでいきなりIPv6ヘッダを受け取ってしまっているみたいで……。ping6プログラムがソケットオプションPROTECTION_LEVEL_UNRESTRICTEDを指定してない(?)せいなのかなぁ。