华硕梅林路由器部署 AdGuard Home:三步实现全屋广告拦截
【免费下载链接】Asuswrt-Merlin-AdGuardHome-InstallerThe Official Installer of AdGuardHome for Asuswrt-Merlin项目地址: https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer
客厅电视每次开机都要先播一段广告,孩子的平板上弹窗时隐时现。与其给每台设备单独装软件,不如在华硕路由器上完成一次 AdGuard Home 安装:把路由器变成整个家庭的拦截网关,所有连入 Wi-Fi 的设备自动被覆盖,这就是华硕路由器广告拦截最省心的做法。
AdGuard Home 如何在路由器上工作
这一节回答"一台路由器凭什么保护全家设备"。
AdGuard Home 是一个开源的 DNS 拦截程序,部署后运行在路由器里并接管域名解析。家里所有设备的 DNS 查询都必须先经过路由器,它把每一次查询与过滤列表比对:命中规则的域名直接返回空结果,未命中的域名再转发给上游 DNS 服务器。手机、平板、电视、摄像头因此不需要安装任何软件,开机弹窗和页面广告会在解析阶段就被挡掉。上游还可以配置 DoT/DoH 加密解析,防止查询记录被中间链路看到。
设备 DNS 查询 ↓ 华硕路由器 · AdGuard Home ├─ 命中拦截列表 → 直接返回空 └─ 未命中 → 转发上游 DNS部署前核对清单
这一节把固件、存储、依赖三方面的前置要求合并成一份清单,装之前逐项打勾,能避免大部分中途失败。
- ARM 架构华硕路由器,性能建议 RT-AC68U 或更高
- 已刷 Asuswrt-Merlin 固件,版本不低于 384.11
- 管理页"管理 → 系统"中已启用 JFFS 自定义脚本与配置
- 独立 U 盘上已装好 Entware 并挂载(
/opt可用) - 已执行
opkg update && opkg upgrade更新 Entware 软件包 - 已创建 2 GB 以上的交换文件(可用 AMTM 创建,最多 10 GB)
💡 双 NAT 或双 WAN 组网下,接管 DNS 53 端口可能不兼容,动手前先确认网络拓扑;路由器越弱,越建议把交换文件留足。
三步完成部署
这一节只保留必须动手的三步,按"目的 → 命令 → 如何确认成功"走,全程在一个 SSH 会话里完成。
第一步:SSH 登录路由器
目的:打开到路由器的远程命令行通道。
ssh admin@192.168.50.1地址换成你路由器的网关 IP(梅林默认就是 192.168.50.1)。
确认成功:终端出现ASUSWRT-Merlin:风格的提示符,并能正常输入命令。
第二步:下载并运行安装器
目的:一条命令拿到官方安装脚本 installer 并进入安装流程,无需克隆整个仓库。
/usr/sbin/curl -L -s -O https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer/master/installer && sh installer确认成功:下载结束后出现交互式菜单,选择1(Install/Update AdGuardHome);安装流程走完没有 FAIL 报错、重新回到主菜单即成功。
第三步:按提示完成安装问答
目的:安装过程中脚本会依次询问几项内容:DNS 服务如何交接给 AdGuard Home(原 dnsmasq 会被移到交接端口,不影响路由器自身解析)、管理页端口(默认 3000)、版本通道(release 稳定 / beta / edge)。
确认成功:没有把握的选项直接回车接受默认值即可;流程结束时会打印服务已启动的摘要和管理页地址,此时可在浏览器打开该地址验证(见下一节)。
💡 安装脚本只占用几 MB 空间,写入 Entware 目录;装完后可以顺手删掉当前目录下的 installer 文件。
部署后验证方法
这一节做三件快速检查,确认拦截真的在工作,而不是"装上了但没生效"。
- 打开管理页:浏览器访问
http://192.168.50.1:3000(换成你的网关 IP),首次访问要求设置管理员用户名和密码,设置完成才算部署闭环。 - 确认进程与端口:路由器上执行
pidof AdGuardHome应返回进程号;再执行sh installer status可以看到服务状态、53 端口归属、AdGuardHome 版本和管理页地址。 - 确认拦截生效:用手机打开一个广告较多的网页,回到管理页查看"查询日志",出现红色 Blocked 记录、首页当日拦截计数开始增长,就说明过滤列表已经在处理真实流量。
高频配置
这一节只写部署后最常用的三件事,其余功能可在管理页自行探索。
添加拦截列表。管理页进入"过滤 → DNS 拦截列表",点"添加拦截列表"填入规则地址,保存并点"更新"即生效。国内流量建议优先挑选对中文站点规则较全的列表,避免误拦。
更换管理端口。3000 端口被占用时,路由器上执行sh installer选择4(Reconfigure),把端口改为 3000–65535 之间的空闲值,脚本会同步改写配置文件。
更新预览与备份。升级前先用sh installer update --dry-run预览变更内容,再执行sh installer backup --yes把配置整体打包备份,备份文件可用 restore 命令恢复,更新出问题时有回退路径。
日常维护与故障速查
这张表把日常检查、维护和常见故障的处理方式合在一起,遇到问题先按现象对行。
| 现象 | 检查命令 | 处理动作 |
|---|---|---|
| 管理页打不开 | pidof AdGuardHome | 无进程时执行service restart_AdGuardHome;仍不行再跑sh installer doctor定位 |
| 设备断网或 DNS 不生效 | netstat -lnp \| grep ':53 ' | 用sh installer doctor查看 53 端口归属与 dnsmasq 交接状态,处理冲突后重启服务 |
| 更新后行为异常 | sh installer status | 今后先sh installer update --dry-run预览、sh installer backup --yes备份再更新 |
| 诊断出现 WARN/FAIL 项 | sh installer doctor | 逐条看完输出后执行sh installer doctor --fix做权限、软链接、残留文件的安全修复 |
日常习惯上,建议每月跑一次sh installer status,更新前后各留一份备份,查询日志里长时间出现某域名被误拦时再到管理页把它加入白名单即可。
收尾
建议先只把访客网络交给这套 AdGuard Home,观察两三天查询日志再放开全家设备。需要克隆完整仓库或查看 armv5/armv7/armv8 各架构的二进制归档缓存时,镜像地址为 https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer 。每条命令的完整说明与卸载流程,见仓库根目录的 WIKI.md 文件。
【免费下载链接】Asuswrt-Merlin-AdGuardHome-InstallerThe Official Installer of AdGuardHome for Asuswrt-Merlin项目地址: https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考