不要使用公共DNS服务!

2012-01-27

现在好多网友使用诸如Google Public DNS之类的公共DNS服务器作为系统默认的DNS解析服务器。诚然,公共DNS服务器具有无广告、可以在一定程度上防止DNS劫持、不需因上网环境的改变而改变等优势,但是,我认为使用公共DNS还是弊大于利的。

理由如下:

第一,虽然公共DNS有一定的防DNS劫持的作用,但是随着“墙”的升级,这种作用已经很微弱了——无论你是使用ISP的默认DNS,还是使用国外的公共DNS服务器,解析诸如twitter.com之类的域名所得到的结果均会受到DNS污染。论及效果,还不如火狐的远程DNS解析。

第二,响应时间长。目前广泛使用的公共DNS大多位于海外,网络延时较大,再加上我国出国带宽有限,有些同学还喜欢玩DDOS,你说解析速度能快得了吗?

第三,导致网页浏览变慢。现在好多网站使用智能DNS或者CDN技术对网站访问进行优化,而智能DNS的原理就是通过判断DNS服务器的归属返回给用户一个(组)最优的服务器IP地址(CDN亦然)。而一旦使用了公共DNS,用户就不能获得最优的IP地址,甚至可能导致浏览速度巨慢。以目前广泛使用的Google Public DNS为例,假如用户位于国内,通过其解析一些使用CDN加速的域名,得到的会是美国的或者日本的IP地址。而实际上,DNS返回国内的IP才是最优。这样,CDN的效果就大打折扣了。

第四,隐私问题。好多国内用户正是因为担心个人隐私泄漏(有些人是不愿把隐私“贡献”给国家)才选择使用公共DNS服务器(尤其是国外的),而实际上这完全没有必要,毕竟国内ISP的DNS服务器不是谁想接触就能接触的。退一万步讲,你以为你不主动把隐私“贡献”给国家 国家就不知道了吗?不要忘了路由器是谁的,墙是谁的。

相反,我认为使用国外的公共DNS会带来隐私问题。纵观长城外的公共DNS服务,都选择了免费战略,并且很少的服务商会选择打广告。这也就是说,公共DNS服务是不盈利的。既然不盈利,那为什么那么多公司会给你免费的午餐呢?做慈善?扩大知名度?或许吧,这的确是一个树立公司良好形象和扩大公司知名度的好方法。但谁敢保证他们不是为了这诱人的数据呢?假如FBI或者CIA伸手索要的话,他们有实力拒绝吗?

第五,国家安全问题。结合上面,一旦得到用户数据,通过对数据进行分析整理,就很容易得到用户的喜爱偏好、经常浏览的站点等信息,为网络心理战下一步的“循循善诱”做好准备,也为将来的网络战获取了重点打击的目标。

综上所述,我反对使用公共DNS,尤其是国外的DNS。如有不同见解,欢迎拍砖!谢谢阅读!


除非特殊说明,本博客文章均为原创,转载请以链接形式标明博文地址。

本文链接地址: 不要使用公共DNS服务!

