localhostが127.0.0.1じゃないときの対処方法。
なにかがうまくいかなくなったとき、
ふとpingなどのコマンドを実行して、
トラブルシュートしようとするのですが、、、
下記のような結果となり、
うぅ💦。。。となることがあります。
C:\work>ping localhost DESKTOP-0Q8DNEI [::1]に ping を送信しています 32 バイトのデータ: ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
これは、IPv4よりIPv6のループバックが優先されているからです。
(トラブルシュートはIPv4で行いたいなぁ…)
(localhostは127.0.0.1のはず…)
☆そんなときは、IPv4を優先にしましょう。
<IPv4優先設定の流れ>
①現状の把握
②優先順位変更
③設定後の確認
<手順>
①現状を把握します
・Windowsキー+R
・cmd と入力し、ENTER
・ping localhost を実行してみると…127.0.0.1じゃない。
C:\work>ping localhost DESKTOP-0Q8DNEI [::1]に ping を送信しています 32 バイトのデータ: ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
・netshで優先順位を確認します。
C:\work>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
★がIPv4です。これを優先順位で1番にすればOK。
②優先順位変更
優先順位 60
ラベル 0
プレフィックス ::ffff:0:0/96
で、優先順位を変更します。
コマンドツールを管理者モードで起動し、下記のコマンドを実行します。
C:\work>netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 0 OK C:\work>
通常のコマンドツールで実行すると、
「要求された操作には、権限の昇格が必要です。管理者として実行してください」
と表示され、実行できません。
<管理者モードのコマンドツールの起動方法>
プログラム→Windowsシステムツール→コマンドプロンプトを右クリック→その他→管理者として実行
③設定後の確認
・netshで優先順位を確認します。
C:\work>netsh interface ipv6 show prefixpolicies アクティブ状態を照会しています... 優先順位 ラベル プレフィックス ---------- ----- -------------------------------- 60 0 ::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 の確認。127.0.0.1 がlocalhostとして認識されています★
C:\work>ping localhost DESKTOP-0Q8DNEI [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
※設定のリセット方法
C:\work>netsh interface ipv6 reset
上記コマンド実行後、コンピュータの再起動で元に戻せます。