ping localhost时出现::1的原因以及解决办法

ping localhost时出现:

在cmd中ping localhost解析出来的是ipv6的::1的原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。

具体解决方法如下:

1.打开命令提示符:输入命令netsh interface ipv6 show prefixpolicies,查看ipv6的优先级:

请注意,ipv6地址(::/0)优先于ipv4地址(::/96,::ffff:0:0/96),因此我们可以制定策略,使ipv6不会比任何ipv4地址有利。其中,标签表示优先级,0表示优先级最高,依次类推。

2.需要设置使::/96、::ffff:0:0/96的优先级高于::/0和::1/128,在命令行中依次设置优先级:

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 30 2
netsh int ipv6 set prefix 2001::/32 20 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5

3.执行netsh interface ipv6 show prefixpolicies命令完成之后查看优先级如下:

 4.再执行命令ping localhost如下:

成功解决。

发表评论