我在这里: 首页 » 技术杂烩 » 浏览文章: (转)OpenDNS一个免费的DNS查询服务器
« 铁通和电信去除DNS拦截广告方法本周服务器维护时间调整至周四 »

(转)OpenDNS一个免费的DNS查询服务器

今天在别人的网站看到。收藏下,以后或许有用

今天突然想起了OpenDNS这个东东,想仔细研究一下它的用途。

以前好像在cnBeta看过一篇文章提到过这个玩意,下面好多人发评论说他们都在用这个东西,可以提高访问网站的速度云云。我记得这只是个免费的DNS查询服务而已,想看看它到底有什么过人之处。

先到OpenDNS的网站看了看,上面写着OpenDNS可以使您对Internet的访问Safer(更安全),Faster(更快)和Smarter(更聪明)。点进"Get Started"链接,页面显示这个网站提供的是免费的DNS查询服务。所谓更安全,是指OpenDNS可以屏蔽掉一些网络钓鱼(phishing)网站,在您访问这些网站时给出警告。所谓更快,是指OpenDNS提供的DNS查询服务速度比较快,而且使用了cache等技术提高DNS查询速度。所谓更聪明,是指当你输错一些网址的时候,比如把yahoo.com错输成yahoo.cmo,OpenDNS会检测到这个错误,并返回正确yahoo.com的IP地址。另外,你还可以设置Shortcut(缩略名),比如,设置"mail"指向"mail.yahoo.com",以后当你在地址栏输入"mail"后就会自动访问"mail.yahoo.com"这个地址。还有,OpenDNS更可靠,它可以保证长期有效,不会让您因为DNS服务器停止工作而无法访问互联网。

OpenDNS的使用很简单,和其他的DNS服务器一样,只要把网络连接里的两个DNS服务器地址改成OpenDNS的208.67.222.222和208.67.220.220,在OpenDNS网站的Get Started部分对于Windows、Mac、Linux/UNIX、路由器、手机、游戏机、DNS服务器(可以设置让其把请求转发给OpenDNS)都做了详细的图文说明。

OpenDNS还有访问统计等高级功能,不过在此之前你必须要先注册,然后设定你的IP地址。对于一些固定IP的用户,只要填入自己的IP,或者点一个快捷按钮让OpenDNS填入当前客户端的IP地址就可以了。对于ADSL拨号的用户,好像可以下载一个客户端用于自动更新IP的。等这些都设置好了以后,OpenDNS就会对这个IP的所有DNS查询进行统计,并把统计数据汇总到你的帐号里。统计的数据包括每天总的查询次数,查询的域名数等等。另外,对于每个IP地址还可以设置是否使用反钓鱼,是否使用缩略名以及是否自动修正拼写错误。对于一些大网络的网管,比如公司或者学校的网管,可以填写一个申请提交自己的IP段,从而可以设置整个公司或学校都可以使用的缩略名。

直接在Google里搜索"OpenDNS",找到几篇介绍OpenDNS的Blog文章。

速度方面,有人说OpenDNS可以提到访问网站的速度,也有人说只能提高访问国外网站的速度,也有人说OpenDNS对cn域名解析的不太好。关于OpenDNS提高DNS查询速度的问题,我觉得提高不了多少。很多人认为电信或网通提供的DNS服务器是很慢的,需要使用OpenDNS这样快的DNS服务器。但实际上,电信和网通提供的DNS服务器通常是最快的。DNS服务器,以本市->本省->本网的顺序来选择。比如深圳电信,首选的是深圳电信的202.96.134.133,其次是广州电信的202.96.128.68,再其次是其他电信DNS服务器,比如四川电信的61.139.2.69。前段时间根域名服务器要在国内设镜像站点的事,有很多人说,因为根域名服务器都在国外,所以每一次DNS查询都需要出国,所以会慢。可是,出国又不是你出,DNS查询由客户端提交给DNS服务器后,整个递归查询过程都是由DNS服务器来完成,客户端只要等着返回信息就可以了。

好像很多人都在找所谓的“高速DNS服务器”,弄得好像各大电信网通的DNS服务器都很烂一样。不妨用nslookup命令查一下你常用的一些域名的解析时间是多少。一般DNS查询都是很快的,而且Windows在进行DNS查询的时候,是以一秒为超时时间的,当向第一个DNS服务器发出查询请求一秒后还没有返回的话,则立刻向备用DNS服务器发出查询请求。

