当前位置:
AIGC文章详情

刷OpenWrt是为了去广告?先看清DNS拦不住的4类广告,再决定装不装AdGuard Home

源自154位全网作者

02:36

先说结论:DNS去广告真的能让全家网络"明显变干净",但它永远做不到"全网零广告"。有B站UP主实测,自家网络一天5万次DNS请求里,接近20%是广告和追踪器——把这20%拦掉,开屏广告、网页弹窗、埋点追踪这些大头确实会肉眼可见地消失。值得买社区但还有几类广告,DNS从原理上就够不着。不先把这个边界搞清楚,装完插件你只会怀疑自己配置错了。

这篇写给:已经刷了OpenWrt(或者ImmortalWrt、iStoreOS这类衍生固件)、正琢磨装AdGuard Home或SmartDNS,或者已经装了但发现"广告还在"的人。刷机教程和代理配置不在讨论范围。24.10退役、25.12升级这些事最近几周已经说透了,今天回到大家刷机时最原始的那个动机——去广告,到底怎么弄才不白折腾。

一、DNS拦不住的,是这4类情况

DNS拦截的原理一句话:广告域名解析不出来,广告就加载不出来。但域名这一层有四个漏洞,8月初一篇拦截能力实测把它们拆得很清楚:

  1. 加密DNS绕过。Chrome、Edge这些浏览器和不少App自带DoH/DoT(加密DNS),优先走自己的通道,你在路由器里设的DNS直接被跳过。微信公众号这是"改了DNS广告还在"的头号原因,比规则不好使常见得多。

  2. 广告和内容共用域名。抖音、微博这类App的部分广告跟正片内容走同一个CDN域名,拦了广告连内容一起没了,任何DNS服务商都只能放行。

  3. IP直连和HTTPDNS。部分App硬编码服务器IP,或者绕过系统DNS自己解析,DNS层天然管不到。

  4. 黑名单滞后。广告商不断注册新域名,规则收录永远慢半拍。

预期先摆正:网页广告、开屏广告、追踪脚本,能拦;视频贴片广告,部分能拦;信息流里和内容同域名的广告,没戏。这不是插件没装好,是这条技术路线的物理上限。值得买社区

刷OpenWrt是为了去广告?先看清DNS拦不住的4类广告,再决定装不装AdGuard Home

二、OpenWrt上的三种叠法,对号入座

OpenWrt上DNS相关工具很多:dnsmasq(系统自带)、AdGuard Home(下称AGH)、SmartDNS、mosdns……但组合之前只需记住一条原则:全网的53端口入口,只让一个进程管。你属于哪一档,看硬件和折腾意愿。

第一档:零安装,改DHCP下发的DNS。OpenWrt里把LAN口DHCP下发的DNS直接改成公共去广告DNS,全家设备自动生效。最省事的选择是AdGuard DNS;另外有知乎作者分享,腾讯公共DNS(DNSPod)在云控制台开通后自带拦截规则集(含AdGuard规则),每月免费300万次解析额度,家用跑不满。知乎这一档的上限也很明确:没有查询日志、拦了什么看不见、不能按设备单独放行。适合先试试水的。

第二档:自装AdGuard Home,主流选择。AGH占住53端口,dnsmasq让位,换来的是公共DNS给不了的"可管":面板实时显示查询量和拦截比例,每条解析都有日志,误杀了进日志找到域名加白名单,还能按设备单独配置——孩子的平板、客厅的电视盒子可以分开管。

国内规则目前的主流组合:anti-AD(6万多条规则的中文区主力)、AdGuard官方中文过滤器、EasyList China,再有人加HalfLife合并规则。配齐之后覆盖面就够了,规则不是越多越好。值得买社区

刷OpenWrt是为了去广告?先看清DNS拦不住的4类广告,再决定装不装AdGuard Home

