請注意,這需要已棄用的 proxy 外掛程式。
將近一年以來,Google 有一個可透過 HTTPS 查詢的 DNS 服務:https://dns.google.com。這表示您的查詢已加密,只有您 (和 Google (!)) 看得到。看到關於 英國偵查權憲章的所有新聞報導後,我認為我應該在 CoreDNS 中將此實作為一個外掛程式。
我 (很明顯地) 將自己使用這個;這很完美,因為它可以保護我,並且讓我可以在我的家庭網路中將 CoreDNS 當作 DNS 代理來使用。
值得注意的另一個實作是「dingo」:https://github.com/pforemski/dingo。
另請注意,這是一個與「透過 TLS 的 DNS」不同 的協定,後者具有類似的目標,並且正在由 IETF 標準化。
目前,您需要從原始碼編譯 CoreDNS 才能使用此功能,或者等到 CoreDNS-004 發佈。
CoreDNS 端的設定非常簡單。您只需要以下 Corefile 即可
. {
proxy . 8.8.8.8 {
protocol https_google
}
cache
log
errors
}
接下來,啟動 CoreDNS 並查詢它。
% ./coredns
.:53
2016/11/26 17:11:07 [INFO] CoreDNS-003
CoreDNS-003
::1 - [26/Nov/2016:17:13:10 +0000] "MX IN miek.nl. udp false 4096" NOERROR 246 149.791162ms
::1 - [26/Nov/2016:17:13:11 +0000] "MX IN miek.nl. udp false 4096" NOERROR 170 156.432µs
唯一未加密的 DNS 是從您的筆記型電腦/手機/電腦到 CoreDNS,其餘都是加密的。
依預設,dns.google.com
將使用 8.8.8.8 和 8.8.4.4 每 30 秒重新解析一次(您可以覆寫這些預設值)。這是唯一未加密的查詢,但這可能會導致非常無聊的瀏覽器歷史記錄。
接下來,我 需要設定一個 Raspberry Pi 並在其中安裝 CoreDNS。與所有 CoreDNS 開發一樣,歡迎提供意見反應。