我应该如何选择我的 DNS?

Jad*_*ias 113 dns internet community-faq-proposed

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

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

我想到的主要选择,以及我如何根据上述因素权衡它们,是:

  • 我的 ISP = 更快(离我更近)但隐私更少(他们可以将我的 DNS 请求与我自己相关联)
  • OpenDNS 等 = 更多控制和更多隐私(他们拥有的只是我的电子邮件地址之一)
  • Google = 更少的隐私(他们可以将我的 DNS 请求与我的 Google 帐户和我的搜索相关联)

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

Tam*_*man 89

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

这是一个常见的误解,距离本身并不能弥补速度。将旧的单根金属网线与较新的多根玻璃纤维电缆系统(如EuroDOCSIS 3.0)进行比较

除了传播延迟,您在服务器上还有处理延迟;我很确定ISP的DNS服务器不如Google托管的DNS服务器强大,因此完全有可能或者距离更远的服务器实际上比您的ISP的DNS服务器更快......

托管您的 DNS 路由器/服务器可能是最快的,尽管它没有存储所有的 DNS 记录!


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

您是有 5 分钟空闲时间的高级用户吗?您想要更快的互联网体验吗?

试试namebench。它会寻找可供您的计算机使用的最快的DNS 服务器。namebench 使用您的 Web 浏览器历史记录、tcpdump 输出或标准化数据集运行公平而彻底的基准测试,以提供个性化的建议。namebench 是完全免费的,不会以任何方式修改您的系统。这个项目最初是谷歌的一个 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
Run Code Online (Sandbox Code Playgroud)

  • @bburn:我在他的帖子中看到一个没有备份的声明,这是我的声明:虽然使用 Google DNS,但它与比利时 Telenet ISP DNS 相去甚远,但我仍然在 40 毫秒内从 sstatic CDN 收到我的文件;因此,您使用的 DNS 与 CDN 服务无关。现在我们只需要证据来支持这两种说法。但是,对我来说,时间已经足够了......;) (2认同)

Sco*_*ain 33

另一个用于测试和查找良好 DNS 服务器的免费软件工具是GRC 的DNS-Benchmark

在此处输入图片说明

它带有一个顶级定制的前 50 名列表(通常会列出 Google 和 OpenDNS),它将根据您的 IP 找到最好的 50 台服务器进行测试。

它进行了非常彻底的测试,并会判断服务器是否支持 DNSSEC,以及它们是否将坏域重定向到自己的登录页面,而不是给出“无效域”响应。

  • 为史蒂夫·吉布森 (Steve Gibson) 加油!我不敢相信他完全用汇编语言写的:O (9认同)

小智 12

许多内容分发网络使用您的 DNS 服务器将您路由到最佳位置,使用 Google 或 OpenDNS 意味着他们可能无法以最佳方式为您路由 - 将 Google DNS 用于 Google 内容将使您从它们那里获得出色的性能,但不是任何人的 DNSLB ,或者像 Limelight、Level3 或其他的 CDN,使用 OpenDNS 会让你和每个人都该死。 谷歌发布了一个关于一些建议修复的 RFC,但它们没有实现,所以你会因为使用非本地名称服务器而陷入困境

  • 虽然 CDN 可以根据 IP 地址进行路由,但这不是常态。例如,`dig google.com` 会根据您的位置给出不同的结果。请注意,Google 的 DNS 服务器不知道您的 IP 地址。他们只知道与他们联系的 DNS 服务器的 IP 地址。(OpenDNS、Google 公共 DNS、您的 ISP 的 DNS 服务器)。根据您的 IP 地址进行路由需要,例如,Web 服务器具有根据您的 HTTP 请求的来源(例如 us-east-1.somecdn.com)将不同的 CDN *主机名* 放入页面的逻辑)。 (8认同)
  • 你能链接到相关的RFC吗?此外,大多数 CDN 地理路由(您在法国,因此您的请求应该由法国服务器等提供服务)是通过您的 IP 地址完成的,而不是 DNS。 (7认同)
  • DNS 提案在这里:http://tools.ietf.org/html/draft-vandergaast-edns-client-subnet-00 - 有效地将等效的 X-Forwarded-For 样式 HTTP 标头添加到 DNS 中。它提议为大型 DNS 提供商和 CDN 解决一个真正的问题,尽管这对 DNS 纯粹主义者来说是令人讨厌的。 (4认同)
  • +1 我*喜欢*谷歌 DNS,除了 Netflix 和 Hulu 流媒体,我在高峰时段遇到了大量的缓冲问题。对于怀疑论者,我使用wireshark捕获证明这是一个DNS问题。 (3认同)

小智 6

考虑使用dnsmasq或其他项目(如named )配置您自己的缓存 DNS 服务器。我发现控制它可以大大加快我浏览第一个请求的速度。您的操作系统也可能允许您控制其自己的内置缓存。


use*_*723 5

你错过的一件事是..

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

您可以感知 DNS 服务执行以下某些操作。

  1. 过滤掉某些东西。(审查)
  2. 用自己服务的结果替换某些请求。
  3. 对不利于他们的各方的限制服务。

例如,我永远不会使用 OpenDNS的原因是因为它们将所有无法解析的地址解析为一个特殊的 OpenDNS ip 地址,如果我没记错的话,它会通过 OpenDNS 的广告打开对未解析请求的搜索。

我觉得这非常烦人,因为我希望我的搜索引擎在地址无法解析时提供它自己的行为,这使得所有无法解析的地址都无法检测到。