当我必须选择DNS时,我认为我应该考虑:


速度
可靠性
隐私
控制(报告和统计信息)

我想到的主要选项以及如何根据上述因素衡量它们的方式是:


我的ISP =更快(更接近我),但是更少隐私(他们可以将我的DNS请求关联到我自己)
OpenDNS,这样=控制更多,隐私更多(它们所拥有的只是我的电子邮件地址之一)
Google =隐私更少(他们可以将我的DNS关联我对Google帐户和搜索的DNS请求)

我错过了哪些加权因素或其他选择?

评论

将DNS查询与仅基于IP地址的帐户相关联是胡说八道,Google知道这一点。他们还声称,超过两天没有记录任何可识别的信息。另一方面,OpenDNS可以根据您注册“统计信息”时提供的信息将您的IP地址与电子邮件地址相关联。最后,无论您选择哪个DNS提供商,您的ISP仍然可以看到发出的请求。 (一些ISP甚至静默地重定向所有DNS查询...)

您缺少使用自己的DNS解析器的选项,“未绑定”是一个多平台的很好的例子。

@JaderDias:置于递归模式时,您自己的解析器可以将请求直接发送到内容DNS服务器,这不会造成隐私问题。

Google不会将DNS请求与您的Google帐户相关联-在此方面,其隐私声明和常见问题解答非常清楚。

我的ISP =更快(离我更近),但是隐私更少(它们可以将我的DNS请求与我自己关联),就我的经验而言,恰恰相反,为什么我选择OpenDNS,它却更快。

#1 楼


我的ISP =更快(离我更近)

这是一个常见的误解,距离并不能自行弥补速度。比较使用旧的金属单网络电缆与更新的多玻璃纤维电缆系统(例如EuroDOCSIS 3.0)。
除了传播延迟,服务器上还有处理延迟;我很确定ISP的DNS服务器的功能不如Google托管的DNS服务器强,因此完全有可能,或者距离ISP的DNS服务器更远的服务器实际上要更快...
托管DNS路由器/服务器可能是最快的,尽管它并没有存储所有的DNS记录!

Google的namebench可以帮助您选择更好的DNS服务器,其余您的问题是主观的。

您是有5分钟备用时间的高级用户吗?您想要更快的互联网体验吗?
试用namebench。它搜寻可用于您的计算机的最快的DNS服务器。 namebench使用您的Web浏览器历史记录,tcpdump输出或标准化数据集运行公平,彻底的基准测试,以便提供个性化的建议。 namebench是完全免费的,不会以任何方式修改您的系统。该项目最初是Google的20%项目。
namebench在Mac OS X,Windows和UNIX上运行,并且可以通过图形用户界面和命令行界面使用。

以下是使用此程序时将要经过的屏幕:




那里还有一个命令行版本:
Final list of nameservers considered:
------------------------------------------------------------------------------
130.85.1.5      UMBC 5 US          56  ms | 
208.67.222.220  OpenDNS-3          56  ms | www.google.com is hijacked: google.navigation.opendns.com
209.244.0.4     Level3-R2          62  ms | 
216.146.35.35   DynGuide           63  ms | NXDOMAIN Hijacking
204.9.56.9      BroadAspect US     63  ms | 
8.8.4.4         Google Public DNS- 64  ms | Replica of Google Public DNS [8.8.8.8]
208.67.220.220  OpenDNS            65  ms | www.google.com is hijacked: google.navigation.opendns.com
156.154.70.1    UltraDNS           67  ms | NXDOMAIN Hijacking
127.0.0.1       Localhost IPv4     68  ms | NXDOMAIN Hijacking (www)
209.18.47.61    RoadRunner NC US   68  ms | Replica of RoadRunner NC-2 US [209.18.47.62], NXDOMAIN Hijacking (www)
156.154.71.22   Comodo Secure DNS- 80  ms | NXDOMAIN Hijacking
209.18.47.62    RoadRunner NC-2 US 104 ms | (excluded: Slower replica of RoadRunner NC US [209.18.47.61])

- Sending 250 queries to 11 servers...

Mean response (in milliseconds):
--------------------------------
Google Public DN ################# 64.85
Comodo Secure DN ################### 72.84
RoadRunner NC US ####################### 91.19
UltraDNS         ####################### 91.61
Localhost IPv4   ########################### 108.66
OpenDNS          ############################ 110.69
OpenDNS-3        ###################################### 149.85
DynGuide         ####################################### 156.60
Level3-R2        ########################################### 169.81
UMBC 5 US        ########################################### 172.63
BroadAspect US   ##################################################### 214.19

Response Distribution Chart URL (200ms):
----------------------------------------
http://chart.apis.google.com/chart?cht=lxy&chs=720x415&chxt=x,y&chg=10,20&chxr=0,0,200|1,0,100&chd=t:0,8,8,9,10,1...

Response Distribution Chart URL (Full):
---------------------------------------
http://chart.apis.google.com/chart?cht=lxy&chs=720x415&chxt=x,y&chg=10,20&chxr=0,0,3500|1,0,100&chd=t:0,0,0,1,1,1...

