admin 管理员组

文章数量: 887021

2019独角兽企业重金招聘Python工程师标准>>>

【记一次关于ipv4无法连接ipv6却可以上网的解决过程】最近因为天气炎热,电脑卡的不行,刚想和妹子侃会儿大山,却发现电脑卡成翔,一怒之下按住电源键四秒,想让电脑稍作冷静之后再来为我服务。

谁承想,再开机以后居然qq登陆不上去,网页也打不开了,

尝试1:浏览器地址栏输入百度的地址(测网速用)。

结果1:chrome表示无法显示此网页。

尝试2:瞄了一眼右下角状态栏。

结果2:本地连接明明连的好好的。

尝试3:然后打开cmd,试着ping了一下百度。

结果3:a.shifen的服务器及其IPv4地址可以解析出来而且ping通且速度良好。

怀疑:TCP服务出现问题。

尝试4:尝试用telnet连接百度页面。

结果4:返回很正常的在端口23拒绝链接的结果。

疑问:TCP与UDP皆正常,但为何无法连接 ?

尝试5:打开wireshark,尝试用telnet进行连接的时候与浏览器打开网页的时候的线上数据包进行对比。

结果5:发现telnet数据包发送的DNS请求时IPv4的请求,而浏览器使用的是IPv6的,而浏览器对百度的IPv6地址的DNS查询出了问题

解释:因为我们的校园网是46通用,自动选择,就怀疑是否是校园网的6on4服务器出现了问题

但是:同宿舍的同学可以上网好好的,所以应该不是校园网的问题,问题还是应该出现在自己电脑上。

提出假设: 可能更换一个IPv6的DNS地址会暂时改善一点?

尝试6:用手机查出了一个可用的IPv6的DNS地址,北京邮电大学的,并且更换到了本地连接的DNS上。

结果6:一如往常,所以不是v6的DNS服务器的问题。

为确保所有DNS服务器都没有问题,使用了nslookup命令,查询了本机连接的所有DNS服务器,结果都可以连接

疑问:如果v4对应的域名解析成v6成问题,那v6对应的域名解析成v6会不会有问题呢?

尝试7:打开了google的IPv6版本:ipv6.google。

结果7:可以访问完全没有问题。

然后就超出了我的知识范围,使用手机上网搜索答案

尝试8:解决“IPv6能够上网,IPv4无法连接”需要对winsock注册表进行修复,在cmd中敲入 netsh winsock reset,重启计算机

结果8:成功,IPv4和IPv6的地址都正常访问

解释:由于我们的校园网是46混搭的,所以它的DHCP服务也分v4和v6两个版本,刚才的情况是由于强制关机而造成了dhcp在本机中的组件出现了问题,导致计算机不能识别v4地址,而错误地用v6的方式进行dns解析,从而dns包中发送的是请求v6解析的“AAAA”包,而不是v4解析的“A”包,故造成了这个问题。


转载于:https://my.oschina/apoptosis/blog/226030

本文标签: 过程