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 StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
733
4.75 K
Ascend Extension for PyTorch
Python
647
795
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
434
395
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.01 K
1.01 K
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
1.18 K
152
deepin linux kernel
C
30
16
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
146
237
暂无简介
Dart
984
252
昇腾LLM分布式训练框架
Python
166
198
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.68 K
989