想要上網體驗有保障,如何設置一個更安全的 DNS?( 二 )


受限于篇幅限制 , 下圖只介紹符合 RFC 規范的(排除 IBM Quad9 DNS) , 擁有多個響應地點的(排除 360 公共 DNS)大型的 , 準確性也相對較好的(不會刻意投毒的) , 更重要的是 CDN 友好型的 公共 DNS 服務 。延遲則由各個地方各個運營商決定 , 請自行測試 。

想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
推薦的公共 DNS 服務器
利用安全的公共 DNS 服務解決這個問題
不過在一部分 DNS 問題嚴重的地方 , 將運營商 DNS 更換為公共 DNS 可能還是不能解決本文開頭的問題 。
這是因為我們的 DNS 流量沒有經過加密 , 就和曾經的 http 協議一樣 , 運營商或是第三方還是能夠清楚的知道:我們發起了一個 DNS 請求 , 我們想要知道 xxx 網站的地址 。下圖展示了一個 DNS 請求發起的過程 , 可以很清楚的看到 , 我請求了什么網址(用十六進制碼顯示 , 右側是轉義以后的結果)
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
一條普通的 DNS 查詢
如果我們給我們的 DNS 流量加個密 , 就和 https 流量一樣 , 那么運營商不就不知道我們我們的 DNS 請求了嗎 。這就是 DNS over HTTPS (下文簡稱 DoH )和 DNS over TLS (下文簡稱 DoT )技術要做的事 。他們分別利用 HTTPS (超文本傳輸安全協議)和 TLS(傳輸層安全協議)這兩種行業通用的安全協議 , 將我們的 DNS 請求發往 DNS 服務器 。運營商或是第三方在整個傳輸過程中 , 只能知道發起者和目的地 , 除此以外別的什么都知道 , 甚至都不知道你發起了 DNS 請求 。同時 HTTPS 和 TLS 都會使用網絡數字證書確保對面的身份 , 這樣傳輸的過程中無論是任何第三方都不能修改 DNS 的請求內容和最后的結果 。保證你請求的結果就是你最后想要的 。
DoH 和 DoT 不僅能為經常被運營商和第三方劫持 DNS 的人群提供安全可靠的 DNS 解析結果 , 還能給極為看重隱私人群補上上網隱私保護流程中的最后一塊短板 。
下圖是目前支持 DoH 或者 DoT 的 DNS 服務器列表
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
推薦的安全 DNS 服務器
我應該怎么使用 DoH 和 DoT 技術
對于 iOS 設備
大家可以前往 App Store 中下載 Cloudflare App(也被稱為 1.1.1.1) , 下載以后 , 打開應用 , 直接打開開關即可享用到來自 Cloudflare 提供的 DoH 服務 。
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
通過 Cloudflare 使用安全的公共 DNS 服務器
Adguard iOS 版的用戶可以手動選擇 DNS 服務器(需要高級訂閱) , 前往 Adguard iOS 版本的設置 , 選擇 DNS , 再選擇合適的 DNS 服務器即可 , 當然你也可以選擇手動輸入自定義的 DNS 服務器(DoH 和 DoT 均支持)使用這項功能 。
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
通過 Adguard iOS 使用安全的公共 DNS 服務器
對于 Android
Android 9 以及以上的版本 , 你可以前往無線和網絡 , 選擇指定加密 DNS 服務(部分設備上可能被命名為:私人 DNS) , 輸入 DNS over TLS 的地址即可 。
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
Android 9 以及以上的版本直接能進行設置
對于 Android 9 以下的版本 , 或者沒有指定加密 DNS 服務 , 你可以前往各大應用市場下載 Intra 應用 , 進行配置 。前往 Intra 的設置 , 選擇 DNS over HTTPS 服務器 , 輸入或者選擇 DNS over HTTPS 服務器即可 。
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖
通過 Intra 使用安全的公共 DNS 服務器
當然 , 如果你是 Adguard Android 版的用戶 , 你可以前往 Adguard Android 版本的設置 , 選擇 DNS , 再選擇合適的 DNS 服務器即可 , 和 iOS 版本一樣你也可以選擇手動輸入自定義的 DNS 服務器 , 使用更適合自己的 DNS 服務器 。
想要上網體驗有保障,如何設置一個更安全的 DNS?

文章插圖

推薦閱讀