Windowsで、IPv6 より IPv4 を優先に設定

Table of Contents

Windows8ぐらいから名前解決でIPv6が優先して使用されてしまうので、内向けに作成したDNSが使用されない状態を回避するためにIPv4を優先に使用するように設定を変更する。
IPv6を無効化する方法もあるが、停止すると使用できなくなるサービスが、発生しそうなので、停止ではなく優先順位の変更で対応する。
※Windows8の時は、IPv6を停止したので、この操作は、Windows10以降でしか確認していないです。

ping localhostで現状を確認

IPv6が使用されていることが確認できる。

Microsoft Windows [Version 10.0.19045.2546]
(c) Microsoft Corporation. All rights reserved.

C:>ping localhost

------------

DESKTOP-PC001 [::1]に ping を送信しています 32 バイトのデータ:
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms

::1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

C:>

現行の優先順位

c:\>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

優先順位の変更

管理者権限で、コマンドプロンプト(or Windows Termianl)を起動して下記コマンドを実行

netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 55 4
netsh interface ipv6 set prefixpolicy ::1/128 50 0
netsh interface ipv6 set prefixpolicy ::/0 40 1
netsh interface ipv6 set prefixpolicy 2002::/16 30 2
netsh interface ipv6 set prefixpolicy 2001::/32 5 5
netsh interface ipv6 set prefixpolicy fc00::/7 3 13
netsh interface ipv6 set prefixpolicy fec0::/10 1 11
netsh interface ipv6 set prefixpolicy 3ffe::/16 1 12
netsh interface ipv6 set prefixpolicy ::/96 1 3

優先順位の変更が反映されているか確認

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

優先順位   ラベル  プレフィックス
----------  -----  --------------------------------
        55      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

ping localhostで変更後の状態を確認

IPv4が使用されていることが確認できる。

c:\>ping localhost

DESKTOP-PC001 [127.0.0.1]に ping を送信しています 32 バイトのデータ:
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128

127.0.0.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

優先順位を元に戻す

管理者権限で、コマンドプロンプト(or Windows Termianl)を起動して下記コマンドを実行

netsh interface ipv6 reset

参考URL

Windows – IPv6 より IPv4 を優先させたい – 覚えたら書く

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です