みどりの葉っぱ

健康やお料理のこと、ときどき日々の出来事など書いています。

localhostが127.0.0.1じゃないときの対処方法。

f:id:skypon:20190118234246j:plain


なにかがうまくいかなくなったとき、

ふと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


これは、IPv4よりIPv6のループバックが優先されているからです。


(トラブルシュートはIPv4で行いたいなぁ…)
localhost127.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

上記コマンド実行後、コンピュータの再起動で元に戻せます。