Ping localhost 结果为 ::1,导致网络通讯故障

2024-08-23 20:31:34 浏览数 (3)

起因

由于需要在本地调试一个项目,安装了 小皮面板(phpstudy_pro) 调试过后就关闭了小皮面板,再过了几天再次打开小皮面板启动环境后调试时,发现localhost以及127.0.0.1`都无法访问,提示找不到页面404,检查hosts文件也没有发现问题。 然后打开cmd窗口ping localhost时发现了问题

shell 代码:

代码语言:javascript复制
正在 Ping DESKTOP-4KB0MUI [::1] 具有 32 字节的数据:
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms

::1 的 Ping 统计信息:
    数据包:已发送=4,已接收=4,丢失=0(0%丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

问题原因

Windows中的IPv6 DNS解析优先级高于IPv4 DNS解析

解决方法

1.第一步

管理员身份运行cmd查看优先级列表命令: netsh interface ipv6 show prefixpolicies

shell 代码:

代码语言:javascript复制
C:Users小北>netsh interface ipv6 show prefixpolicies
查询活动状态...

优先顺序    标签   前缀
------- -- --------------------------------
        50      0  ::1/128
        40      1  ::/0            #此处::/0为IPv6
        35      2  ::ffff:0:0/96   #此处::ffff:0:0/96为IPv4
        30      4  2002::/16
        10      5  2001::/32
         5      13  fc00::/7
         3      11  fec0::/10
         1      12  3ffe::/16
         1      3  ::/96           #此处::/96为IPv4

2.第二步

复制下方代码到cmd窗口依次执行

shell 代码:

代码语言:javascript复制
netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 35 2
netsh int ipv6 set prefix 2001::/32 30 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
netsh int ipv6 set prefix fc00::/7 3 13
netsh int ipv6 set prefix fec0::/10 1 11
netsh int ipv6 set prefix 3ffe::/16 1 12

返回如下值

shell 代码:

代码语言:javascript复制
C:WindowsSystem32>netsh int ipv6 set prefix ::/96 50 0
确定
C:WindowsSystem32>netsh int ipv6 set prefix ::ffff:0:0/96 40 1
确定
C:WindowsSystem32>netsh int ipv6 set prefix 2002::/16 35 2
确定
C:WindowsSystem32>netsh int ipv6 set prefix 2001::/32 30 3
确定
C:WindowsSystem32>netsh int ipv6 set prefix ::1/128 10 4
确定
C:WindowsSystem32>netsh int ipv6 set prefix ::/0 5 5
确定
C:WindowsSystem32>netsh int ipv6 set prefix fc00::/7 3 13
确定
C:WindowsSystem32>netsh int ipv6 set prefix fec0::/10 1 11
确定
C:WindowsSystem32>netsh int ipv6 set prefix 3ffe::/16 1 12
确定

3.第三步

再次查看优先值netsh interface ipv6 show prefixpolicies 返回如下值

shell 代码:

代码语言:javascript复制
C:Users小北>netsh interface ipv6 show prefixpolicies
查询活动状态...

优先顺序    标签   前缀
------- -- --------------------------------
        50      0  ::/96
        40      1  ::ffff:0:0/96
        35      2  2002::/16
        30      3  2001::/32
        10      4  ::1/128
         5      5  ::/0
         3     13  fc00::/7
         1     12  3ffe::/16
         1     11  fec0::/10

4.第四步

ping localhost 返回

shell 代码:

代码语言:javascript复制
C:Users小北>ping localhost

正在 Ping DESKTOP-4KB0MUI [127.0.0.1] 具有 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

至此该问题解决,可以正常访问127.0.0.1`localhost

参考文献:

  1. https://blog.csdn.net/weixin_36872950/article/details/95357937

0 人点赞