家里装了NAS或软路由,跟着教程把AdGuard Home装好,打开仪表盘,一天几万条DNS请求、几千次拦截,看着挺安心。结果手机一亮屏,开屏广告还在;电视盒子贴片还是90秒;家里人再来问一句"这个App怎么打不开了"。这时候很多人的第一反应是:规则不够多,再加。
有社区实测发现,家庭网络一天能产生高达5万次DNS请求,其中近20%竟然是广告和追踪器。哔哩哔哩所以网络级去广告确实值得做。但翻翻最近半年的社区讨论就会发现,"装了AdGuard Home没效果"是个高频问题,而且很多时候,原因压根不在规则上。当然也有不少家庭默认设置下就一切正常,如果你踩了坑,按下面这4个自查点过一遍,比盲目加规则有用。
先把原理说清楚
AdGuard Home的拦截原理其实很简单:它管的只是DNS。设备要访问某个域名时,先问DNS要地址,AdGuard Home在这里做一次检查——正常域名照常解析,广告、追踪域名直接拦下,后续请求建立不起来,广告自然加载不出来。

这也决定了它不好使时,第一件要查的事。
自查一:你的设备真的走了AdGuard Home吗
这是最反直觉、也最常见的问题。它只能管到"走了它"的请求,设备的DNS要是不经过它,装再多规则都白搭。常见的绕过情况有这么几种:
Chrome、Edge浏览器有"安全DNS"(加密DNS)选项,如果手动指定了Google、Cloudflare这类云端DNS,网页请求直接飞云端,不经过家里的AdGuard Home;
安卓9以上系统有"私人DNS"选项,家人手动填了外面的加密DNS地址,同样绕过;
个别App内置了自己的DNS解析(比如Firefox自带加密DNS开关),也不受管;
路由器只设置了IPv4的DNS,家里又开着IPv6,部分设备可能走IPv6的DNS,同样绕开。
常见原因其实很集中:客户端绕过本地DNS、浏览器启用独立DoH、Android Private DNS指向其他服务、IPv6 DNS配置不正确,以及应用使用硬编码DNS。知乎验证方法很简单:用那台"有广告"的设备随便刷几个网页,再打开AdGuard Home的仪表盘和查询日志,看这台设备有没有新的查询记录。有记录,说明走了;一条都查不到,就按上面几条逐个排查。社区里有句话总结得很到位:很多时候不是AdGuard Home不行,只是你的设备压根没走它。

自查二:规则不是越多越好,是"够"就好
解决"走没走"的问题后,第二个高频坑就是一次加几十个规则列表。
先看一组数据。按社区转述的HaGeZi规则项目方测试(基于whoTracks.me的1万个网页样本),Normal级列表的拦截率约31.12%,换成最激进的Ultimate也只有约43.75%,但要接受明显更高的误杀率,还得定期查日志维护白名单。知乎换句话说,猛加规则换来的拦截率提升不过十几个百分点,网站被误伤的风险却成倍上涨。

对国内普通家庭,社区比较公认的组合其实不复杂:HaGeZi Normal或OISD Big二选一打底——OISD的维护理念是"零误杀",适合不想折腾的家庭;再加官方的AdGuard DNS Filter;如果主要用国内网站和App,再补一条国内区域规则。对中国用户来说,AdRules DNS List是目前国内生态覆盖最全面的选择,强烈推荐。知乎
关键是:别一次加一堆。先加一两个,观察一周,确认没有误杀,再考虑继续加。一次加几十个规则,哪天网站崩了你都不知道该找谁。
自查三:家人抱怨"网站崩了",误杀的正确处理姿势
装完AdGuard Home,这一天迟早会来:家人说某个App用不了、某个网页打不开。这时候最忌讳的操作是把AdGuard Home整个关掉——一关,连排查工具都没了。
正确的流程是三步:先问清楚是哪个App、哪个网站、大概什么时间;然后打开查询日志,找到那台设备对应时间段的记录,重点看状态标为"已过滤"的域名;最后把可疑域名用类似`@@||example.com^`的格式加进自定义过滤规则放行,再回去验证。
这里有两个特别常见的错误。第一个是看到日志里出现某App的域名,就想把主域名整个拉黑——这些主域名往往同时承担着登录、评论、视频流、CDN,拦了就是整个App一起崩。这些域名很多不是单纯广告域名,而是App的正常接口、图片、视频、登录、评论、推荐流、CDN服务,直接拦截主域名很可能导致整个应用异常。知乎正确姿势是只拦广告、统计、追踪相关的子域名。
第二个错误是看错日志状态:域名显示"已处理",只表示这条请求经过AdGuard Home后被正常放行,不是被拦了。日志里出现百度、知乎的域名,不用慌。实在定位不到是哪个域名,就用排除法:临时关掉某一个规则列表再测,确认问题出在哪个列表后,再进那个列表里逐条看。这套排查下来,比卸载重装快多了。
自查四:日志和磁盘,悄悄积累的成本
AdGuard Home本身免费,但长期跑下去,有两笔隐性成本容易被忽略。
一笔是容量。查询日志留着方便排查,但它涨得也快。有用户实测,按他的使用习惯,保存90天日志最少得准备约1.5G剩余空间。微博设备越多、查询越多,涨得越快。普通家庭把查询日志保留期设在7-30天就完全够用。
另一笔是磁盘稳定性。AdGuard Home跑在路由器或NAS上、日志写在外接USB盘时,接口和线材别忽视。有位用户的AdGuard Home反复报日志写入错误,重启后只能撑几个小时,硬盘检测又一切正常,最后发现原因只是外接硬盘的数据线换成了一根劣质短线,换回原装线就恢复正常。微博这类问题常规排查根本查不出来,特别耗时间。闪存小的设备、SD卡设备,建议把日志保留期调短,少写入。
顺手再查一项:DNS速度。AdGuard Home接管全家DNS之后,上游配置直接影响网页打开快慢。社区里常见的做法是同时配置多个国内公共DNS,让AdGuard Home并行发出请求、谁先返回用谁。知乎配完看一眼仪表盘上的"平均处理时间"有没有明显下降。
最后,管理一下预期
AdGuard Home工作在DNS层,只能看到"你访问了哪个域名",看不到"页面里哪部分内容是广告"。所以广告和正常内容共用一个域名的场景——短视频信息流、和播放接口深度绑定的视频贴片、部分开屏广告——它基本无解,拦狠了大概率连正常内容一起崩。社区实测口径也一致:开屏广告可能有效,但抖音、快手的信息流广告效果有限。知乎

所以现实的方案是两层分工:AdGuard Home负责全网打底——电视盒子、智能家居设备、网页追踪;电脑浏览器里的网页广告,最好再交给uBlock Origin这类浏览器插件做页面级拦截。知乎这个组合,比指望AdGuard Home单打独斗解决一切,体验会好得多。
如果你家里已经装好了,今晚就可以做一件事:打开仪表盘,看看客户端列表,把那些还没走AdGuard Home的设备找出来。光这一步,就比加十个规则列表有用。