用 mosdns 替代 smartdns ,主要是因为 mosdns 可以实现国内国外域名分流的功能,对个人来说 mosdns 最核心功能是:
1.国内已经域名 List 用国内 DNS 解析,直连访问
2.国外已经域名 List 用国外 DNS 解析,添加到 ipset ,走代理访问
3.对于未知域名的处理是 mosdns 的核心,未知域名用国内国外 DNS 同时查询,如果国内 DNS 返回国内 IP ,则直接返回给客户端,如果返回非国内 IP ,则用国外 DNS 返回的结果,同时添加到 ipset 中,走代理访问,这样就实现了比如美国大使馆、美国大学这些未封但访问慢的网站走代理
以上功能就可以实现全球所有域名以最优方式访问,smartdns 虽然也可以按域名分流查询,但未知域名无法按逻辑判断来处理,目前也只有 mosdns 可以实现,mosdns 从 v3 开始用,到现在的 v5 ,也已经非常稳定,如果有同样需求的,十分推荐
还有其他各种功能就不详说了:hosts 、redirect 、广告过滤、Dot 、Doh 、lazy cache 、ecs 、mark 、ipv4 优先、屏蔽 qtype65 、缓存持久化...
但实际上 mosdns 的配置还是有那么一点复杂的,没办法,想要实现各种功能肯定不会是纯傻瓜化的,下面是我的配置模板可以参考:
https://github.com/IrineSistiana/mosdns/discussions/605