分类:互联网 | 标签: |
  1. 我这点隐私,通过dns能知道的,大不了就是访问过什么域名嘛。fbi随便看,cia随便查,只要别给我搞域名污染,屏蔽,爱怎么看怎么看

  2. 之前还在犹豫是用公共DNS还是运营商的DNS,看了楼主的文章感觉有理,还是用运营商的DNS吧
    还有为什么游客的头像是苍蝇?

    • 要么使用运营商的,要么自己在运营商DNS后面再搭一个防污染的DNS,公共DNS对于DNS污染没有任何作用。PS:游客头像不是苍蝇,我记得头像放大了之后是一个美女背影。。

  3. 最后一条原因暴露了洗地的本质。还国家安全。普通人谁去看关系国家安全的网站?对了,哪个网站关系国家安全,能介绍下吗?把淘宝打瘫会关系国家安全?你这神逻辑。

  4. SB楼主,一看就知道是毛左。有本事你别用手机别用电脑啊,Windows 是美国的,Android/iOS/Java全是美国的,呵呵呵呵呵呵

        • 还是有问题。
          比如用8.8.8.8解析吧,因为长城会进行DNS污染,咱们一般需要一台海外服务器做跳板机(相当于做了个NAT转换),这就导致了一个问题,即使EDNS是生效的,但是8.8.8.8向权威DNS发送数据附带的IP地址是跳板机的(海外),而不会是国内的。如果这个网站正好有海外节点的话,这么做照样会为它分配海外节点。img.mawenjian.net就是一个典型的例子,国内阿里云,国外CloudFlare,如果你通过跳板机用8.8.8.8解析,铁定返回的是海外IP地址。
          如果使用国内的公共DNS,DNS污染就没法解决。

    • 不是ping值小就是最好的哦,亲!
      对于DNS服务器来说,也不是一个域名解析得越快,这个服务器就是最好、最适用的。毕竟DNS再慢,相对浏览网页的时间,还是微不足道的;解析(采用智能解析、CDN等服务的)域名的时候,能够分配一个距离最近、网络状况最好的节点才是最重要的。

  5. 各地都有DNS节点,我用我们省的电信节点,超快,国外我直接翻墙了,公共DNS很多114,DNS派,百度,阿里都还不错!

    • 首先,这篇文章写得比较早,当时国内还没有公共DNS出现;
      其次,公共DNS解析使用CDN的域名的时候就不行了,定位不如ISP自己的DNS服务器精确,这个才是硬伤。Google的EDNS协议还没有成为正式标准。

    • 那就没辙了……要是都访问长宽以外的服务器,网间流量大大增加,本来就被电信联通剥削地不怎么赚钱,再允许就要赔本了,不屏蔽才怪。

    • 对你这样的,我也不必客气,傻逼、脑残~
      你TM知道智能DNS依靠什么来返回最佳IP吗?丫对DNS的原理根本不了解,就跟着人云亦云,满嘴喷粪。你特么在国内拿8.8.8.8解析,返回个美国IP地址,特么快得了吗?拿阿里的,联通给返回电信的IP,能快得了吗?更何况,我写这篇文章的时候,国内还没有公共DNS服务。
      你妈没教过你怎么说话、怎么做人吗?先学会做人说话,了解点基本的网络知识,再出来喷,要不也是给喷子丢人,拉低喷子的下限。

        • 现在还是能不用就不用,即便是114DNS这种启用了AnyCast的DNS,面对启用了CDN的网站,解析精度也不如运营商的DNS。所以我现在在考虑采用自建DNS来屏蔽DNS污染,同时不会降低解析精度。

      • 博主你真觉得谷歌的DNS没有类似云分发的功能?如果说114有的话那我不认为谷歌会没有,以前还没被封的时候有超级PING过,各地的延迟都平均在一个很少的数值,而且谷歌的DNS在国内用的话也不会水土不服,例如用香港的DNS上国内某些网站会分发到国外IP,比如导致QQ空间打开很慢,但谷歌DNS不会,又如何解释!

        • 那叫AnyCast,不叫云分发的,亲。Google Public DNS是最早部署AnyCast的公共DNS,114DNS比它要晚一些。能否得到最佳的IP,和DNS的PING值是无关的,只和递归DNS的IP归属地有关。哪怕PING本地DNS的延时有100ms、而Google Public DNS只有50ms,最终效果也是本地的好。
          用Google Public DNS确实是可能得到较好的IP的,前提是权威DNS也支持Google提出的EDNS标准。但现在的问题是,不是所有的权威DNS都支持EDNS,只要有权威DNS不支持这个EDNS,分到的就极可能是海外的IP地址。
          我说的这些都是有基础理论做支撑的,不是一两个例子就能反驳的。上述言论不成立的条件只有一个,就是绝大部分的权威DNS都支持了EDNS。
          如果不是因为这个原因,就不会有人非得费劲在本地再搭个递归DNS来防止DNS污染了。直接把路由表配到VPN上,采用公共DNS,DNS流量走VPN,完全可以避免DNS污染,但是这样有很大的副作用的,所以才会在本地再搭一个的。

    • 首先说明下,这篇文章写的时候国内是还没有114DNS这样的服务的。
      114dns还说得过去,毕竟节点比较多;SDNS虽说也是AnyCast,但是目测只有两个节点,基本没用;DNS派不是AnyCast,只有单个节点。
      有AnyCast的稍微好些,没有的话,用这玩意儿基本没用,而且会使使用CDN服务的网站的CDN节点分配错乱,导致访问速度缓慢。
      公共DNS这东西,基本没用,除了可以避免查询域名错误时ISP发的广告。其实ISP要想劫持DNS,公共DNS服务器一点办法都没有,毕竟路由器在人家手里。

  6. 中国电信的流氓弹窗! 都没通知的!

    好歹国外的会提前说一声!

    说得大点! 人家商业模式是互利共赢为基础的! 国内的都是坑蒙拐骗居多!当然,要多加个引号”“

  7. 中国电信的流氓弹窗! 都没通知的!

    好歹国外的会提前说一声!

    说得大点! 人家商业模式是互利共赢为基础的! 国内的都是坑蒙拐骗居多!当然,要多加个引号”“