项目地址: IrineSistiana/mosdns
配置方式很独特,转发流程完全由用户自己设置。大概就是,mosdns 提供这些基本功能模块,能实现什么,全靠用户自己想了。
以下是项目 wiki 里原文:
mosdns 是一个灵活的 DNS 转发器。灵活是指,mosdns 可以通过组合不同的插件,实现想要的功能。如果自带插件无法满足需求,mosdns 还提供了插件框架供高级用户向 mosdns 内添加新插件。
听起来很像 coredns? 是的,mosdns 和 coredns 一样,每个插件实现一个功能。但 mosdns 的插件执行顺序可动态调整。
目前 mosdns 的插件可以实现:
丢弃或屏蔽应答。(blackhole) 为请求附加 ECS (可以是预设地址,也可以自动用客户端地址)。删除 ECS 。(ecs) DNS 转发,支持 DoT/DoH 协议。(forward) 将应答 IP 写入 ipset 。(ipset) 匹配请求域名和应答的 CNAME 域名。(domain_matcher) 匹配应答的 IP 和客户端地址。(ip_matcher) 匹配请求的类型。(qtype_matcher) 非加密 DNS 服务器。(plain_server) DoH 服务器。支持关闭 TLS 配合反向代理使用。( http_server) hosts 功能。(hosts) 自定义上述插件的执行顺序,实现最适合自己的运行方式。(sequence)
我主要是用来分流。努力配置后,成功实现了我想象中的多地区同时靠不同域名靠不同 IP 靠不同 ECS 靠不同 ipset 的分流逻辑。真的非常灵活。
个人感觉还有几个非常实用的特点: ip 和域名可以从 txt 表导入也可以从 v2 的规则文件导入。很兼容,路由上用脚本更新很方便。请求模块“用的 AdguardHome 的组件驱动,运行行为跟 AdguardHome 是差不多一样”,所以可以安心配置多个上游,然后挂在 AdguardHome 前面。因为有一样的负载均衡。
然后第一次配置可能要把整个 wiki 看完,不然不理解 mosdns 的运行方式配置起来会有点迷。
感谢作者。已使用作者的 mos-chinadns 很久了。今天成功切换到 mosdns 。分享到 V2EX 来支持作者。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.