題 我該如何選擇DNS?


當我必須選擇我的DNS時,我認為我應該考慮:

  • 速度
  • 可靠性
  • 隱私
  • 控制(報告和統計)

我想到的主要選項,以及我如何根據上述因素權衡它們:

  • 我的ISP =更快(離我更近)但隱私較少(他們可以將我的DNS請求關聯到我自己)
  • OpenDNS等=更多控制和更多隱私(他們擁有的只是我的電子郵件地址之一)
  • Google =減少隱私(他們可以將我的DNS請求與我的Google帳戶和我的搜索相關聯)

我錯過了哪些加權因子或其他選項?


111
2018-02-07 14:37


起源


僅根據IP地址將DNS查詢與帳戶相關聯是無稽之談,Google會知道這一點。他們也 要求 兩天以上沒有記錄任何可識別信息。另一方面,OpenDNS 能夠 根據信息將您的IP地址關聯到電子郵件地址 您 在註冊“統計數據”時給出了。最後,無論您選擇哪個DNS提供商,您的ISP 仍然 看到提出的要求。 (甚至一些ISP 默默地重定向 所有DNS查詢...) - grawity
你錯過了一個選項,使用自己的DNS解析器, 不作承諾 是一個多平台的好例子。 - Shadok
@JaderDias:你自己的解析器,當處於遞歸模式時,可以直接向內容DNS服務器發送請求,這不會產生隱私問題。 - grawity
Google不會將DNS請求與您的Google帳戶相關聯 - 他們的隱私聲明和常見問題解答都非常明確。 - BrianEss
我的ISP =更快(離我更近)但隱私較少(他們可以將我的DNS請求關聯到我自己) 正如我的經驗和我選擇OpenDNS的原因恰恰相反,它更快。 - Fiasco Labs


答案:


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

這是一種常見的誤解,距離本身並不能彌補速度。比較使用舊的單個網絡電纜和更新的多個玻璃光纖電纜系統,例如 EuroDOCSIS 3.0

除傳播延遲外,服務器上還有處理延遲;我很確定ISP上的DNS服務器對於谷歌託管的DNS服務器的功能不那麼強大,因此它完全可能或者服務器的距離遠遠超過ISP的DNS服務器......

託管您的DNS路由器/服務器可能是最快的,但它沒有存儲所有DNS記錄!


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

89
2018-02-07 15:16



很酷!您是否有興趣撰寫總結其中一些工具和選項的博客文章? - nhinkle♦
@nhinkle:你有我!我可以把它結合起來 這個答案 並查看我們在DNS上的其他內容,然後在“DNS背後的工作和選擇正確的服務器”這樣的標題下進行總結。你能看看Trello分配給你的兩點嗎?我希望將博客上的草稿整理出來,我現在正試圖聯繫tombull關於他的博客帖子...... - Tom Wijsman
這個答案沒有考慮到Max的答案對CDN服務的影響。您可能會發現,使用超快速的非ISP DNS服務器,您的DNS將是快速/私有的,但您可能無法流式傳輸任何內容,並且各種在線服務的下載可能會非常慢。 - bbum
@bburn:我在他的帖子中看到沒有備份的聲明,這是我的主張:在使用遠離比利時Telenet ISP DNS的Google DNS時,我仍​​然在40毫秒內從sstatic CDN收到我的文件;因此,您使用的DNS與CDN服務無關。現在我們只需要證明來支持這兩種說法。但是,對我而言,時間說得足夠......;) - Tom Wijsman


另一個用於測試和查找良好DNS服務器的免費工具是 DNS-基準 由GRC

enter image description here

它帶有一個頂級的自定義前50名列表(通常列出Google和OpenDNS),它們將根據您的IP找到最好的50台服務器。

它做了一個非常徹底的測試,並將告訴服務器是否支持DNSSEC,以及他們是否將壞域重定向到他們自己的登錄頁面,而不是給出“無效域”響應。


32
2018-02-07 15:25



對史蒂夫吉布森而言!我無法相信他用彙編語言完全寫出來:O - BlueRaja - Danny Pflughoeft


許多內容分發網絡使用您的DNS服務器將您引導至最佳位置,使用Google或OpenDNS意味著他們可能無法以最佳方式為您提供路由 - 使用Google DNS for Google內容將為您帶來卓越的性能,但不是任何人的DNSLB ,或像Limelight,Level3或其他人一樣使用OpenDNS,這讓每個人都詛咒你。 谷歌推出了一個關於一些建議修復的RFC 但它們沒有實現,因此您可以通過使用非本地名稱服務器來解決問題。


12
2018-02-07 20:10



你能鏈接到相關的RFC嗎?此外,大多數CDN地理路由(您在法國,因此您的請求應由法國服務器等提供)是通過您的IP地址而不是DNS完成的。 - Jeff Atwood
雖然CDN可以基於IP地址進行路由,但這不是常態。例如, dig google.com 根據您的位置提供不同的結果。請注意,Google的DNS服務器不知道您的IP地址。他們所知道的只是與他們聯繫的DNS服務器的IP地址。 (OpenDNS,Google Public DNS,您的ISP的DNS服務器)。要基於您的IP地址進行路由,將需要例如Web服務器具有放置不同CDN的邏輯 主機名 根據您的HTTP請求來自哪個頁面(例如us-east-1.somecdn.com)。 - Nate
我應該補充一點,如果您使用的是ISP的DNS服務器,這不是問題,因為根據定義,它們位於您所在位置的相同(或非常接近)的網絡上。 - Nate
DNS提議在這裡: tools.ietf.org/html/draft-vandergaast-edns-client-subnet-00  - 有效地將相當於X-Forwarded-For樣式的HTTP標頭添加到DNS中。它建議解決大型DNS提供商和CDN的真正問題,儘管它對DNS純粹主義者來說是不利的。 - BrianEss
+1我 喜愛 谷歌DNS,除了Netflix和Hulu流媒體之外的所有內容,我在高峰時段遇到了大量的緩衝問題。對於懷疑者,我證明這是使用wireshark捕獲的DNS問題。 - Karl Bielefeldt


考慮使用配置您自己的緩存DNS服務器 的dnsmasq 或者其他項目 命名。我發現控制它可以大大加快瀏覽第一個請求的速度。您的操作系統還可能允許您控制自己的內置緩存。


6
2018-02-07 20:31





你錯過的一件事是......

他們有多順從? (或許,他們是多麼香草?)

您可以感知DNS服務執行以下某些操作。

  1. 過濾掉某些東西。 (審查)
  2. 用自己的結果替換某些請求。
  3. 涉及不利於他們的各方的限制服務。

例如,我想的原因 決不 使用OpenDNS是因為他們將所有無法解析的地址解析為一個特殊的OpenDNS IP地址,如果我沒記錯的話,會打開搜索OpenDNS廣告的未解析請求。

我發現這令人非常惱火,因為我希望我的搜索引擎能夠提供它自己的行為,因為當地址無法解析時,這會使所有無法解析的地址無法檢測到。


5
2018-02-09 16:13