CoreDns 方案,核心就是利用有人放出来 dnsmasq 的 accelerated-domains.china.conf 列表(包含了绝大部分有 cdn 的国内域名)
原始思路参考这个
https://blog.minidump.info/2019/07/coredns-no-dns-poisoning/ 现在我国内用阿里的 dot,极端情况 failback 到 dnspod 和 114
.:5305 {
bind 127.0.0.1
forward . tls://223.5.5.5 tls://223.6.6.6 {
tls_servername
dns.alidns.com }
fallback REFUSED . 119.29.29.29 114.114.114.114
fallback SERVFAIL . 119.29.29.29 114.114.114.114
}
国外用 CF 和 google 的 dot,暂时还能直通。配了个 opendns 的 5353 tcp 应急。
Linux 下全 c 方案
dnsmasq -> chinadns-ng -> https_dns_proxy (4 个分别指向 opendns cf ali 360 的 doh,google 的 doh 是不通的)
dnsmasq 负责缓存和少量内网域名
chinadns-ng 根据列表负责分流,以及高可用(这样国内的 360 也可以用了)
https_dns_proxy 负责转发 doh
列表是参考了
https://github.com/wongsyrone/domain-block-list 去整合了两个来源的列表