該選哪一家?
直接選排在最上面的那家就可以。如果前幾名只差幾毫秒,就依你在意的其他條件來挑:
想順便擋掉惡意網站和釣魚網站:選 Quad9 或 OpenDNS。
重視隱私:Mullvad、Quad9 和 Wikimedia 聲明不記錄誰查了什麼。
想防止偽造:選有 ✓ 的,它們會驗證 DNSSEC(網域簽章)。
如果裝置只能填一般 DNS 位址(多數路由器、較舊的系統),請看 UDP 那一欄:最快的一般 DNS 如果不是第一名,會另外寫在第一名下方。
不想讓電信業者和所在網路看到你查了哪些網站,就使用 DoT 或 DoH 位址:一般 DNS 沒有加密,沿途的網路都看得到。
要怎麼更改 DNS?
Android 9 以上:設定 → 網路 → 私人 DNS,填入 DoT 主機名稱(例如 one.one.one.one)。所有網路都有效,而且是加密的。
iPhone 和 Mac:在每個 Wi-Fi 的設定裡填 DNS 伺服器;要使用加密 DNS,請從 DNS 官網下載並安裝描述檔。
Windows 11:設定 → 網路 → 目前的連線 → DNS 伺服器指派 → 手動,填入位址,再開啟 DNS over HTTPS。
路由器:在 DHCP 或 WAN 設定裡填 DNS 伺服器,家中所有裝置都會用上。
只改瀏覽器:Chrome、Edge、Firefox 都有「安全 DNS」設定,可以選一家或貼上 DoH 位址。
每家 DNS 的專頁都有逐步的設定方式。點頁面上任何一個位址就能複製。
開著代理,測出來的還是我的網路嗎?
預設不是。開著代理或 VPN 時,瀏覽器會經由代理連到各家 DNS,測到的是代理的線路,境外的 DNS 都會顯得和代理伺服器差不多快。而你在裝置或路由器上設定的 DNS,平常通常是直接連線的,所以這個數字不是你實際使用時的速度。
想測自己的網路,就加上直連規則(進度列旁邊的按鈕)。規則只讓這個測試用到的位址直連,以精確的網域名稱和單一 IP 比對,不影響其他流量。支援 Clash/Mihomo、Surge、Shadowrocket、Quantumult X、Loon、sing-box 和 Xray,多數可以直接從本站載入規則集,自動保持最新。
測試是怎麼進行的?
你的瀏覽器直接向每家 DNS 送出查詢,不經過本站。
先和每家建立連線,把三個熱門網域各查一次,讓它們進入這家 DNS 的快取,這一步不計分。接著測 10 輪:每輪每家查一次,順序每輪重新打亂,幾家同時進行。這樣網路偶爾卡一下,影響的是所有 DNS,不會只讓剛好在測的那一家吃虧。每隔一輪還會查一個根本不存在的隨機網域。
結果取中位數,偶爾一次變慢不會拉低成績。時間採用瀏覽器自己記錄的網路耗時,頁面程式拖不慢它。每次請求的網址都不同,而且繞過所有快取,只能由 DNS 伺服器本身回答。
為什麼 UDP 和 DoT 是估算的?
因為瀏覽器做不到。網頁只能送出 HTTPS 請求:一般 DNS 使用的 UDP(53 埠)、加密的 DoT(853 埠)和 DoQ,它都送不出去。沒有任何網站能從你的網路測這些;顯示這類數字的網站,不是在自己的伺服器上測的,就是用猜的。
這個頁面的做法是:向負責 UDP 和 DoT 的同一台伺服器送出 DoH,也就是透過 HTTPS 加密的 DNS 查詢(例如 https://1.1.1.1/dns-query)。連線建立後,一次查詢的耗時就是到這台伺服器跑一趟來回,再加上它處理的時間。UDP、DoT 查詢花的也正是這些,HTTPS 這一層多出不到 1 毫秒,所以標成 ≈。一般 DNS 伺服器不支援 HTTPS 的幾家,會顯示 –,不會硬湊數字。
估算看不出來的狀況:有些網路會單獨封鎖、限速或竄改 53、853 埠,而不動 HTTPS。
要實測 UDP、DoT 和 DoQ,請在伺服器、Linux 主機或路由器上執行表格上方命令列卡片裡的那行指令(進度條旁的「命令列」按鈕也能開啟)。它支援所有協定,測的是同一份 DNS 清單。
結果可靠嗎?
測量方式請見「測試是怎麼進行的?」。此外,DNS 清單用程式碼庫裡的 scripts/verify.mjs 在多個大洲核實過:每個位址都必須對這種查詢回傳真正的 DNS 回應;DNSSEC 是實際測出來的,不是照抄各家的宣傳。
Cloudflare、Google、Quad9、Control D、DNS.SB、DNS4EU、IIJ 這幾家允許網頁讀取回應內容,頁面會逐筆檢查,只計入真正的回應。其他幾家瀏覽器只能計時,看不到內容。
建議多測幾次,最好換不同時段:晚上最快的,尖峰時段不一定最快。
「首次查詢」是什麼意思?
熱門網域早就在各家 DNS 的快取裡,查起來哪一家都快。很久沒人查過的網域就不同了:DNS 伺服器得先去問這個網站自己的 DNS 伺服器,再把答案告訴你,這就是「首次查詢」。
測試用的是託管在 Cloudflare 上的隨機網域,Cloudflare 的 DNS 伺服器除了中國大陸,幾乎遍布全球。這部分的耗時取決於每個網站的 DNS 伺服器在哪裡,各不相同,所以只顯示、不排名。中國大陸的 DNS 在這一欄顯得慢,是因為這些網域的伺服器在境外;查詢中國大陸的網站時,它們很快。
DNSSEC 是什麼?
簡單說,就是網域替自己的 DNS 紀錄加上簽章,避免被偽造。會驗證 DNSSEC 的 DNS 伺服器會檢查簽章,對不上就拒絕,這樣途中誰都沒辦法塞給你假位址。有 ✓ 的就是會驗證的:我們用一個故意簽錯的網域 dnssec-failed.org 來測試,它們必須拒絕。它只對有簽章的網域有效,但開著沒有壞處。
ECS 是什麼?為什麼表格裡沒有?
ECS(EDNS Client Subnet)是指 DNS 伺服器把你 IP 位址的一部分轉告給網站的 DNS 伺服器,讓 CDN 依你的位置、而不是 DNS 伺服器的位置分配伺服器。下載和影片可能更快,代價是多透露一點你的所在位置。
表格裡沒有列出,因為它不是固定的:我們核實時發現,同一家 DNS 在某些地方、某些協定會傳,換個地方或協定又不傳。只寫「是」或「否」都會誤導你。
為什麼沒有 114DNS、百度 DNS?
它們只提供一般 DNS,伺服器完全不回應 HTTPS,瀏覽器沒有任何方法連上,所以無法測試。中國台灣的 Quad101 也沒有收錄:我們核實時,它的 DoH 從其他地區連不上。
會收集我的資料嗎?
不會。查詢從你的瀏覽器直接送到各家 DNS,查的是公開的熱門網站和隨機網域,不含任何關於你的資訊。測試結果只留在你的瀏覽器裡;只有你按下「分享」時,結果才會寫進分享連結(各家 DNS 的耗時,不含 IP 位址,國家或地區可以選擇不附上)。
和平常的任何 DNS 查詢一樣,各家 DNS 看得到你的 IP 位址,並適用它們各自的隱私權政策。程式碼在 GitHub 上開源。