Windows 10 21H2環境でDHCPサーバからIPv6アドレスがちゃんと割り当てられて、各Webサイトに対してIPv6アクセスができる、という状態であることを確認していた。
しかし、ふと気がついて見るといつの間にかにIPv6アクセスではなくなっていたようだった。(たとえば IIJmio にアクセスするとConnected via IPv4表記になっていた)
「ipconfig /all」コマンドを実行してみると、「リンクローカルIPv6アドレス」はあるものの「IPv6アドレス」がない。
また、DNSサーバとして、これまでIPv6アドレスが2つ登録されていたものが、IPv4サーバのみになっていた。
手動でIPv6アドレスを設定してみるとIPv6アクセスができるので、ネットワーク側の問題ではないようだ。
いろいろ悩んだのですが、「netsh interface ipv6 dump」コマンドでIPv6に関する設定情報を取得してみるとおかしな状態が・・・(ログを取ってなかったので↓はこんな感じだった、という再現出力で、細かいパラメータについてはたぶん実際の状況とは異なると思います)
C:\Users\osakanataro>netsh interface ipv6 dump
# ----------------------------------
# IPv6 構成
# ----------------------------------
pushd interface ipv6
reset
set interface interface="イーサネット (カーネル デバッガー)" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="Wi-Fi" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="ローカル エリア接続* 1" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="イーサネット" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="ローカル エリア接続* 4" forwarding=enabled advertise=enabled mtu=1280 nud=enabled ignoredefaultroutes=disabled
set interface interface="ローカル エリア接続* 2" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="イーサネット 2" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="イーサネット 3" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="イーサネット 4" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="vEthernet (Default Switch)" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
popd
# IPv6 構成の最後
# ----------------------------------
# ISATAP 構成
# ----------------------------------
pushd interface isatap
popd
# ISATAP 構成の最後
# ----------------------------------
# 6to4 構成
# ----------------------------------
pushd interface 6to4
reset
popd
# 6to4 構成の最後
C:\Users\osakanataro>
コントロールパネルのネットワークアダプターでは表示されないデバイスについての設定がいろいろ入っていました。
ここらへんの設定が影響しているかもしれない、ということで、IPv6に関する設定をすべて消去してみました。
コマンドは「netsh interface ipv6 reset」です。
実行完了後、Windows OSの再起動が必要です。
再起動後に確認してみると、IPv6アドレスが期待通りに割り当てられており、また、IPv6アクセスも正常にできていました。
なお、再起動後の「netsh interface ipv6 dump」の内容は下記のようになっていました。(Hyper-V設定を行っているので、vEthernetがあります)
C:\Users\osakanataro>netsh interface ipv6 dump
# ----------------------------------
# IPv6 構成
# ----------------------------------
pushd interface ipv6
reset
set interface interface="vEthernet (Default Switch)" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
popd
# IPv6 構成の最後
# ----------------------------------
# ISATAP 構成
# ----------------------------------
pushd interface isatap
popd
# ISATAP 構成の最後
# ----------------------------------
# 6to4 構成
# ----------------------------------
pushd interface 6to4
reset
popd
# 6to4 構成の最後
C:\Users\osakanataro>