参考 #18 #28 ,我用 nameserver-policy 指定了国内域名(一个基于已有项目的修改列表,时不时自己手动拉取更新一下)用阿里、DNSPOD 的 dot 解析,其他都用
https://dns.google/dns-query.
respoect-rules 要开启,然后在你的规则里指定阿里和 DNSPOD 的走 DIRECT ( IP 和域名),
dns.google 走你的代理(也是 IP 和域名)。
如果你设置正确,国内域名都会走直连加密 DNS ,其他所有都用
dns.google 进行解析。
这里还有个问题:其实在规则里走代理的所有域名都是发送到服务器解析的,本地只解析直连、UDP 连接。如果你在这套配置下 DNS 解析了境外域名,那要反复排查。
我写了一套复杂的规则,因为要和客户视频会议,常常有 UDP 解析的需要,得确保解析出来的地址离代理服务器近而不是离我近,又要避免无意义的本地多次解析,调得我头都大,不过还好可以 DNS 一点都不泄漏,生产环境稳得要死。
代价是路由器读取规则内存会飘到 180M ,常驻内存 60M+,小一点内存的路由器读规则都会卡死无法启动...