零、前言
Adguard是一款十分出色的反广告软件,在PC端 Android端都有App可以使用。但其软件使用模式为付费制,且只能单台设备使用。
Adguardhome是一款可以运行在linux上的”社区版“Adguard。Adguard的功能在Adguardhome基本都可以使用,且提供了DNS服务器的功能。在本文中,我们将在OpenWRT路由器上部署Adguardhome插件,从而得以避开广告的侵扰,安心冲浪。
一、插件及环境的准备
由于某些未知原因,ImmortalWRT和定制的opkg源大多数只含有Adguardhome插件的本体,对于Linux小白部署颇为不利,因此在本文中我们将采用Adguardhome的luci界面-luci-app-adguardhome来进行部署。
我们将需要以下环境:
Adguardhome的luci界面(文章开头已经给出)
一台运行OpenWRT且开放了SSH(可用Dropbear开启)的路由器,RAM最好大于256M
一个良好的外网访问环境
二、安装插件
SSH连接到OpenWRT,在终端键入以下命令:
wget https://github.com/rufengsuixing/luci-app-adguardhome/releases/download/1.8-9/luci-app-adguardhome_1.8-11_all.ipk
随后耐心等待。如果在此期间发生错误,可以按”上方向键“调出历史命令重试。
在wget完成以后,使用opkg包管理器安装插件:
opkg install luci-app-adguardhome_1.8-11_all.ipk
当终端返回以下内容时,表明安装已经完成:
此时,在如下地址即可访问到Adguardgome的luci页面
http://[YOUR-ROUTER-IP]/cgi-bin/luci/admin/services/AdGuardHome
三、插件的配置
访问luci页面,点击更新内核
这里如果github实在连接不上,可以手动下载之后上传到/usr/bin/AdGuardHome/路径下,需要配置一下下面的执行文件、配置文件的位置。
都搞定之后勾选启用,保存并应用然后访问:
http://[YOUR-ROUTER-IP]:3000
配置如上 当然,你也可以根据自我喜好配置到别的端口。但请注意:你需要记下DNS服务器的地址。
设置完毕用户名密码以后,进入路由器管理页面的网络-DHCP/DNS,在DNS转发下填入你刚才设置的DNS服务器地址,例如127.0.0.1#5555
这样,Dnsmasq就会将接收到的所有DNS查询请求转发给Adguardhome。
接下来,我们需要进一步配置Adguardhome。
打开Adguardhome的web页面,定位到设置-DNS设置
我们需要填入一个至数个上游DNS服务器。Adguardhome在收到DNS查询请求时,会将DNS查询请求上传至上游DNS服务器,因此,上游DNS服务器极其重要。在此,作者推荐以下几个上游DNS服务器:
注意:Adguardhome支持的DNS服务器类型很多样,我这里选择的是doh(dns-over-https),你也可以根据情况选择其他类型(如dot、doq)等。
https://doh.pub/dns-query
https://dns.alidns.com/dns-query
https://doh.360.cn
https://doh-pure.onedns.net/dns-query
https://doh.apad.pro/dns-query
下拉到Bootstrap服务器,填入以下内容:
114.114.114.114
8.8.8.8
2400:3200::1
2402:4e00::
完成以后保存即可
四、效果验证
在Adguardhome的web面板刷新几下,可以看到DNS查询数量上升即代表设置成功。