WIN2012/WIN2016/WIN2019的localhost解析地址为::1解决办法

Posted bdqczhl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WIN2012/WIN2016/WIN2019的localhost解析地址为::1解决办法相关的知识,希望对你有一定的参考价值。

问题如图所示:

技术图片
 
在cmd中ping localhost解析出来的是IPV6的::1,原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。网上有一种方法是修改注册表的,具体方法为:打开RegEdit,导航到HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services tcpip6 Parameters, 创建DisabledComponents DWORD注册表值,将其值设置为20(十六进制),然后重启电脑。这种方法我试了,还是没能解决。
 
我用的是修改优先级的方法解决的,即修改ipv4优先级高于ipv6的记录到优先解析表中。具体方法如下:
 
1.命令提示符(管理员)(A)     (就用是管理员权限打开cmd)
2.输入命令  netsh interface ipv6 show prefixpolicies,查询ipv6优先级
技术图片
请注意,IPv6地址(:: / 0)优先于IPv4地址(:: / 96,:: ffff:0:0/96),因此我们可以制定策略,使IPv6不会比任何IPv4地址有利。其中,标签表示优先级,0表示优先级最高,依次类推。
 
现在需要设置使::/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 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
 
技术图片
 
完了后输入命令netsh interface ipv6 show prefixpolicies查看优先级:
 
技术图片
 
可以看到,此时:: / 96,:: ffff:0:0/96优先级高于::/0了。ping一下localhost
技术图片

以上是关于WIN2012/WIN2016/WIN2019的localhost解析地址为::1解决办法的主要内容,如果未能解决你的问题,请参考以下文章

兆芯 服务器 win2012/win7装机总结

Win Server 2012 R2 WSUS 无法识别 Win Server 2016 & Win10的解决办法

修改windows 2012/win8win7远程桌面连接默认端口的方法

VS2012+Win7站点公布具体步骤

设置 OpenCV 2.4.3 和 Microsoft Visual Studio 2012 (Win8 x64)

lduan server 2012 MDT2012+WDS XP-Win7部署映像 (三十一)