Asuswrt-Merlin路由器AdGuard Home部署与优化指南
2026-04-07 11:40:52作者:裴锟轩Denise
一、问题引入:家庭网络广告过滤的技术方案
在现代家庭网络环境中,广告推送、恶意网站跟踪和不安全的DNS解析已成为影响网络体验的主要问题。AdGuard Home作为一款开源的DNS服务器软件,通过在网络入口处拦截广告域名请求,实现全网络设备的广告过滤。与传统浏览器插件相比,其优势在于:一次部署即可保护所有联网设备,包括智能家居、智能电视等无法安装客户端的设备。本文将系统介绍在Asuswrt-Merlin固件环境下的完整部署流程。
二、准备工作:环境检查与依赖配置
2.1 硬件与固件要求 ⚙️
- 硬件兼容性:基于ARM架构的华硕路由器(推荐RT-AC68U及以上型号)
- 固件版本:Asuswrt-Merlin 384.11或更高版本
- 存储配置:
- 启用JFFS分区(在路由器管理界面"系统设置>系统>启用JFFS2支持")
- 连接至少8GB容量的USB存储设备(建议Class 10以上)
2.2 软件环境准备
-
Entware安装
# 连接路由器SSH后执行 opkg update && opkg upgrade操作目的:更新软件包管理系统
预期结果:显示"Upgrading packages"进度,最终提示"Collected errors: None" -
交换空间配置
# 创建2GB交换文件 dd if=/dev/zero of=/opt/swap bs=1M count=2048 mkswap /opt/swap swapon /opt/swap # 设置开机自动挂载 echo "/opt/swap none swap sw 0 0" >> /etc/fstab注意事项:交换文件需位于USB存储设备,避免占用路由器内置存储
三、核心实施:安装与基础配置
3.1 快速部署流程
-
获取安装脚本
# 下载安装程序 curl -L -s -O https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer/master/installer -
执行安装过程
# 运行安装脚本 sh installer # 安装完成后清理临时文件 rm installer操作说明:安装过程中需根据提示选择:
- 安装位置(建议选择USB设备的/opt分区)
- 网络接口(通常选择br0或eth0)
- 端口配置(默认3000管理端口,53 DNS端口)
3.2 初始配置向导
-
访问管理界面
在浏览器中输入http://路由器IP:3000,首次访问将启动配置向导 -
关键配置步骤:
- 设置管理员用户名和强密码(至少8位,包含大小写字母和特殊符号)
- 确认DNS监听端口(默认53,若与其他服务冲突需修改)
- 配置上游DNS服务器(推荐使用Cloudflare DNS:1.1.1.1)
四、进阶优化:性能调优与功能配置
4.1 性能调优建议 🚀
-
内存优化
# 调整AdGuard Home内存使用参数 sed -i 's/--max-memory=0/--max-memory=128/' /opt/etc/init.d/S99AdGuardHome适用场景:路由器内存小于512MB的设备,限制内存使用避免卡顿
-
缓存策略配置
- 在管理界面"设置>DNS设置"中:
- 启用"缓存大小"并设置为2048(单位:条)
- 启用"缓存TTL",设置最小值300秒,最大值86400秒
- 在管理界面"设置>DNS设置"中:
-
并发连接优化
- 编辑配置文件
/opt/etc/AdGuardHome/AdGuardHome.yaml:dns: max_concurrent: 500 ratelimit: 20
- 编辑配置文件
4.2 高级功能配置
-
DNS加密设置
- DNS-over-TLS:启用后设置服务器地址(如tls://dns.cloudflare.com)
- DNS-over-HTTPS:推荐使用"https://cloudflare-dns.com/dns-query"
-
自定义过滤规则
- 推荐添加的规则列表:
- 基础广告过滤:https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
- 隐私保护:https://raw.githubusercontent.com/RooneyMcNibNug/pihole-stuff/master/SNAFU.txt
- 推荐添加的规则列表:
五、运维保障:系统管理与故障处理
5.1 系统运维命令集
| 操作目的 | 执行命令 | 预期结果 |
|---|---|---|
| 启动服务 | /opt/etc/init.d/S99AdGuardHome start |
显示"Starting AdGuardHome..." |
| 停止服务 | /opt/etc/init.d/S99AdGuardHome stop |
显示"Stopping AdGuardHome..." |
| 状态检查 | pidof AdGuardHome |
返回进程ID(数字)表示运行中 |
| 日志查看 | tail -f /opt/var/log/AdGuardHome.log |
实时显示服务运行日志 |
5.2 常见配置错误对比表
| 错误类型 | 错误配置 | 正确配置 | 影响 |
|---|---|---|---|
| 端口冲突 | DNS端口设置为53,同时运行dnsmasq | 更改AdGuardHome端口为5353,或停用dnsmasq | 服务启动失败 |
| 内存溢出 | 未限制内存使用 | 添加--max-memory=128参数 | 路由器频繁重启 |
| 规则失效 | 仅使用单一过滤列表 | 同时启用3-5个互补规则列表 | 广告过滤不彻底 |
5.3 自动化备份方案
创建备份脚本 backup_agh.sh:
#!/bin/sh
# AdGuard Home配置备份脚本
BACKUP_DIR="/mnt/usb/backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# 备份配置文件
tar -czf $BACKUP_DIR/agh_config_$TIMESTAMP.tar.gz -C /opt/etc/AdGuardHome .
# 保留最近10个备份
ls -tp $BACKUP_DIR/*.tar.gz | grep -v '/$' | tail -n +11 | xargs -I {} rm -- {}
设置定时任务:
# 添加到crontab
echo "0 3 * * * /opt/bin/backup_agh.sh" >> /etc/crontab
5.4 故障排查流程
-
服务无法启动:
- 检查端口占用:
netstat -tulpn | grep 53 - 查看错误日志:
cat /opt/var/log/AdGuardHome.log | grep -i error
- 检查端口占用:
-
过滤规则不生效:
- 验证DNS是否被正确接管:
nslookup example.com 127.0.0.1 - 检查规则更新状态:管理界面"过滤器>过滤器更新"
- 验证DNS是否被正确接管:
-
网页加载缓慢:
- 检查上游DNS响应时间:管理界面"统计>DNS查询>平均处理时间"
- 优化规则数量:移除重复或低效的过滤列表
通过以上步骤,您已完成AdGuard Home在Asuswrt-Merlin路由器上的完整部署与优化。建议每月进行一次系统检查,包括规则更新、日志审计和性能监控,以确保家庭网络环境的持续安全与高效运行。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust098- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
项目优选
收起
deepin linux kernel
C
28
16
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
567
98
暂无描述
Dockerfile
708
4.51 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
958
955
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
942
Ascend Extension for PyTorch
Python
572
694
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
413
339
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
1.42 K
116
暂无简介
Dart
951
235
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
2