wiki:IPv6/TeredoVistaSecurityUpdate

TeredoがVistaで動かなくなった

ええっと。いつのまにかmiredoと通信できるようになっちゃいました。 以下の速報の後、だいぶ長いことだめな状態が続いていたのですが、ひさしぶりに試したらつながる。 なんだったのだろう。SP1のおかげ?(2008/5/3 - sgk)


未だ現象の特定さえできていないので、速報レベルです。 2007/7/119に、 MS07-038「Windows Vistaファイアウォールの脆弱性により、情報漏えいが起こる 」で説明されている脆弱性に対するセキュリティ更新(935807)が出たので適用したら、VistaでTeredoが動かなくなりました。

2007/8/10続報:またもや状況が変わりました。 これまで、「netsh int te set st enterpriseclient」ってしているにもかかわらず「管理されたネットワークだから」Teredoを意図的に無効にしたという理由で動きませんでした。ところが、なぜか今日は動いているのです(ただし、依然としてMiredoとは通信できず)。 昨日8/9に、 KB938194 KB938979をインストールしたせいでしょうか。 ほんと、マクロソフトが嫌いなのは、いつの間にかOSの挙動が細かく変わること。 KBには細かく説明してあるように見えますが、多くの場合、説明していない部分もがらりと変わります。 こんなんじゃ、Teredoはまだしばらく使えないなあ。

表面的な現象としては、人によって、Vistaマシンの設置状況によって、以下のような様々な問題が起きています。

  • TeredoなIPv6アドレスが取得できない。
  • IPv6アドレスが取得できても通信できない。
  • IPv6アドレスが取得できてるのだが、netshコマンドで状態を見ると「NAT無し」と誤認識している。
  • TeredoなIPv6アドレスに埋め込まれた自分のIPv4アドレスが、変わってないはずなのに時々変わる。
  •  Linux用Teredo実装であるMiredoと通信できない。 パケットキャプチャしてみると、TeredoのIPv4 UDPに埋め込まれたIPv6パケットの後ろに余計なデータが付いています。 プロトコル、変わったのだろうか。

MS07-038を読む限りでは、 MSDNに書いてあるTeredoのセキュリティモデルに従って実装されてなかったのをちゃんと実装しましたというだけのことのようなんだけど、それだけじゃなくていろいろ変わっちゃったようです。確かに、当のセキュリティ更新では非常に数多くのファイルが入れ替えられています。ファイヤウォール云々だけじゃなさそう。

困りました。

(2007/7/14 - sgk)