Windows10で優先的にIPv6通信する

前回でFortigate側の設定を書きましたが、今回はPCの設定です。
ざっくり言いますと、ユニークローカルアドレス(fc00::/7)の優先順位をIPv4アドレス(::ffff:0:0/96)より高く設定します。

何も設定していなければ、IPv6の通信は以下のような優先順位になってると思います。

>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

また、”netstat -nt”でセッション状態を確認してもIPv4ばかり、youtube.comにpingしてもIPv4アドレスに対してですし
“netstat -nt 1″で観察していても稀にIPv6がでてくるだけだと思います。

そこで、上記の”fc00::/7″の優先順位を”::ffff:0:0/96″より高くします。
設定は管理者権限が必須です。

>netsh interface ipv6 set prefixpolicy fc00::/7 38 13
OK
>netsh interface ipv6 set prefixpolicy ::1/128 50 0
OK

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

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

設定を変更した後、諸々を反映するためにPCを再起動します。
PCの再起動後はIPv6で通信するようになってる筈です。

なお、”netsh interface ipv6 set prefixpolicies”すると上記で変更した内容以外は消えます。
下記は上記コマンドだけ実行した場合です。

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

優先順位   ラベル  プレフィックス
----------  -----  --------------------------------
        50      0  ::1/128
        38     13  fc00::/7

もし上記で”netsh interface ipv6 set prefixpolicy fc00::/7 38 13″だけ設定して不具合が起きたら
必要に応じて下記のように追加します。

>netsh interface ipv6 set prefixpolicy fc00::/7 38 13
OK
>netsh interface ipv6 set prefixpolicy ::1/128 50 0
OK
>netsh interface ipv6 add prefixpolicy ::/0 40 1
OK
>netsh interface ipv6 add prefixpolicy 2002::/16 30 2
OK
>netsh interface ipv6 add prefixpolicy 2001::/32 5 5
OK

下記は本当にいるのかなぁー・・。
>netsh interface ipv6 add prefixpolicy ::/0 40 1
OK
>netsh interface ipv6 add prefixpolicy ::ffff:0:0/96 35 4
OK

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

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

なお、プレフィックスエントリの選択はテキトーです。