折腾自建DNS分流的思路及最终成果



折腾完了软路由这下不会all-in-bome了,终于可以放开手来搞dns服务器了。 研究科各个dns分流 paopaodns,mosdns,smartdns,adg,等,终于定下来用smartdns做dns服务器,然后利用adg来做可视webUI界面顺便做个广告拦截。ikuai默认下发主路由网关 adg的dns。
图一:这一个月来局域网内的dns请求,作为adg唯一的dns上游的smartdns最终延迟也到了6ms,在一段时间后估计延迟还会更低

图二:主路由旁路由全指向adg,有且只有这一个dns;adg唯一的上游smartdns各种dns请求全靠他了(下一页详解)。由于自建了dns服务器且确保了非国内域名dns不泄漏所以下发的都是真实ip,有需求的客户端可以只把网关改向mi,dns仍旧保持指向adg,这样的好处就是不会获取到fakeip的情况下依然可以做到科学。

图三:smartdns设置了两个特殊分组,国内域名列表匹配到的直接分流到UDP DNS, 设置最快响应DNS模式,谁应答dns最快就采用,一般来说国内域名无所谓泄漏也不存在污染,故只追求速度,一般会匹配到运营商dns给出的结果,第二个oveasea分组采用了开源社区手机的清单每周脚本自动更新,由于防泄漏防污染故全部走httpproxy到mi远程通过doh解析。 剩下的不再两个名单里没匹配到的走默认分组 里面都是国内公共dot服务器。(既保证隐私的情况下也保证了一点点速度)

45 个赞

别吵,我在思考(:brain::crazy_face:

1 个赞


你的拦截率怎么这么低

1 个赞

另外阿里dns大部分地区都是比腾讯快很多的, 可以考虑换一下
image

1 个赞

请问楼主 smartdns通过HTTP Proxy查询doh具体是怎么设置的?

1 个赞

话说阿里的dns不是要限制访问频率了吗

别听风就是雨, 自己去看看多高的限制, 你得怎么用才能顶到限制

以前搞过这一套家里人狂喷网络不稳定

1 个赞

应该还是规则不可能完全100%正确的原因,有些域名是国内的,但是走了国外dns

我不考虑啊 我国内用请求不用doh 国外请求不用腾讯阿里的doh 直接用8.8.8.8 1.1.1.1doh

不需要非常正确 我的分类是明显国内域名走国内最快的dns回复, gfw列表里的走远端解析 剩下的国内dot解析 尽量做到国内最快 国外不泄漏就是了 而且走国外doh解析的还加上了测速 双栈优选出最快路径

我有些设备无效请求太多了拉高了总量

20次/s 而且是dot doh 普通dns不受影响 一般人无所谓的

一直不敢搞在nas上 是前段时间把服务都独立出来网络相关的都放在软路由去了 才敢开始折腾dns。

哈,最近2年,我折腾SmartDNS和Surge、AdGuard,真实花了不少时间,看到楼主的文章,深有感慨

1 个赞

好文 我也在纠结自己的软路由 5105有没有必要上adgh等(
不过貌似没有看到直接使用ikuai拨号出来的dns 作为上游dns
我是觉得运营商的dns如果是家用 是比公共dns服务好的

2 个赞

有的 我会把拨号获得的dns写进国内分组的上游dns,我国内请求默认使用最快回复所以一般会匹配到运营商的dns

1 个赞

surge没法做到dns分流没有dot,每次远端解析就感觉慢了一点 这也是让我想要自建分流的原因 这样我surge里只需要留下这一个dns就行

1 个赞

对的 国内运营商的dns 其实在网络环境文明的情况下 是相当好的一个dns服务
比公共服务好不少
最近也是看了不少狐狐:fox_face:的文章,才恍然大悟,不然我一直是以公共dns服务为主

2 个赞

用运营商的前提是要有分流 国内域名是可以无脑用运营商的dns的

1 个赞