很多人可能会问:AdGuard Home是干嘛用的?假如我们把整个互联网比喻成一个城市的供水,每个地区自来水厂提供的水质和你所在管网末端位置的不同,有些家庭会明智的选择使用前置净水器,可以解决管道中的二次污染、软化水质、阻止水垢、防止锈蚀、保护净水器,当然还有太阳能和燃气热水器等等,但最终享受干净水的是人。精致的家庭还会使用厨下式厨余垃圾处理器,而很多的家庭也许都不知道什么是前置净水器、什么是厨余处理器。互联网和供水一样,有大带宽和小带宽,有管网污染的问题,有被政府监控和被黑客偷窥的问题,还有烦人的广告问题,无论是视频前和视频中的广告,所以在入户光猫之后的主路由器上安装并使用私有DNS服务器(AdGuard Home),就可以有助于“清洗流量”。
根据AdGuard Home 官网介绍,AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
简单的点讲就比如Google的8.8.8.8,阿里云的223.5.5.5,114的114.114.114.114,还有Cloudflare的1.1.1.1,这些都是提供DNS服务的公共DNS服务器。而AdGuard Home在给我们提供DNS服务的同时还提供去广告的功能,这就有点意思了吧~~
博主是用PVE作为宿主机的环境,所以就在PVE系统里面安装了这个AdGuard Home,来看看怎么安装和使用吧。
一、安装教程
1、下载AdGuardHome_PVE-LXC.tar.gz镜像文件:打开下载地址https://dl.gxnas.com,进入“Proxmox-VE(PVE虚拟平台)”文件夹,找到“AdGuardHome_PVE-LXC.tar.gz”,右键复制下载链接到迅雷下载;
2、通过SSH工具(本教程采用WinSCP),把下载的“AdGuardHome_PVE-LXC.tar.gz”,上传到PVE系统下的“/var/lib/vz/template/cache”里面;
3、通过网页访问PVE后台,点击右上角“创建CT”;
4、创建:LXC容器,“一般”标签栏的输入以下信息:
主机名称:自己随便写
密码:自己设置
确认密码:同上
然后点下一步
5、点“模板”标签栏的“模版”下拉菜单,选择“AdGuardHome_PVE-LXC.tar.gz”,下一步;
6、“根磁盘“标签设置磁盘大小2G,下一步;
7、”CPU“标签设置1核,下一步;
8、”内存“标签设置内存1024M ,交换分区用默认的512,下一步;
9、”网络“标签的IPv4可以根据自己的内网设置静态IP(本教程内网是192.168.1.X的号段,所以设置192.168.1.2/24),IPv6设置DHCP,下一步;
10、“DNS”标签这里不需要设置,直接下一步;
11、“确认”标签,最后确认一下信息,如果正确无误就勾选左下角的“创建后启动”再点“完成”。
二、相关的设置
1、回到PVE系统的“数据中心”,找到刚刚建立的AdGuard容器,点它进入控制台,输入登录的用户名root,回车,再输入之前设置的密码,输入ip addr回车,检查一下显示的IP地址是否与刚才安装时设置的IP地址一致;
2、输入ping baidu.com,回车,检查容器能否连通外网;有外网IP地址返回的表示外网连接正常,按一下Ctrl+C结束测试。
3、在局域网电脑的浏览器地址栏输入刚才安装AdGuardHome设置的IP:3000(比如我的是192.168.1.2:3000);
4、开始配置;
5、网页管理界面,我们用默认的端口,不需要更改,下一步;
6、身份认证,需要自己设置用户名和密码,下一步;
7、下一步;
8、打开仪表盘;
9、主界面是这样的;
10、点最上面的菜单栏“设置”-“常规设置”,这四个选项根据自己要求设置(博主勾了1、2、4),然后拉到下面,点保存;
11、点最上面的菜单栏“设置”-“DNS设置”,上游DNS这栏输入(由于每个人使用的宽带不同,所以上游DNS使用哪个,请根据自己的情况填写,后面会讲):
tls://dns.google
tls://1.1.1.1
tls://1.0.0.1
然后拉到下面点应用,会看到系统提示“上游DNS已更新”;
12、点最上面的菜单栏“过滤器”,“添加过滤器”,名称随意设置,地址输入https://hosts.nfz.moe/127.0.0.1/full/hosts,点“添加过滤器”;
13、看到系统提示“网址添加成功”后,点打叉关掉提示;
14、点“检查更新”;
15、系统更新完成会提示“所有过滤器已更新到最新”;
三、更改网关/路由的DNS
由于每个人使用的网关/路由都各有不同,因此这里不做具体描述。请自行把内网的DNS主服务器IP地址设置成我们刚刚安装的AdGuardHome的内网IP地址,DNS副服务器设置为了其他公共的DNS服务器IP(拒绝使用运营商的DNS)。博主的网关是自己编译的软路由openwrt X64的版本,具体的设置如下,大家借鉴一下吧。
四、最后来看看效果如何
五、官方网站及项目地址
1、AdGuard官网:https://adguard.com/
2、AdGuardHome项目地址:https://github.com/AdguardTeam/AdGuardHome
AdGuard Home 优化部署
一、上游DNS设置
1、不使用ISP默认DNS的好处是可以避免ISP通过DNS分析和掌握你的上网行为。我们把上游DNS更换成DNS over TLS的:
tls://dns.adguard.com
tls://dns.quad9.net
tls://dns.google
tls://1.1.1.1
tls://1.0.0.1
2、当然,你也可以使用其他的公共DNS,不过国内公共的DNS暂不支持DNS over TLS(博主用的是223.5.5.5),比如:
223.5.5.5
223.6.6.6
114.114.114.114
114.114.115.115
119.29.29.29
119.28.28.28
3、如果你想启用ipv6的DNS,可以添加以下几个(但是启用ipv6后,不能过滤视频中的广告):
2409:8028:2000::1111
2409:8028:2000::2222
2620:0:ccc::2
2620:0:ccd::2
二、过滤器
虽然AdGuardHome内置了几条广告过滤规则,但在这些规则在中国感觉有点水土不服。如果要想完美的实现广告过滤,还需要自己添加规则。AdGuard Home 兼容 Adblock 过滤规则语法,你可以使用一些比较知名的 Adblock 过滤规则。目前好用的过滤规则还是有很多的,请酌情选择(1-4为系统自带的):
1、AdGuard Simplified Domain Names filter(系统自带)
https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
2、AdAway(系统自带)
https://adaway.org/hosts.txt
3、hpHosts – Ad and Tracking servers only(系统自带)
https://hosts-file.net/ad_servers.txt
4、MalwareDomainList.com Hosts List(系统自带)
https://www.malwaredomainlist.com/hostslist/hosts.txt
5、hosts.nfz.moe
https://hosts.nfz.moe/127.0.0.1/full/hosts
6、EasyList China
https://easylist-downloads.adblockplus.org/easylistchina.txt
7、EasyPrivacy
https://easylist-downloads.adblockplus.org/easyprivacy.txt
8、CJX’s Annoyance List
https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt
9、CJX’s EasyList Lite
https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt
10、Adblock-Plus-Rule
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt
11、ChinaList
http://tools.yiclear.com/ChinaList2.0.txt
如果你觉得过滤得还不够,也可以在“自定义过滤器规则”按照以下过滤规则自己编写:
||example.org^ – 拦截 example.org 域名及其所有子域名
@@||example.org^ – 放行 example.org 及其所有子域名
127.0.0.1 example.org – 将会把 example.org(但不包括它的子域名)解析到 127.0.0.1
! 注释符号,表示这是一行注释
# 这也是注释符号,同样表示这是一行注释
/REGEX/ – 正则表达式模式
具体请参考《官方说明》
三、配置文件调整
AdGuard Home 所有的参数配置都保存在一个名为 AdGuardHome.yaml 的配置文件中。这个配置文件默认路径通常为 AdGuard Home 二进制文件 AdGuardHome 所在的目录,比如:/root/AdGuardHome/AdGuardHome.yaml。这里我们只需调整以下两个参数,就是可以明显提升 AdGuard Home 的 QPS 能力。
ratelimit : DDoS 保护,客户端每秒接收的数据包数。默认值是 20,建议禁用该参数(将值改为 0)。
blockedresponsettl : TTL 缓存时间,默认值是 10,建议设置为 60 。