南非世界杯时间

OpenWrt保姆级教程:AdGuardHome+NIKKI 实现DNS劫持、去广告与精准流量控制

当OpenWrt遇上NIKKI+AdGuardHome:一套丝滑的DNS劫持与去广告组合拳

一、为什么要折腾这套组合?在家庭网络或小型办公环境中,我们常希望实现设备流量统计、应用访问控制和广告拦截三件套。但传统方案往往需要多个插件配合,容易引发冲突。今天介绍的这套基于OpenWrt 23.05的NIKKI+AdGuardHome方案,通过DNS流量智能调度,实现了:

- 精准设备识别:通过NIKKI的客户端统计

- 灵活管控:用AdGuardHome过滤广告+自定义规则

- 零冲突架构:DNS监听与劫持分离设计

- 高性能处理:nftables替代iptables更高效

二、为什么要这样部署?Q1:为什么需要劫持53端口?

很多IoT设备(如智能电视、摄像头)会硬编码使用本地DNS,通过劫持53端口能强制它们走过滤通道。

Q2:为什么用nftables而不是iptables?

OpenWrt 23.05+默认使用Firewall4(基于nftables),新内核下性能更好,规则管理更清晰。

Q3:为什么选择5335→1053端口转发?

这是典型的"前店后厂"设计:AdGuardHome(5335)在前端过滤广告,NIKKI(1053)在后端处理DNS解析,各司其职互不干扰。

三、配置实操手册1. NIKKI设置(重点参数说明)

代理配置 → 透明代理:

☑️ 关闭IPv4劫持

☑️ 关闭IPv6劫持

绕过配置 → 绕过资源组:

☑️ 勾选adg(自定义的绕过组)

避坑指南:这里的"绕过"是指允许特定流量跳过AdGuardHome处理,比如需要直连的网银类站点建议加入adg组。

2. AdGuardHome调教

关键文件:/etc/AdGuardHome.yaml

dns:

bind_hosts:

- 0.0.0.0 # 监听所有接口

port: 5335 # 与后续劫持端口对应

upstream_dns:

- 127.0.0.1:1053 # 指向NIKKI的DNS监听重启技巧:

/etc/init.d/adguardhome restart

# 观察日志确认无报错

tail -f /var/log/adguardhome.log3. nftables劫持的黑科技

配置文件:/etc/nftables.conf

table inet adguardhome {

chain prerouting {

type nat hook prerouting priority -110;

# 劫持所有TCP/UDP的53端口请求

meta nfproto { ipv4, ipv6 } udp dport 53 counter redirect to :5335

meta nfproto { ipv4, ipv6 } tcp dport 53 counter redirect to :5335

}

}调试技巧:

# 实时查看流量统计

nft list table inet adguardhome -a

# 预期输出应包含packet计数四、效果验证操作场景1:检测广告过滤

在手机端访问优酷视频,观察是否还有60秒片头广告。

场景2:深度检测DNS路径

# 在OpenWrt执行

tcpdump -i br-lan port 53

# 同时另开窗口执行

dig @192.168.1.1 www.taobao.com

# 应看到流量被重定向到5335端口场景3:强制刷新DNS缓存

# Windows系统

ipconfig /flushdns

# Android系统

adb shell killall -HUP netd五、可能遇到的问题诡异现象1:劫持规则重启后消失

解法:检查/etc/rc.local权限是否为755,建议追加sleep命令:

sleep 5 # 等待网络初始化

nft -f /etc/nftables.conf诡异现象2:某些APP无法连接

解法:在AdGuardHome的`过滤器 → 自定义规则`中添加:

@@||appdomain.com^$important诡异现象3:IPv6地址泄露

解法:在AdGuardHome的DNS设置中启用:

block_echain: true六、进阶玩法推荐玩法1:设备级控制

在AdGuardHome的`客户端设置`中,基于MAC地址设置不同过滤策略。

玩法2:DNS-over-HTTPS

在NIKKI的上游DNS配置中填入:

tls://1.1.1.1:853玩法3:流量可视化

部署Prometheus+Grafana,通过AdGuardHome的/metrics接口生成实时流量看板。

七、总结1. 关掉NIKKI的DNS劫持 → 让出53端口

2. 把AdGuardHome推到前线(5335端口)→ 专职过滤

3. 用nftables做流量调度员 → 强制所有设备走过滤通道

4. NIKKI退居二线(1053端口)→ 专注协议解析

这套架构的精妙之处在于:既利用了AdGuardHome强大的过滤能力,又保留了NIKKI的协议识别特性,两者通过端口转发形成完美闭环。遇到问题记得多查 系统日志 和 nftables计数 ,祝各位折腾愉快!

点击链接加入群聊四群:722808830

点击链接加入群聊三群:751529538(已满)

点击链接加入群聊二群:376877156(已满)

点击链接加入群聊一群:622891808(已满)

饿了么红包

本站附件分享,如果附件失效,可以去找找看

诚通网盘附件、百度网盘附件

Copyright © 2088 中国举办世界杯_世界杯足球场地尺寸 - lchjdj.com All Rights Reserved.
友情链接