前言
AdGuard Home是著名的开源广告拦截器。该项目通过已安装该服务的设备的53端口(DNS解析端口)让用户连接,识别设备访问的域名并且对属于黑名单规则类的域名进行返回空记录或者其他指定的DNS记录,从而达到拦截广告的效果!
这样可以节省了在每个设备上安装广告屏蔽的软件及流量器插件和导入屏蔽规则的做法,所有设备只要使用了 AdGuard Home 的DNS服务就可以自动进行对广告域名的拦截,于此同时,AdGuardHome还支持加密DNS,我们可以在本地安装dnscrypt客户端来连接AdGuardHome的dns over https服务,以便于达到更安全的解析效果防止个别情况下对DNS的污染情况。
项目地址
GitHub:https://github.com/AdguardTeam/AdGuardHome
AdGuardHome(Linux)搭建及安装方法
首先我们要有一台安装了Linux系统的机器,当然你也可以局域网搭建,这样的话局域网设备可以直接用标准的53端口来连接AdGuardHome的DNS解析服务。
官方安装脚本:
curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh
或者也可以通过wget下载程序主文件并解压,我当前使用的Linux发行版是CentOS Stream 9
wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
tar xvf AdGuardHome_linux_amd64.tar.gz
解压完成后,使用cd命令进入解压后的目录
cd AdGuardHome
接着使用AdGuard Home的主程序来让它自动创建服务文件,然后就会自动设置好开机启动和崩溃自动重启。
需要注意的是,如果你不是root用户,那就需要加上sudo来进行安装该服务,如下面命令
sudo ./AdGuardHome -s install
安装完成后,我们就可以用AdGuard Home其自带的命令来管理服务,例如:
AdGuardHome -s uninstall - uninstalls the AdGuard Home service.
AdGuardHome -s start - starts the service.
AdGuardHome -s stop - stops the service.
AdGuardHome -s restart - restarts the service.
AdGuardHome -s status - shows the current service status.
或者使用系统的 systemd 来进行管理操作,效果都是一致的
systemctl start AdGuardHome.service # 启动服务
systemctl restart AdGuardHome.service # 重启服务
systemctl stop AdGuardHome.service # 停止服务
等待部署完成之后,我们就可以进入AdGuardHome的网页面板来管理和配置了。
第一次系统默认会监听3000端口,我们进入网页,例如: IP:3000 来进行初始化配置。
在刚进入的页面可以设置管理界面的网页端口及DNS解析端口,如下图:
然后下一步,设置管理面板用户名密码
然后继续点击下一步,按照提示打开仪表盘。
需要注意的是,如果没有修改上面的网页管理界面的端口,端口默认是80端口,当访问的时候就不能使用刚刚默认的3000端口了,需要将刚刚的3000端口删除掉,使用 http://192.168.55.241/ 进入即可(192.168.55.241修改为你设备的IP)
接着输入刚刚配置的用户名密码,点击登录进入管理面板,至此AdGuardHome安装完成,我们可以参考设置参考中的设置,把自己电脑DNS服务器配置成自己的服务器IP或者局域网设备的IP。
接着输入刚刚配置的用户名密码,点击登录进入管理面板,至此AdGuardHome安装完成,我们可以参考设置参考中的设置,把自己电脑DNS服务器配置成自己的服务器IP或者局域网设备的IP。
开启dns over https和dns over tls服务
点击仪表盘上方的设置-加密设置进入设置页面,我们需要在此处配置dns over https服务器的信息。
这两个服务都是基于tls的,所以我们需要有SSL证书,一般建议使用let's encrypt的免费证书,当然我们也可以自己生成。
服务器名称输入你的域名,dns over https是直接走http协议的,所以需要有一个解析到服务器的域名。
剩下部分按照提示输入即可,如果不需要哪个服务就把哪个服务的端口置空即可。
然后我们就得到了一个可以使用的doh地址,接着我们就可以使用dnscrypt客户端来连接。
发表评论