AdGuardHome在OpenWrt系统上的应用

我们在前面讲解过Adblock在OpenWrt系统上的应用,其实在国外还有一款非常有名的去广告应用叫AdGuardHome,其去广告的效果还是非常不错的,另外设置界面支持中文,对于国内用户来说操作相对简单一些。但它在OpenWrt系统上的安装过程与其它应用相比略有不同,其它应用大都采用opkg安装包进行安装,而AdGuardHome则采用Linux shell脚本命令方式安装,所以接下来我们就来讲解一下AdGuardHome在OpenWrt系统上的应用,包括安装、设置及使用的全过程,大家在碰到其它类似应用也就可以用同样的方式来处理了。

OpenWrt官网论坛区有类似的文章可以参考,如果你英语没问题,可以先看一下相关的内容:https://forum.openwrt.org/t/howto-running-adguard-home-on-openwrt/51678

下面我们就以在已刷OpenWrt19.07.3系统的软路由 J1900 上安装最新版的 AdGuardHome 为例,展开具体说明。

1、安装

AdGuardHome项目源码:https://github.com/AdguardTeam/AdGuardHome,根据路由器所采用的CPU来选择合适的程序下载,Beta及Edge版本的下载选择界面如下:

AdGuardHome在OpenWrt系统上的应用-1

如果想运行稳定版本,则选择Release版本,像 J1900 软路由采用x86_64架构,就到最新发布版网址:https://github.com/AdguardTeam/AdGuardHome/releases/tag/v0.105.1,选 Linux 64-bit 平台下载相应的安装文件:

opkg update && opkg install wget
mkdir /opt && cd /opt
wget -c https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.105.1/AdGuardHome_linux_amd64.tar.gz
tar xfvz AdGuardHome_linux_amd64.tar.gz
rm AdGuardHome_linux_amd64.tar.gz
2、安装
/opt/AdGuardHome/AdGuardHome -s install
3、配置

浏览器地址栏输入:http://192.168.17.1:3000(如果你的Lan地址不是192.168.17.X,则网址做相应变化)

AdGuardHome在OpenWrt系统上的应用-2

设置AdGuardHome的Web管理监控端口(这里用8080)及DNS端口号(这里用5353)

AdGuardHome在OpenWrt系统上的应用-3

后面设置登录的账号及密码,其它全部按缺省即可。

在进入AdGuardHome管理页面之前,我们还需要将DNS解析从原先的53端口全部转移到AdGuardHome的5353,将DNS解析任务交给AdGuardHome去处理。

在 /etc/config/dhcp 添加

config dnsmasq
    option domainneeded '1'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'
    option localservice '1'
    list server '192.168.17.1#5353'

在 /etc/firewall.user 添加

# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.

# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.

iptables -t nat -A PREROUTING -i br-lan -p udp --dport 53 -j DNAT --to 192.168.17.1:5353
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 53 -j DNAT --to 192.168.17.1:5353
4、监控及管理

路由器重启后,在浏览器地址栏输入 http://192.168.17.1:8080 ,输入账号及密码就可以进入AdGuardHome的监控管理界面了:

AdGuardHome在OpenWrt系统上的应用-4

点 “过滤器” 进入添加或删除阻止列表界面

AdGuardHome在OpenWrt系统上的应用-5

其它都用缺省设置即可,当然如果你希望更深入研究,可以去试着设置更多的内容,反正都是中文的,可以多试验,慢慢就掌握各项配置了。