wiki:IPv6/Teredo

Teredoを使ってみる

2007/7/11のセキュリティ更新でTeredoが動かなくなった話についてはこっちに

Teredoは、IPv4ネットワーク上でIPv6をトンネリングする仕組み。  6to4ではNAT配下では使えないけれど、TeredoはNAT配下でも使えるのが大きな特徴。 いわゆる「UDP穴空け」を行って、たいていのNATでうまく使えます。

 TeredoクライアントはWindows XP SP1以降に入っています。 Windows XPではデフォルトで無効なので有効にする必要があります。 Windows Vistaではデフォルトで有効です。 Vistaを起動すると、マイクロソフトが設置したTeredoサーバに勝手に接続します。 これってそのうち問題になるんじゃないですかねえ?

まずは動かしてみる

Windows XPの場合。

コマンドプロンプトから以下のように操作。

C:\>netsh
netsh>interface ipv6
netsh interface ipv6>install
OK

netsh interface ipv6>set teredo enterpriseclient teredo.remlab.net
OK

netsh interface ipv6>show teredo
Teredo パラメータ
---------------------------------------------
種類                    : enterpriseclient
サーバー名              : teredo.remlab.net
クライアント更新間隔    : default
クライアント ポート     : default
状態                    : qualified
種類                    : teredo client
ネットワーク            : managed
NAT                     : cone
netsh interface ipv6>quit
install
XPではデフォルトでIPv6が無効なので、IPv6を有効にする必要があります。
set teredo enterpriseclient
ウェブで情報を探してみると「set teredo client...」としろという記述をよく見かけます。しかし、こうすると、NAT配下では高い確率で「クライアントは管理されたネットワークにあります」というエラーになります。これはどうやら、企業内などでは安易に社外と直接のIPv6接続をしないということを意図しているようですが、よくわかりません。

サーバ名の「teredo.remlab.net」は、 オープンソースのTeredoサーバMiredoを開発しているRémi Denis-Courmont氏が提供しているサーバです。ここを経由して通常のIPv6ネットワークに出て行くことができるそうです。

その他パブリックなTeredoサーバ

  • teredo.autotrans.consulintel.com
  • teredo.ipv6.microsoft.com
show teredo
show teredoしたときに「状態」の項目に「probe(cone)」などと表示される場合は、接続処理(NATの検出)の途中です。さらに10秒くらい待って、もう一度show teredoしてみてください。

コマンドプロンプトでipconfigしてみます。

C:\>ipconfig

Windows IP Configuration


Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . : accense
        IP Address. . . . . . . . . . . . : 192.168.1.242
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        IP Address. . . . . . . . . . . . : fe80::20c:29ff:fe77:69b7%4
        Default Gateway . . . . . . . . . : 192.168.1.1

Tunnel adapter Teredo Tunneling Pseudo-Interface:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 2001:0:53aa:64c:8000:f839:249d:4ffc
        IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%5
        Default Gateway . . . . . . . . . : ::

Tunnel adapter Automatic Tunneling Pseudo-Interface:

        Connection-specific DNS Suffix  . : accense
        IP Address. . . . . . . . . . . . : fe80::5efe:192.168.1.242%2
        Default Gateway . . . . . . . . . :

トンネルアダプタのIPアドレスとして2001:で始まるIPv6アドレスが表示されています。 Teredoサーバに正しく接続され、IPv6アドレスを取得できたことがわかります。 fe80:で始まるIPv6アドレスだけが表示される場合は、うまくいっていません(fe80:はリンクローカルアドレスでしたね)。

設定した内容は、電源を切っても消えません。 設定がよくわからなくなっちゃったときは、以下のコマンドでいつでも元に戻せます。

C:\>netsh interface ipv6 reset
OK

IPv6さえもいらない場合は同様に「netsh interface ipv6 uninstall」コマンドでどうぞ。

とりあえずIPv6で外部と接続できたようなので、今日はここまで。

(2007/2/8 sgk)