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