2009年3月5日木曜日

Teredoって何? ブリッジおかしくない?


仕事場でIPv6をテストしたくてWindowsXPでIPv6を有効にしたのですが、
ルータからRAは送信されているもののPCのIPv6アドレスが設定されません。
で、パケットデータを見ていると妙なIPv6パケットが流れてる。
よくよく見るとそのPCからIPv4でトンネリングされてるパケットだったり。
どうやらNAT配下でのIPv6通信を助けるためのTeredoという仮想NICのようですが、
邪魔なので無効にします。
方法は以下を実行するだけでした。


netsh interface ipv6 set teredo disable



しかし、Teredoを無効にしてもリンクローカルでないIPv6アドレスはふられません。
というかルータからのRAをPCが受信していないようです。
これもいろいろ調べて原因がわかりました。
NICをいったん無効にしてから有効にしなおすとちゃんとIPv6アドレスが設定されます。orz
まあ、エラーが出てWindows Updateが失敗する腐りかけのWindowsなのでしょうがないような気もしますが。


ところで、私は2つのNICを1つのブリッジにまとめて1つを上流のネットワークに接続し、
他方に開発中のネットワーク機器等をつないでWiresharkでパケットキャプチャできるようにしています。
昨今リピータハブが店頭に皆無で、しかも100Base-TX対応のダムハブとなると完全に絶滅しており、
この機能をとても重宝しています。あまったNICをお持ちの方はぜひ試してみてください。
この場合以下のコマンドでレイヤー3スイッチ動作を無効にしておいたほうがいいでしょう。


netsh bridge set adapter "1" forcecompatmode=disable

ただし"1"の部分はインターフェイスIDですので、

netsh bridge show adapter

でIDの一覧を確認して、該当するIDを片っ端から無効にしてください。


ちなみに私のPCではIPv6アドレスが設定できていないときに
ブリッジがIPv6のRAを透過してくれませんでした。
これでかなり悩んだんですけど…
そろそろOSをインストールしなおしたほうがよさそうです。
いや、PC買い替えか?

0 件のコメント:

コメントを投稿