今天我花了三個小時仔細研究了windows的DNS加密(DoH)相關(guān)的內(nèi)容,最終成功開啟了國內(nèi)可用的DNS加密功能,如果你還不知道什么是DoH并對原理感興趣,可以參考這篇文章:
https://zhuanlan.zhihu.com/p/365093156,話不多說,上干貨。
前置條件
- Windows 11系統(tǒng)(build2200及以上)
- Windows 10 系統(tǒng)(build19628及以上),如果版本號達不到,需要加入Windows 10 預(yù)覽版才行
核心目標(biāo)
我需要一個一勞永逸的保障DNS安全的方案,此次Windows添加的DNS功能就是個很好的契機,所以開始之前,我設(shè)定了兩個核心目標(biāo):
- 安全可靠(防DNS污染)
- 速度快且穩(wěn)定(要支持EDNS,防止國內(nèi)網(wǎng)站被解析到外面)
考慮到8.8.8.8(或1.1.1.1)的特殊情況,這次我選擇了OpenDNS的公共服務(wù)(208.67.222.222;208.67.220.220),在國內(nèi)能有200ms的穩(wěn)定ping值(聯(lián)通網(wǎng)絡(luò)),并且路由線路比較好。
當(dāng)然你也可以選擇國內(nèi)的一些支持DoH服務(wù)商(比如223.5.5.5),速度會更快一些。
設(shè)置步驟
設(shè)置的時候我發(fā)現(xiàn)Windows11 只支持少數(shù)幾個DoH服務(wù)商(比如8.8.8.8等),難道就無法自定義嗎?然后我進一步研究嘗試出了自定義的方法(此篇文章的含金量就在這里)
1.首先我們windows鍵+x以管理員身份打開一個Windows終端(其實就是PowerShell)
2.然后看一下Windows默認支持的有哪些DoH服務(wù)商
(除了Quad9,其它的知名DNS服務(wù)商因為特殊原因大家都無法使用DoH,但是Quad9的DNS服務(wù)線路不佳,請求容易失敗)
3.接下來我們添加OpenDNS作為加密DNS服務(wù)商模板:
netsh dns add encryption 208.67.220.220 "https://208.67.220.220/dns-query" no no
netsh dns add encryption 208.67.222.222 "https://208.67.222.222/dns-query" no no
4.我們netsh dns show encryption再確認一下:
5.接下來打開“網(wǎng)絡(luò)和Internet設(shè)置”,選擇以太網(wǎng)(如果電腦是用的Wifi就選Wifi),點擊編輯(編輯DNS服務(wù))
6.在這里我們手動設(shè)置DNS服務(wù)器為208.67.220.220和208.67.222.222,這里我們?yōu)榱蓑炞CDoH效果,選擇了“僅加密(通過HTTPS的DNS)”,你也可以選擇“已加密的首選、未加密的允許”以實現(xiàn)DNS回滾(回滾的時候就又是訪問的53端口的常規(guī)DNS了)
7.Ipconfig /flushdns 清理一下DNS緩存
8.打開瀏覽器看一下是否可以正常訪問網(wǎng)站,如果一切正常,我們便用上了系統(tǒng)級別的DNS安全服務(wù)(以前我是在瀏覽器里單獨設(shè)置DoH的),如果失敗,則會出現(xiàn)無法獲取DNS解析的情況(需要仔細檢查一下操作步驟)。
結(jié)語
DNS服務(wù)安全至關(guān)重要,如果你對目前的上網(wǎng)環(huán)境不是很滿意,懷疑可能有DNS污染問題,不妨按照本文的方法一試,如果有幫到你一點點,給個贊唄!如果你有更多問題,我們評論區(qū)見。