WindowsでIPv4をIPv6より優先させる

なんかWindowsクライアントからくるリクエストがIPv6の時があるので調べてみた。

  • 現状確認

デフォルトではIPv6IPv4ともに有効になっているが優先順位はどうなっているのか?

>netsh interface ipv6 show prefixpolicies
アクティブ状態を照会しています...

優先順位   ラベル  プレフィックス
----------  -----  --------------------------------
        50      0  ::1/128
        40      1  ::/0
        35      4  ::ffff:0:0/96
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

優先順位35の::ffff:0:0/96IPv4マップということらしい。
こいつを最優先にしてみる。

  • 設定

ぐぐると優先順位50の::1/128と入れ替えろというのが見られるが面倒なので優先順位を50より高くしてみる。

>netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4
OK


>netsh interface ipv6 show prefixpolicies
アクティブ状態を照会しています...

優先順位   ラベル  プレフィックス
----------  -----  --------------------------------
        60      4  ::ffff:0:0/96
        50      0  ::1/128
        40      1  ::/0
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

どうやら、上手くいってるっぽい。