Dot/DoH/DoQ 的好处就不用多说了,那么如何让你的网络用上DoT/DoH/DoQ呢?
DoT:DNS over TLS
DoH:DNS over HTTPS
DoQ:DNS over QUIC
/en/blog/dns-over-quic.html
/zh-cn/learning/dns/dns-over-tls/
本文以CoreDNS为例,CoreDNS是一个Go语言实现的DNS server,具有跨平台、插件化、可拓展等诸多优点。
一、配置Corefile
配置文件是通用的,CoreDNS服务端是支持四种协议(DNS、DoT、DoH、gRPC),forward插件只支持DNS和DoT,不支持DoH,因为DoH更复杂,forward插件hold不住,从github的issue区看应该会开发新的插件支持DoH客户端,DoQ应该还早得很。。
.:53 {# 绑定interface ipbind 127.0.0.1# 先走本机的hostshosts /etc/hosts {fallthrough}# 转发上游dns服务器forward . 127.0.0.1:853 127.0.0.1:5301# 缓存时间ttlcache 120reload 10slogerrors}.:853 {bind 127.0.0.1forward . tls://223.5.5.5:853 {tls_servername force_tcpmax_fails 3}cache 120reload 10slogerrors}.:5301 {bind 127.0.0.1forward . tls://1.1.1.1 tls://1.0.0.1 {tls_servername cloudflare-force_tcphealth_check 5s}cache 120reload 10slogerrors}
二、修改系统配置
for Linux修改/etc/resolv.conf
至少在头部插入nameserver 127.0.0.1
,可以添加其他DNS服务器来兜底,例如我添加了内网DNS
nameserver 127.0.0.1nameserver 10.11.248.115nameserver 10.11.248.114
for Windows
需要修改网卡的DNS
最后就是开机自启的配置,Linux选手自行解决,Windows的同学详见/CHAOS_ORDER/article/details/114584785