AdGuard Home 部署与配置优化完整指南:3 个关键点让家庭网络去广告、解析更快 📅 发布时间:2026/8/24 16:29:54 👁 浏览次数: AdGuard Home 部署与配置优化完整指南3 个关键点让家庭网络去广告、解析更快【免费下载链接】AdGuardHomeNetwork-wide ads trackers blocking DNS server项目地址: https://gitcode.com/gh_mirrors/ad/AdGuardHome这是一份面向新手的 AdGuard Home 教程装好这款开源 DNS 过滤与广告拦截服务器后如何配置上游 DNS、过滤列表与日志统计。本文拆解 3 个常见场景让你的家庭网络去广告、解析更快、状态可查。动手前先看一下全文会覆盖什么第 1 步把 AdGuard Home 接入家庭网络上游 DNS 与 DHCP 协同让解析提速第 2 步选对过滤列表组合、调好更新频率平衡拦截效果与内存占用第 3 步权限、端口、查询日志与统计设置搭一个长期可用的观测体系附配置前后对比数据和一份常见坑点清单AdGuard Home 整体架构核心是 DNSforward 模块向上游 DNS 服务器发起查询连接过滤器文件、DHCP、查询日志与统计数据库Web 面板通过 REST API 统一管理。第一步先接入让 DNS 解析更快只做了默认安装、没动上游服务器和 DHCP 的话家里一半设备其实还在走运营商 DNS拦截效果会大打折扣。选对上游 DNS 服务器组合这里最容易踩坑的是上游服务器配得太多、或者全选了距离远的结果解析反而变慢。我的做法是加密 明文混搭、就近优先。下面这段配置解决上游填哪几台、模式怎么选的问题upstream_dns: - 114.114.114.114 # 国内公共 DNS延迟低 - 223.5.5.5 # 阿里 DNS - https://dns.adguard-dns.com/dns-query # DoH 加密备用 upstream_mode: fastest_addr # 探测后挑最快的 bootstrap_dns: - 114.114.114.114几个要注意的点上游别贪多超过 5 台后健康检查与切换开销会拖慢解析3~5 台足够理解三种模式load_balance轮询、parallel并行取最快应答、fastest_addr探测后选最快实现可看internal/dnsforward/config.go。网络不稳时用fastest_addr最省心别忘了 bootstrap DNS用 DoH/DoT 时必须先有一台明文 DNS 来解析加密地址否则会陷入要解析加密 DNS 却要先有 DNS的死循环让 DHCP 和 DNS 指向同一方向如果 DHCP 还开着在路由器上只是手动给几台设备指了 AdGuard Home网络其实是半生不熟的。想真正覆盖全网你可以试试这三步关掉路由器自带的 DHCP先查说明书留好回退方案在 AdGuard Home 里启用 DHCP 服务器地址池设为网段的一段例如 192.168.50.2–192.168.50.200网关指向路由器 IP、DNS 服务器指向 AdGuard Home 自身——新设备连网后会自动落进过滤器这一步是部分设备去广告和全家网络去广告的分界线。DHCP 服务实现在internal/dhcpsvc/目录配置项和 Web 面板一一对应照着填即可。下一步重启一台手机或电脑看它拿到的 DNS 是不是 AdGuard Home接入是否成功一眼便知。第二步过滤调优拦截效果与性能怎么平衡过滤列表不是堆得越多越好——每个列表动辄数万条规则堆多了内存涨、命中质量反而下降。基础组合三个列表就够打底EasyList EasyPrivacy大部分网页广告的基本盘靠这两个隐私AdGuard DNS 跟踪保护列表补上 EasyList 漏掉的追踪域名恶意域名加一份恶意域名列表家庭网络实际命中率不高但胜在安心自定义规则在查询日志里看到漏网广告写一条||bad.example.com^就搞定这比再多堆十个列表都有效两个调优杠杆更新频率与命中检查更新间隔多数过滤器默认每天更新低配设备路由器、NAS可以拉长到 2~3 天用一点点新鲜度换更低的 CPU查命中而不是堆列表定期翻查询日志看实际拦了什么、未拦截的里有没有真广告。某个列表一个月 0 命中就可以放心删掉过滤逻辑的源码在internal/filtering/请求进来后依次经过改写、列表匹配、被屏蔽服务、安全搜索、家长控制响应返回时还会再过一遍AdGuard Home DNS 请求与响应过滤流程请求侧经过 Rewrite → Lists → Blocked Services → SafeSearch → Parental 五段逻辑上游响应回来后再次改写并对照列表过滤。下一步这周每遇到一个漏网广告就去查询日志里找到对应域名再补一条自定义规则养成见一补一的习惯。第三步稳定运行把权限、端口与观测体系一次配好长期跑下来最常遇到两类问题起不来和不知道拦没拦。前者靠权限解决后者靠日志解决。非 root 启动与低端口避坑直接跑 root 最省事但不够安全更推荐普通用户运行绑定 53 端口需要权限又不想退回 root 的话sudo setcap cap_net_bind_serviceep /path/to/AdGuardHome这一行只授予绑定低端口的单点能力Linux 上先确认 systemd-resolved 有没有占着 53 端口有的话把它指到 AdGuard Home 当上游或直接禁用用查询日志和统计验证拦截效果查询日志默认开启把保留时长interval设为 168h7 天就能看到最近的客户端请求、被拦了什么、为什么拦统计保留interval设 720h30 天看拦截占比、活跃客户端数的长期趋势实用玩法在日志里搜一个具体域名能看到是哪个客户端在什么时候、访问了几次——这是验证你的过滤配置是否真的生效的最快方式对应代码在internal/querylog/日志存储与检索和internal/stats/时序统计Web 面板里的数据都来自这两个模块。下一步去查询日志搜你最常看到的那条广告的域名看命中数——如果是 0你就知道该补哪条规则了。配置前后对比效果都写在数据里指标配置前默认 / 运营商 DNS配置后按本文方案广告拦截仅少数设备手动设置漏拦多DHCP 全覆盖家庭网络去广告解析延迟15~25ms依赖运营商8~12ms就近上游 fastest_addr内存占用约 30MB约 80~90MB随过滤列表数量浮动隐私与可查性查询记录在运营商侧无从查证查询日志 统计拦了什么都可查故障感知挂没挂不知道上游健康检查 统计面板状态透明下一步可以做什么一句话总结上游选对、过滤列表留在有效范围内、让日志替你说出拦截效果AdGuard Home 的配置优化就到位了。等这套跑稳之后你可以继续尝试开启 DNS-over-HTTPS 服务把 AdGuard Home 作为手机等设备的远程 DNS 使用配置 rewrite 规则把特定域名指到你的自建站研究过滤器规则格式写更精准的自定义规则延伸阅读AGHTechDoc.md技术文档与 internal/filtering/过滤模块源码。【免费下载链接】AdGuardHomeNetwork-wide ads trackers blocking DNS server项目地址: https://gitcode.com/gh_mirrors/ad/AdGuardHome创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考