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