想查詢用哪個 DNS 伺服器比較快,之前是查到用 namebench,但這專案沒在維護了,自行編譯使用,又遇到些問題,乾脆就放棄。
後來有看到 diadiag 這個套件,就想說來用看看。
在 Ubuntu 裡,用 apt 就可以安裝。
sudo apt install dnsdiag
dnsdiag 套件裏面有3個工具
- dnsping
 - dnstraceroute
 - dnseval
 
dnsping 是測試連到 DNS 伺服器的時間。
dnstraceroute 是列出到 DNS 伺服器的路由,透過這個可以看 DNS 查詢到底有沒有繞路。
dnseval 是本文重點,也就是可以針對各個 DNS 伺服器去做評估,看哪個比較快。
首先要新增一個文字檔,命名為 public-dns-servers.txt,裏面放 DNS 伺服器的 IP。
1.1.1.1
8.8.8.8
168.95.1.1
94.140.14.14
61.31.1.1
然後執行
dnseval -f public-dns-servers.txt www.facebook.com
就可以看到結果了。
server           avg(ms)     min(ms)     max(ms)     stddev(ms)  lost(%)  ttl        flags                  response
--------------------------------------------------------------------------------------------------------------------
1.1.1.1          9.471       9.167       9.659       0.219       %20      3599       QR -- -- RD RA -- --   NOERROR             
8.8.8.8          10.621      8.588       13.036      1.961       %12      1002       QR -- -- RD RA -- --   NOERROR             
168.95.1.1       9.119       9.119       9.119       0.000       %50      2648       QR -- -- RD RA -- --   NOERROR             
94.140.14.14     0.000       0.000       0.000       0.000       %100     N/A        -- -- -- -- -- -- --   No Response         
61.31.1.1        8.215       8.132       8.298       0.118       %33      1366       QR -- -- RD RA -- --   NOERROR             
好了,有了這工具,就可以找出最適合的 DNS 伺服器了。