Windows网页有时打不开的问题(启用ipv6后),优先使用ipv4 您所在的位置:网站首页 网页打不开的照片 Windows网页有时打不开的问题(启用ipv6后),优先使用ipv4

Windows网页有时打不开的问题(启用ipv6后),优先使用ipv4

2024-07-18 03:16| 来源: 网络整理| 查看: 265

问题描述

最近在路由器把ipv6启用之后,发现电脑上有些网页打不开了。效果大概就是连接超时,或者连接失败。比如最近网易云音乐网页版就经常打不开,从浏览器查看会问题是ERR_CONNECTION_TIMED_OUT或者ERR_FAILED(有时有其他错误)。但是切换4G或者在网卡中禁用IPv6之后就能正常打开。

问题排查

在cmd中简单ping一下网页主机(也可以用nslookup),会发现music.163.com解析结果为一个ipv6地址。猜测是当地ipv6线路质量不佳或运营商ipv6路由问题导致该服务器断续不可达。

这是由于Windows有时候会在启用ipv6后优先请求ipv6地址导致的。目前国内ipv6正在加速普及,但是很多网站的ipv6支持还不如ipv4稳定,我们考虑在保留网卡ipv6功能的基础上,让系统优先访问ipv4资源。

解决方法

参考这篇博客( https://www.cnblogs.com/qishine/p/12075916.html )的方法,找到了官方推荐的方式让Windows优先访问ipv4资源(至少可以做到解析时优先使用A记录而非AAAA记录)。

当前主流的Windows系统(从Windows 7之后)都会同时使用ipv6和ipv4,并且优先使用ipv6。当你ping另一个服务器的时候就能看到,优先使用的是ipv6进行通信。由于能够在DNS中解析到AAAA记录,所以本地服务器会优先使用ipv6进行通信,对方也会回应。

微软推荐是修改注册表来实现,而不是禁用ipv6。简单的从网卡属性里去掉ipv4的钩,并不能禁用ipv6。在以下位置添加一个REG_DWORD值,HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents,并将值设置为32(10进制)或0x20(16进制)。

具体配置参数含义如下图:

DisabledComponents配置项各BIT含义解析

默认没有这个键值的时候相当于全0,禁用ipv6是全1,不过并不推荐禁用。只要根据我们的具体需求配置对应位置的参数就可以了。我们目前需要的就是将PreferIpv4这个位置1。高位在下方,PreferIpv4在从高到低的第3位,对应的二进制值就是00100000。转换成16进制0x20或者10进制32,对应写入注册表重启就可以了。将DisabledComponents设置成32,并重启计算机

如果想要修改回来,只要将DisabledComponents改成0或者删除这个键值,重启就可以了。全程不需要修改网卡属性上的ipv6设置。

注意事项

1. 应用本方法前,请先确认问题的确是由于ipv6导致的。具体确认方法可以是将无法正常访问的域名放到ping或nslookup中,看解析结果是否为ipv6地址。然后在网络适配器选项中——选择当前连接——右键属性——暂时取消Internet协议版本6的勾选,应用。然后再尝试刷新网页看看是否恢复。若此时访问正常,则可以尝试上文的办法。

2. 修改注册表中该键值后,需要重新启动电脑。(重新禁用启用网卡是无效的)

3. 写本文时,测试的Windows版本为Windows10 1903(18362),上述方法有效。

4. 本文方法为转载。

关键词

Windows 网页 连接超时 ipv6 ipv4 优先



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有