实现需求:通过搭建内网DNS服务,使内网中所有连接WIFI的上网设备都进行DNS广告过滤,达到通过该WIFI无广告访问互联网站点或app。
硬件机型:Station M2
本次测试刷写Openwrt软路由,并安装AdguardHome插件实现设备去广告功能。

工具准备:

1.Openwrt固件(OpenWRT_GPT_RAW_20211123_1827)、
2.BalenaEtcher启动盘制作工具v1.5.121、
3.AdguardHome_luci界面安装包、
4.AdguardHome核心文件包、5.WinScp工具(可选)

软路由固件及启动盘制作工具-官方下载链接:https://www.t-firefly.com/doc/download/106.html
AguardHome_luci-Github官方开源链接:https://github.com/rufengsuixing/luci-app-adguardhome/releases
AdguardHome相关文件下载:
https://www.lanzouv.com/b0cxr5y1i 密码:4diq

测试流程:

1.如下图,通过官方提供的百度云盘下载链接,下载Openwrt固件及启动盘制作工具,AdguardHome_luci界面安装包受网络环境因素Github上如果无法下载,可通过我提供的地址下载。
1.jpg
2.jpg

2.由于测试需要,需使用双系统,所以先去Station OS系统将版本升级至V1.0.6,然后进入系统助手,
在线烧写系统引导(参见https://wiki.stationpc.cn/docs/stationpc/openwrt)。

3.将Openwrt安装在TF卡中(官方建议内存卡大于8G,速度C10或以上


步骤:将带有TF卡的读卡器插入电脑烧录Openwrt系统至TF卡中→TF卡插入M2上电运行→连接默认名为OpenWrt的WiFi AP热点→打开浏览器输入192.168.2.1进入路由器后台界面(用户名root,密码firefly),详细安装步骤可参照官方https://wiki.stationpc.cn/docs/stationpc/openwrt,篇幅有限这里不再赘述。

PS:上电运行后会让你选择要启动的系统,注意选择TF boot。(此处有个BUG,如果没有预先插入HDMI高清线与显示器连接的话,此时上电系统静默启动完成后,再插入HDMI线电视屏幕或显示器会一直处于黑屏状态,并且按待机电源键也无法唤醒,必须断电重启

4.Openwrt登录成功如下图,此时注意M2先不要插网线,看下接口lan的网关ip不要和wan口ip出现在一个段里,否则会地址冲突。
(如上联路由器或光猫的网关正好也是192.168.2.1,那么分配给M2的IP地址(WAN)就是192.168.2.x,这样就与M2的lan口地址冲突了)
image.png
image.png

5.安装AdguardHome_luci,系统→软件包→上传软件包,选择事先下好的luci-app-adguardhome_1.8-20200824_all.ipk文件。
image.png

6.上传安装之后会在Openwrt系统正上方菜单栏出现服务项-AdguardHome。点进去之后核心文件是没有的,AdguardHome也是未运行未重定向状态。
image.png

7.系统-启动项,禁用dnsmasq自动启动,并停止当前服务。
image.png

8.更新核心文件,更新有两种方式。


一种是在luci界面里直接更新(19mb的核心文件我这边等待大约30分钟才下载完),所以推荐第二种使用winscp工具导入我提取出来的核心文件(核心文件在github上也有https://github.com/AdguardTeam/AdGuardHome/releases/download/,但是arm64架构的下载下来后,导入进去不知道为什么会提示核心错误error)。如果你的网络条件允许或者时间比较充裕可以用第一种方式,开始更新后不要动让走进度可以了。

这里说下第二种方式:

①打开Winscp工具,文件协议选择SCP,主机名填M2主机的地址,端口22,用户名和密码和Openwrt登录后台的一样。
image.png

②然后进入/usr/bin/目录下,将本地的核心文件压缩包解压后,文件夹命名为AdGuardHome,里面只放名为AdGuardHome的19.8Mb核心文件。
image.png

③修改/usr/bin/里面的文件夹AdGuardHome和核心文件AdGuardHome的权限为0755。
image.png

9.然后返回Openwrt后台,进入AdguardHome_luci界面中,会显示核心版本为0.106.3(状态为未运行未重定向).否则就是权限设置不对,或核心文件受损(由于M2分享的Openwrt的AP热点不稳定,核心文件传输就会受损,这个坑帮大家踩了,之前就卡在这了令人百思不得其解问题所在)

10.AdguardHome_luci界面中选择,重定向53端口到AdGuardHome。
image.png

11.勾选启用,然后按图中第三步点击访问端口为3000的AdguardHome后台,保存并应用。
image.png

12.这是配置完的,如果第一次配置的话,会让你设置密码、AdguardHome管理后台端口(只要页面没有提示端口被占用,使用默认端口即可)、DNS服务器(前面我们禁用了dnsmasq服务,所以此处53端口一般不会出现占用报错)
image.png

13.设置-DNS设置-上游DNS服务器删除系统默认的参数,填几个常用的DNS服务器。Bootstrap DNS 服务器栏清空。DNS服务设定-速度限制这里改为0。
image.png image.png

14.过滤器-DNS封锁清单,新增规则文件(可参照我的,也可以网上找)。
image.png

15.现在回到Adguard Home_luci界面,显示核心版本,状态为运行中已重定向说明正常的。
image.png

16.由于要在局域网中使用该DNS,必须DNSip要和各类设备的所用ip在一个段里。我们去防火墙把wan策略放开,否则无法配置使用AdguardHome的去广告dns服务,可按我图中打开wan口数据转发权限。
image.png
image.png

17.用另外一台设备测试该DNS服务是否可用,可以的话,在Openwrt系统中关闭对应热点。