四个名字常被放在一起比较,但它们解决的根本不是同一个问题。先看定位,再选方案。
四者定位差异极大:AdGuard Home 面向家庭去广告,自带 Web UI、过滤规则与列表订阅,是"开箱即用"的首选;dnsmasq 是超轻量的 DNS 转发 + DHCP,OpenWrt 路由器的默认 DNS,几乎不占资源但没有现代过滤语法;BIND(ISC) 是工业级权威 + 递归 DNS,功能最全、配置最复杂,适合要托管自己域名的人;unbound 是安全验证型递归缓存解析器,只做递归不做权威,常作为 AdGuard Home 的上游。家用去广告选 AdGuard Home;极致轻量/路由器用 dnsmasq;要自建权威 DNS 用 BIND;要隐私递归上游用 unbound。
从六个维度一次看清差异
| 维度 | AdGuard Home | dnsmasq | BIND 9 | unbound |
|---|---|---|---|---|
| 核心定位 | 网络级广告/追踪过滤 | 轻量 DNS 转发 + DHCP | 权威 + 递归 DNS 服务器 | 验证型递归缓存解析器 |
| 过滤能力 | 强:规则语法 + 列表订阅 + 黑白名单 | 弱:仅 hosts 文件映射 | 无过滤设计 | 无过滤设计 |
| 加密上游 | 原生支持 DoH/DoT/DoQ | 需配合插件/转发,本身明文为主 | 支持 DoT/DoH(需配置) | 支持 DoT/DoH 上游 |
| 资源占用 | 低(Go 单二进制) | 极低(路由器常驻) | 中高 | 低 |
| 配置难度 | 低(Web 向导) | 低(conf 文件) | 高(named.conf 体系庞大) | 中(unbound.conf) |
| 典型场景 | 家庭/办公全屋去广告 | 路由器、嵌入式设备 DNS+DHCP | 自建权威 DNS、企业递归 | 隐私递归上游、DNSSEC 验证 |
它们不是"谁取代谁",而是"各管一段"
开源 Go 软件,把 DNS 服务器、过滤引擎、Web 管理界面、DHCP、加密上游打包在一个二进制里。面向想"开箱即用全屋去广告"的人,见 官方仓库。
NLnet Labs 出品的验证型递归缓存解析器,只做递归、不做权威,强调安全与 DNSSEC 验证。常放在 AdGuard Home 后面当上游。文档见 unbound 文档。
按你的真实目的对号入座
直接上 AdGuard Home。它已经把"过滤 + 缓存 + 加密上游 + DHCP"全部做好,不需要再拼 dnsmasq。
在软路由/OpenWrt 上继续用 dnsmasq,再把它的上游指向一台跑 AdGuard Home 的机器,把过滤"外包"出去。
选 BIND 9。只有它能正经做权威 DNS,承担"把域名指向哪些 IP"的职责。
组合使用:AdGuard Home(过滤)→ unbound(直接向根递归 + DNSSEC 验证),整条解析链路完全自控。