这个博客已经过去了很久……

不过,你可以通过以下方式找到我

现在的位置: 首页 > 谈前端 > server > 正文
2014-1-21中国互联网根域名服务器 (DNS) 故障是什么原因
2014年01月24日 server, 听听看 ⁄ 共 2041字 等你评论

白话无图脱水版:

你想去北邮(通过Google访问谷歌搜索服务器)但不知道在哪个位置(IP地址),

然后问路边一小孩 (DNS缓存):

小盆友,北邮在什么地方 (谷歌搜索服务器IP地址是什么),

小盆友也没去过 (DNS缓存没有记录或记录过期),

就问旁边的爸爸 (根DNS服务器或骨干网DNS服务器),

北邮在哪儿,他爸一脸不高兴(你竟然敢访问谷歌)

的指了指去法海的方向 (被污染的DNS服务器)

的对你说,法海会告诉你。

法海你还没见到,一张写着地址的纸就落到你手上 (被污染的DNS返回):

No 213,Street Paifang,Beijing (65.49.2.178)。

你屁颠屁颠地蹬着三轮朝那个方向去了 (用龟速的网络继续找呀找呀找),

突然发现前方有不明黑色气团 (你电脑瞬间就惊呆了,此IP是个冒毛线啊, 根本就不是谷歌搜索的服务器),

然后你就晕过去了 (浏览器提示:oops, chrome can't connect to http://www.google. com/哥们,暂时无法访 问,请稍后再试/360浏览器提示您,请备好 360各种杀毒工具待命/猎豹浏览器提示您, 我们的刷票工具不能破解验证码,请明日到 12306柜台办理登船手续/Internet Explorer,苍 天你还在用6,怪不得上不去网,装360补丁 吧/QQ弹窗提示您:我们的群共享服务器也挂 了,请及时存好种子)。

此文摘抄于k.root-server. net服务器,与本博客无关。

补充:QAQ这里说的有点过简单了,其实根DNS(ROOT DNS)指的是全球一共13台的根DNS,负责记录各后缀所对应的TOPLEVEL Domain Server[顶级域名根服务器],然后接下来的就是[权威DNS服务器],就是这个域名用的DNS服务器(可以在whois中看到)

总结一下:

[根服务器]:全球一共13个A-M[.http://root-servers.net],储存着各个后缀域名的[顶级域名根服务器]

[顶级域名根服务器]:每个后缀对应的DNS服务器,存储着该[后缀]所有域名的权威DNS

[权威DNS]:这个域名所使用的DNS,比如说我设置的DNSPOD的服务器,权威DNS就是DNSPOD。在WHOIS(一个查看域名信息的东西)中可以看到。储存着这个域名[对应着的每条信息] 如IP等~

 

所以正确的解析过程应该跟下面的图一样

用户使用的DNS(边缘DNS)->(还会网上推很多级最终到)根DNS->顶级域名根服务器->权威DNS

根DNS是什么呢?大家想想,每个域名都有一个后缀,比如说是[.info]后缀的。那么就有一个专门记录[.info]后缀的dns服务器,其他后缀也一样。这个DNS就是该域名的根DNS。
那么递归DNS呢?其实递归DNS就是一个代理人,是用来缓解[根DNS]压力的,如果大家都去问[根DNS],那[根DNS]不早就跪了。毕竟一个人(网站)的地址不是经常变的,所以就有了TTL这一说法,根据DNS的规定,在一个TTL时间呢,大家就认为你家里(域名所指向的IP)的地址是不会变的,所以代理人[递归DNS]在这个时间内,是只会问一次[根DNS]的,如果你第二次问他,他就会直接告诉你域名所指向的IP地址。这样就可以解决[根DNS]负载过大的问题啦。
顺便这一张图也可以很准确反映出来之前所说的~ =w=

从侧面点出了此次事件的始作俑者。
那么某FW为什么要这么做呢?在这里做一个无责任的推测,最有可能的就是:某FW的员工本来是想屏蔽这个IP段的,但是呢一不小心点进去了DNS污染这个选项,然后又没写污染目标,于是就全局污染了啧啧啧~

但是有些童鞋会问了(╯‵□′)╯︵┻━┻为什么他们都说用8.8.8.8就没事了~
其实这样子说是不正确的,因为之前用的就是8.8.8.8,上面也说了DNS查询默认使用的UDP查询,所以不管你用什么,照样劫持不误。其实8.8.8.8没问题是因为污染事件已经基本结束导致的,那么为什么污染结束后其他国内DNS都不能用,而Goole的DNS确可以正常的使用~

至于有人说 DNSPod 源码问题,那是彩蛋好吗。。很多网站都有的。。那图里面你仔细找找有很多 at 都是 Web 团队的同学微博,程序员的恶趣味你是不会懂的。
---

我猜测是境内互联网管理机构员工手误,乌龙指。

  1. 我国境内 DNS 根被劫持/污染,被污染网站 IP 地址指向 65.49.2.178
  2. 有能力有胆量污染 DNS root 的几乎只可能是该监管机构
  3. IP Address: 65.49.2.178 可以查到 Organization: Sophidea
  4. Sophidea Webhosting Statistic @ SmartViper.com 可以看到这个服务商的最大客户,就是鼎鼎有名的。。。。不说了

所以不难猜测出过程可能是这样的,某操作员本来要将该 IP 封禁,从而阻止大家下载那啥。但是操作失误,错误的使用了劫持功能,并且没有填写要劫持的域名,然后把该 IP 填写到了劫持后的地址上,然后造成了无法挽回的事故。

友荐云推荐
×