Recommended configuration (fastest + nearest):
----------------------------------------------
nameserver 8.8.4.4         # Google Public DNS-2  
nameserver 127.0.0.1       # Localhost IPv4  
nameserver 209.18.47.62    # RoadRunner NC-2 US


评论


很酷!您是否想写一篇博客文章,对其中的一些工具和选项进行总结?

–nhinkle
2012年2月7日在22:57

@nhinkle:你有我!我可以将其与这个答案结合起来,看看我们在DNS上还有什么,然后以“在DNS背后工作并选择合适的服务器”这样的标题进行总结。您能否看一下Trello上分配给您的两点?我想整理博客上的草稿,现在我正试图就他的博客文章与Tombull联系...

–塔玛拉·维斯曼(Tamara Wijsman)
2012年2月7日在23:02

此答案未考虑Max的答案对CDN服务的影响。您可能会发现,使用超快速的非ISP DNS服务器,您的DNS将是快速/私有的,但您可能无法流式传输任何内容,并且从各种在线服务下载的速度可能会非常缓慢。

–泡泡糖
2012年2月7日在23:50

@bburn:我在他的帖子中看到没有备份的声明,这是我的声明:在使用距比利时Telenet ISP DNS不远的Google DNS时,我仍然在40毫秒内从静态CDN接收了我的文件;因此,您使用的DNS对CDN服务无所谓。现在,我们只需要证明即可支持这两个要求。但是好吧,对我来说,时机已足够……;)

–塔玛拉·维斯曼(Tamara Wijsman)
2012年2月8日在0:26



#2 楼

另一个用于测试和查找优质DNS服务器的免费软件是GRC的DNS基准


通常列出来),它将根据您的IP找到最佳的50台服务器进行测试。

它会进行非常彻底的测试,并告知服务器是否支持DNSSEC,以及是否将不良域重定向到自己的目标网页而不是给出“无效域”响应。

评论


是史蒂夫·吉布森(Steve Gibson)!我不敢相信他是完全用汇编语言写的:O

– BlueRaja-Danny Pflughoeft
2012年2月7日在22:45



#3 楼

许多内容分发网络使用您的DNS服务器将您路由到最佳位置,使用Google或OpenDNS意味着它们可能无法最佳地路由您-使用Google DNS来获取Google内容将使您从中获得出色的性能,但没有人的DNSLB ,或使用Limelight,Level3或其他类似的CDN,使用OpenDNS会让所有人感到讨厌。 Google针对此建议的修补程序发布了RFC,但是这些修补程序尚未实现,因此,使用非本地名称服务器将使您一头雾水。

评论


您可以链接到相关的RFC吗?同样,大多数CDN地理路由(您在法国,因此您的请求应由法国服务器提供服务,等等)都是通过IP地址而不是DNS进行的。

–杰夫·阿特伍德
2012年2月7日在20:11



虽然CDN可以根据IP地址进行路由,但这不是正常的做法。例如,dig google.com会根据您的位置给出不同的结果。请注意,Google的DNS服务器不知道您的IP地址。他们所知道的只是与他们联系的DNS服务器的IP地址。 (OpenDNS,Google Public DNS,您的ISP的DNS服务器)。要基于您的IP地址进行路由,例如,Web服务器必须具有根据HTTP请求的来源(例如us-east-1.somecdn.com)将不同的CDN主机名放入页面的逻辑。

–内特
2012年2月7日在20:22

我要补充一点,如果您使用的是ISP的DNS服务器,这不是问题,因为按照定义,它们位于与您所在位置相同(或非常靠近)的网络上。

–内特
2012年2月7日在20:24

DNS提议位于此处:tools.ietf.org/html/draft-vandergaast-edns-client-subnet-00-有效地将等效于X-Forwarded-For样式的HTTP标头添加到DNS中。它提议解决大型DNS提供商和CDN的实际问题,尽管这对于DNS纯粹主义者而言并不理想。

– BrianEss
2012年2月7日在20:25

+1我喜欢google DNS,除了Netflix和Hulu流媒体外,我在高峰时段都遇到很多缓冲问题。对于怀疑论者,我证明了使用wireshark捕获是DNS问题。

–卡尔·比勒费尔特(Karl Bielefeldt)
2012年2月8日在20:56

#4 楼

考虑使用dnsmasq或其他名为named的项目配置自己的缓存DNS服务器。我发现,对此进行控制可以极大地加快我的浏览速度,超过第一个请求。您的操作系统可能还允许您控制自己的内置缓存。

#5 楼

您错过的一件事是..


它们的合规性如何? (或者,它们有多香草?)


您可以通过以下某些方式来感知DNS服务。


过滤掉某些东西。 (审查)
将某些请求替换为对自己有利的结果。
对那些不利于他们的各方进行有节制的服务。

例如,我永远不会使用OpenDNS的原因是因为它们将所有无法解析的地址解析为特殊的OpenDNS ip地址,如果我没有记错的话,它会打开带有OpenDNS广告的未解析请求的搜索。引擎提供当地址无法解析时其自身的行为,这使得所有无法解析的地址都无法检测到。