三个几乎人人会踩的坑,提前说:

  • 备用DNS必须配。AGH是全家的解析入口,它一停全家断网,把223.5.5.5这类公共DNS设成后备;

  • 端口冲突。53端口默认被dnsmasq占着,装之前先让位或改端口;

  • 误杀是常态。评论区经常有人加了某份规则后"网页直接打不开",处理办法都一样:查询日志里找到被拦的域名,加白名单,秒恢复,别慌着重装。

第三档:再叠SmartDNS/mosdns,折腾党专属。AGH管拦截,SmartDNS管国内解析测速(多线程并发查询取最快应答,对CDN调度乱的网站提速明显),mosdns管分流和规则重写,链路变成dnsmasq→AGH→SmartDNS/mosdns→上游。能跑,但代价很直白:每多一个进程就多一套配置、一份内存占用、一个故障点,出了问题排查要一层层剥。7月有篇《OpenWrt上的DNS链路,能不能简单一点?》就是在反思这件事,最近还出现了Astra DNS这类想把过滤、分流、重写收进单进程的新工具——方向说明社区也觉得链路太重了,但新工具采用量还小,先观望就好。微信公众号

刷OpenWrt是为了去广告?先看清DNS拦不住的4类广告,再决定装不装AdGuard Home

硬件分档建议

  • 16MB闪存、128MB内存的老盒子:别装AGH,第一档公共DNS,或干脆用固件自带的拦截开关;

  • 256MB以上内存的硬路由(红米、360这类刷机热门):第二档AGH单工具,装完看一眼剩余存储,规则别贪多;

  • x86软路由、NAS或带Docker的设备:第二档起步,第三档随意。

三、堵住DoH绕过:OpenWrt玩家比"改DNS的人"多出来的两招

边界里最亏的就是第一条——你辛苦部署的拦截,被浏览器自己的加密DNS直接跳过。两个动作:

  1. 常用设备的浏览器里,把"安全DNS/使用安全DNS"关掉或改成"关闭";手机系统的"加密DNS/私人DNS"同理检查一遍。

  2. 在OpenWrt上做强制:把LAN侧出站的53端口流量重定向到你自己的DNS服务,让想绕的设备也绕不过去。这招对写死DoH的App也有效,但注意给智能家居设备留余地——有些音箱、摄像头对DNS很敏感,强制策略建议按网段做,别一刀切。

刷OpenWrt是为了去广告?先看清DNS拦不住的4类广告,再决定装不装AdGuard Home

这两步做完,你的拦截覆盖率才真正高于"只改DNS"的用户,这也是刷OpenWrt做去广告相对改公共DNS的核心优势。

四、25.12时代的两个现状,装之前看一眼

  • 安装方式变了。升到25.12后包管理器换成了apk,手动装插件的命令从opkg install变成apk add;第三方插件仓库和一键安装脚本对新包管理的适配进度不一,动手前先看看对应仓库最近的更新时间,别拿两年前的教程照抄。值得买社区

  • 24.10用户迁移时带上AGH。24.10本月起进入退役倒计时。值得买社区如果你还在24.10上跑着AGH,将来迁移到25.12时,除了备份/etc/config,记得把AGH的工作目录、规则和查询日志一并打包,别只备份系统配置。

  • 不想碰依赖关系的,用iStoreOS这类自带应用商店的固件,或在线编译固件勾选AGH,比自己装省事。

五、部署完的验收清单

  1. AGH面板看总查询量和拦截比例——拦截比例长期低于5%,先查规则是不是没启用;

  2. 挑一两个平时广告多的网站或App开屏,对比前后;

  3. 抽查主力手机的浏览器是否还在走DoH;

  4. 一周后翻一遍查询日志,把误杀域名挨个加白,然后这套配置就能长期稳定跑下去了。

最后聊一句:你家的DNS现在是谁在管?AGH、SmartDNS,还是dnsmasq裸奔?评论区聊聊你的组合和踩过的坑。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章