OpenWRT配置AdGuardHome实现防止DNS污染全局广告拦截
AdGuard Home 是广告拦截与反跟踪软件,可以将广告与追踪相关的域名屏蔽,同时不再需要安装任何客户端。
AdGuard Home 的工作原理是在 DNS 的域名解析过程中拦截网页上的广告。AdGuard Home 支持 DNS over TLS 和 DNS over HTTPS。本文讲解在OpenWRT配置AdGuardHome,实现DNS防污染加快网站解析速度和广告拦截。
一、AdGuardHome安装
建议安装本站提供的固件,或自行查找AdGuardHome.ipk和luci-app-adguardhome.ipk
OpenWRT镜像下载
二、启用AdGuardHome
1、点击“服务”--“AdGuard Home”,更新核心版本,等待核心更新完成并启用AdguardHome。
2、点击日志,如果有运行记录,则表示AdGuardHome已正常运行。
三、设置AdGuardHome密码
1、点击“改变网页登录密码”并添加。
2、输入密码后点击“载入计算模块”,然后点击计算。
3、将生成的密码复制并粘贴至“手动配置”中的password字段后,并保存应用。
四、登录AdGuardHome
1、点击按钮进入AdGuardHome,或在地址栏中输入 OpenWRTIP地址:AdGuardHome管理端口,例如:10.0.0.2:3000
2、默认用户名为root,输入密码登录。
五、AdGuardHome DNS设置
1、点击“设置”--“DNS设置”,将下方DNS列表粘贴至后台,并开启“并行请求”。
上游DNS服务器列表
Bootstrap DNS 服务器列表
Bootstrap DNS用于解析上游DNS,所以尽可能将Bootstrap DNS的第一条设置为当地运营商的DNS地址。
六、设置DNS过滤器
1、点击“过滤器”--“DNS封锁清单”,添加下方合适的规则并将对应规则打钩。
七、让AdGuardHome生效
1、将AdGuard Home设置中的5553重定向设置为“作为dnsmasq”的上游服务器即可。
八、拦截效果
1、拦截效果由规则决定,建议使用合适的规则,不要滥用规则。
九、Ad双软路由之多缓存处理
网络环境中,多个DNS缓存可能造成网络访问异常,所以需要进行下述处理。
方案一:使用AdGuard Home缓存,因为AdGuard Home已经自带DNS缓存,所以可以将ROS缓存关闭。
修改方法:
1、ROS点击“IP”--“DHCP Server”--“Networks”,双击修改“DNS Server”为AdGuard Home的IP地址。
2、点击“IP”--“DNS”,将“Servers”清空,保存并应用。
方案二:使用ROS缓存,因为AdGuard Home已经自带DNS缓存,所以可以将AdGuard Home缓存关闭并使用ROS缓存。
1、登入AdGuard Home,点击“设置”--“DNS设置”,将DNS缓存大小设置为0.