OpenWrt + Adguard Home DNS 配置,拦截网络下的广告与跟踪器。

OpenWrt + Adguard Home DNS 配置,拦截网络下的广告与跟踪器。

OpenWrt + Adguard Home DNS 配置,拦截网络下的广告与跟踪器。 1. 简单规划 我们将使用 Openwrt 中的 dnsmasq 作为下游,提供域名服务,adguard home dns 作为上游,提供 dns 负载均衡与拦截广告和 tracker 的服务。 我的情况是使用透

OpenWrt + Adguard Home DNS 配置,拦截网络下的广告与跟踪器。

1. 简单规划

我们将使用 Openwrt 中的 dnsmasq 作为下游,提供域名服务,adguard home dns 作为上游,提供 dns 负载均衡与拦截广告和 tracker 的服务。

我的情况是使用透明网关的形式,需要生效的设备将网关改为软路由而不是主路由。如果不想用透明网关的形式,可以去将 DHCP 服务器从主路由迁移到旁路由,让旁路由负责 DHCP 服务。

这里我使用在家里搭建的 All in one 服务器中的 hyperv 运行的 OpenWRT 系统,使用软路由也是一样操作的。

2. 配置

2.1. 作为 dnsmasq 的上游服务器


注意,这边记得都改完保存下。

这里我们将 adguard home 的重定向开启,选择为 “作为 dnsmasq 的上游服务器”。 (如果没有的话,在更多选项那里添加。)

截屏1

2.2. adguard home dns 基本设置


然后我们进入 adguard home 的 web 面板。

截屏2

选择设置 - dns 设置。在这里我们写入上游 dns,模式选择负载均衡。可以参考我的:

114.114.114.114
223.5.5.5
119.29.29.29

bootstrap dns 也一样。

然后是 DNS 服务配置:
速度限制 改为 0.

找到下面的 “DNS 缓存配置”:

  1. 开启乐观缓存。
  2. 缓存大小设置为 16777216。

2.3 拦截规则


选择上面一栏的 “过滤器”,点击 “DNS 黑名单”。我们来添加过滤器订阅。

截屏3

点击添加白名单 - 添加一个自定义列表。
这里我推荐以下过滤器订阅选择:

CHN: anti-AD
https://anti-ad.net/easylist.txt

easylist-cn
https://easylist-downloads.adblockplus.org/easylistchina.txt

adblock
https://raw.githubusercontent.com/217heidai/adblockfilters/main/rules/adblockfilters.txt

halflife
https://cdn.jsdelivr.net/gh/sbwml/halflife-list@master/ad3.txt

antiad-adguard
https://anti-ad.net/adguard.txt

2.4 dnsmaqs 设置


选择 Openwrt 侧边栏,网络 - DHCP/DNS
截屏4

可以看到 DNS 转发那边已经自动添加了(之前选择的 “作为 dnsmaqs 上游服务器”)。

来到高级设置。
将 “DNS 查询缓存的大小” 设置为 0,不缓存。我们交给 adguard home 来缓存。

再来到 “Hosts 和 解析文件”,我们勾选 “忽略解析文件”。

然后保存并应用即可

3. 其它说明

接下来就完成了,可以给设备设置 dns 服务器为我们 openwrt 的 内网ip,还可以直接在主路由将 dns 服务器设置为 openwrt 的内网ip。

具体使用哪种方式,根据自己的需求来选择,看是需要所有设备都使用,还是部分设备使用。

然后去 adguard home dns web(3000 端口) 那边看看,应该已经都能看到拦截信息了。

如果有代理服务的情况,可以将 dns 设置为内网 ip 的 53 端口,让 adguard 在中间提供 dns 服务。 但是大部分情况下,可能并不行,因为代理服务器的 dns 查询可能是加密的。

3. 个人使用 dns 黑名单列表

CHN: anti-AD
https://anti-ad.net/easylist.txt

easylist-cn
https://easylist-downloads.adblockplus.org/easylistchina.txt

adblock
https://raw.githubusercontent.com/217heidai/adblockfilters/main/rules/adblockfilters.txt

halflife
https://cdn.jsdelivr.net/gh/sbwml/halflife-list@master/ad3.txt

antiad-adguard
https://anti-ad.net/adguard.txt

EasyPrivacy
https://easylist-downloads.adblockplus.org/easyprivacy.txt

movie
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/mv.txt

chengfeng-rule
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/rule.txt

easylist-annoyance
https://easylist-downloads.adblockplus.org/fanboy-annoyance.txt

CHN: AdRules DNS List
https://adguardteam.github.io/HostlistsRegistry/assets/filter_29.txt

HaGeZi's Encrypted DNS/VPN/TOR/Proxy Bypass
https://adguardteam.github.io/HostlistsRegistry/assets/filter_52.txt

NoCoin Filter List
https://adguardteam.github.io/HostlistsRegistry/assets/filter_8.txt

uBlock₀ filters – Badware risks
https://adguardteam.github.io/HostlistsRegistry/assets/filter_50.txt

HaGeZi's Ultimate Blocklist
https://adguardteam.github.io/HostlistsRegistry/assets/filter_49.txt

1Hosts (Lite)
https://adguardteam.github.io/HostlistsRegistry/assets/filter_24.txt

WindowsSpyBlocker - Hosts spy rules
https://adguardteam.github.io/HostlistsRegistry/assets/filter_23.txt

HaGeZi's Anti-Piracy Blocklist
https://adguardteam.github.io/HostlistsRegistry/assets/filter_46.txt

HaGeZi's DynDNS Blocklist
https://adguardteam.github.io/HostlistsRegistry/assets/filter_54.txt

HaGeZi's Threat Intelligence Feeds
https://adguardteam.github.io/HostlistsRegistry/assets/filter_44.txt

HaGeZi Multi NORMAL
https://adguardteam.github.io/HostlistsRegistry/assets/filter_34.txt

HaGeZi's Gambling Blocklist
https://adguardteam.github.io/HostlistsRegistry/assets/filter_47.txt

Phishing URL Blocklist (PhishTank and OpenPhish)
https://adguardteam.github.io/HostlistsRegistry/assets/filter_30.txt

Malicious URL Blocklist
https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-agh.txt

Comment