至于OpenDNS对解析国外网站可能更快的问题,因为OpenDNS服务器在国外,当连接国外的DNS服务器,比如DreamHost的DNS服务器时会快些。不过也都差不多啦,我用nslookup直接连DreamHost的DNS服务器也相当快。

对于OpenDNS的cache,电信和网通的公用DNS服务器也都有cache。不过好像深圳电信的DNS服务器cache时间长些,几乎达到TTL的时间:1小时。广州电信和四川电信的DNS服务器cache时间要短些。顶多,OpenDNS的服务器内存和硬盘更大,能cache的域名解析更多些,但是OpenDNS的faq里也写明了不会让cache的生存时间超过域名的TTL值。

另外,OpenDNS也使用了分布式网络,在美国的4个地方和英国架设的服务器,使得每个访问者可以在离自己最近的服务器进行DNS查询。但是,很遗憾,不包括中国,而计划在香港架设的服务器现在好像还没着落。
Network MAP

ping一下208.67.222.222,时间是270ms,而四川电信的61.139.2.69才80ms。也就是说,每次DNS查询在网络延迟上都要多出0.4秒。

因为OpenDNS是国外的,所以,假如一个域名有智能分析查询者所在网络并返回相应IP的功能时,它会认为查询者来自美国或者欧洲。所以,我在使用OpenDNS后,访问Google和百度的速度稍微慢了些。不仅页面打开速度慢了许多,而且特别明显的是,页面显示出来后要过几秒钟才能显示搜索框上方Google和百度的logo。ping了一下,原来Google只需要130ms,现在需要560ms。去年11月的通过OpenDNS访问新浪会显示新浪新闻主页的事情就是因为新浪对国内国外用户做不同处理引起的。

对于防范域名劫持。呃,真正的域名劫持是指DNS服务器对某个域名恶意地返回劫持者的IP地址,从而对劫持了该域名,使其指向劫持者的服务器。现在很多人所说的域名劫持,大多指的是在域名无法解析的时候返回电信114搜索页面的现象。这种现象可能是IE的搜索功能引起的,那么用Firefox等非IE浏览器就没问题。要么是DNS服务器在域名查询失败后返回特定IP地址以显示搜索页面,比如四川电信的DNS服务器就是这样。还有一种可能就是恶意软件。对于第二种情况,使用OpenDNS后一样会有这样的问题。比如我要访问"yskin1.com",页面就会转到"http://guide.opendns.com/?url=yskin1.com"这个地址,并显示Yahoo的搜索结果。这种情况在所有浏览器中都会发生。而且,OpenDNS网站也是通过和Yahoo的这种合作来获得利润的。

另外好像很多人都在讨论OpenDNS的赢利问题。OpenDNS目前是以和Yahoo合作在用户访问无法解析的域名时返回Yahoo搜索页面。有人说OpenDNS可以卖关于用户DNS查询的分析报告。我觉得这是有可能的,卖这种报告也会很赚钱。不过有人说报告里可以包含用户的浏览器信息,这就不对了。DNS查询是Windows操作系统而非浏览器负责的,它只向DNS服务器发出要查询的域名,并不会包含浏览器的信息。OpenDNS能记录的只有被查询的域名、查询者的IP以及查询时间。

还看到巧克力工厂的一篇文章,他认为OpenDNS是个代理服务器,然后在思考能否用于突破GFW。看来他还不了解DNS,嘿嘿。呃,记得一个月前在《电脑报》上有一篇文章里说,浏览器会把访问网站的请求发给DNS服务器,然后DNS服务器查到目标网站的IP后会将请求转发给目标网站。唉,《电脑报》从上个世纪末就开始堕落了。

目前OpenDNS一天的DNS查询量在一百万左右,不过,总的来说,在国内用OpenDNS很不划算。它在国内访问不算快,而缩略名的功能,正如这里所说,Firefox、Maxthon和Opera浏览器都有这些功能。至于网络钓鱼,我还真没被钓过,而且OpenDNS作为外国网站,对于中国的网络钓鱼,比如仿冒中国各大银行网站,能否及时做出反应也是未知数。当然,如果你象花儿那样学校的DNS服务器一星期只开两天,那么用用OpenDNS也不错。



转载请保留本文链接地址:[http://www.oodd.net/Lab/181.html]
  • .
  • 相关文章

发表评论

为了防止SPAM,含链接的评论需要审核后才能显示。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。