配置目的
- 主路由负责DHCP,旁路由处理DNS/广告过滤
旁路由安装如下软件:
- AdGuard Home:广告过滤 + 数据统计
- SmartDNS:DNS查询优化 + 国内CDN加速
环境准备(以个人设置为例)
- 主路由IP:192.168.0.1 / DHCP首要DNS(192.168.0.8)
- 旁路由(iStoreOS) IP:192.168.0.8
- 确保SmartDNS已安装、配置、运行
端口规划
- SmartDNS端口号:6363,作用:DNS优化 + CDN加速
- AdGuard Home网页管理端口号:3001 ,作用:管理界面
- AdGuard Home DNS服务端口号6364 ,作用:广告过滤
效果:
配置步骤
1. 安装和配置AdGuardHome
**初始化配置:**http://192.168.0.8:3000
关键配置:
网页管理端口:3001(访问端口从3000改为3001)
DNS服务端口:6364 (不要用53,后面使用DNS重定向转发)
DNS设置入口:
上游DNS:
# 旁路由地址:SmartDNS端口号
tcp://192.168.0.8:6363
udp://192.168.0.8:6363
Bootstrap DNS:
223.5.5.5
119.29.29.29
8.8.8.8
1.1.1.1
DNS缓冲配置:
添加DNS黑名单:
阻止服务配置:(自定义勾选)
注意:记住上面配置AdGuardHome的端口号:6364
下面配置SmartDNS需要用到
到此就结束了AdGuardHome配置
2.配置SmartDNS
(注意:未安装配置SmartDNS的,请详见此帖首页链接择一配置。)
- 在SmartDNS管理界面:
禁用"自动设置Dnsmasq"
- 上游DNS服务器:
- 继上回帖对SmartDNS加强优化:
设置——上游服务器下"域名规则",添加如下:
address /github.com/-
address /githubusercontent.com/-
server-tcp 8.8.8.8 -group overseas
server-tcp 1.1.1.1 -group oversea
- 高级设置:
到此SmartDNS配置和加强优化就完成了
3.istoreOS旁路由设置:
设置DNS重定向和转发:
配置路径顺序:网络 → DHCP/DNS →常规→转发
- 常规:
- DNS重定向:
勾选
2.转发:
DNS转发添加:
# 指向旁路由中的AdGuardHome
192.168.0.8#6364
# 看后面数据流向你就会明白为何先重定向转发到AdGuardHome(端口号:6364),
而不是SmartDNS(端口号:6363)
到此istoreOS配置和加强优化就完成了
4.主路由配置:(已按上回SmartDNS设置的可以跳过)
主路由DHCP设置:
首选DNS服务器:192.168.0.8
数据流向
设备请求 → 主路由DHCP → dnsmasq重定向(53)→ AdGuard Home(6364,广告过滤) → SmartDNS(6363,CDN加速) → 最优上游DNS
(AdGuardHome在前,SmartDNS在后,53重定向应先转发到6364的AdGuardHome)
完美状态
AdGuardHome - 正常运行(6364端口)
- 广告过滤功能正常
- 查询统计工作
- 管理界面可访问(3001端口)
SmartDNS - 正常运行(6363端口)
- DNS 查询优化
- 作为 AdGuardHome 的上游
DNS 重定向 - 正常工作
- dnsmasq 正确重定向到 AdGuardHome
- 所有设备自动获得广告过滤
网络访问 - 完全正常
- 正常网站可访问
- 广告被有效拦截
验证测试配置:成功 or 失败
- 使用Xshell通过SSH连接istoreOS,分别操作如下:
service smartdns restart
service adguardhome restart
service dnsmasq restart
# 测试正常网站
nslookup baidu.com
nslookup github.com
# 测试广告拦截,应返回 0.0.0.0
nslookup doubleclick.net
# 查看响应速度和正常返回地址
nslookup baidu.com 192.168.0.8:6363
nslookup baidu.com 192.168.0.8:6364
- 客户端测试:Windows为例
# 快捷键:win+R,输入CMD打开命令窗口,输入如下:
nslookup example.com
nslookup doubleclick.net
# 同样可以用上面istoreOS测试网址命令
- 查看AdGuard Home统计
AdGuardHome日志显示有查询DNS和DNS黑名单列表拦截日志就证明成功了
注意如下:
如果安装了Tailscale,请用XshellSSH连接istoreOS,输入如下命令禁用覆盖全局DNS:
tailscale set --accept-dns=false
问题:为何AdGuardHome只有192.168.0.8一个客户端查询DNS和拦截显示?
在旁路由模式下,所有客户端的 DNS 请求流程:
客户端设备 → 主路由DHCP →iStoreOS(dnsmasq) →AdGuardHome
↓
客户端IP
# dnsmasq IP(192.168.0.8) 看到的是dnsmasq的IP
# 如果是iStoreOS(dnsmasq)或AdGuardHome开启DHCP分配IP就会显示所有客户端
AdGuard Home 看到的所有请求都来自 iStoreOS(dnsmasq) :192.168.0.8
而不是客户端的真实 IP
设置总结(个人为例)
- 主路由IP:192.168.0.1,
首要DNS:192.168.0.8(旁路由IP)
- 旁路由IP:192.168.0.8,
路径:网络——DHCP
DNS重定向
,转发:192.168.0.8#6364
- SmartDNS
常规:端口号:6363
禁用"自动设置Dnsmasq"
添加“上游服务器”
添加“域名地址”
高级设置:
选“最快响应”
- AdGuardHome
初始化设置:管理界面和DNS地址使用旁路由IP:192.168.0.8,端口号分别是3001和6364。
常规设置:留第一项
DNS设置——上游服务器
tcp://192.168.0.8:6363
udp://192.168.0.8:6363
缓存设置:勾选
乐观缓存
- 过滤器
DNS黑名单:添加列表
已阻止名单设置
编辑不易
【赐:点赞、收藏、关注】
完成效果
- 全网设备自动广告过滤

- 网站访问优化

- DNS查询智能加速

- 详细的网络使用统计

- 无需额外防火墙配置

按照这个配置,你的网络就会拥有
广告过滤 + DNS加速























