在PVE下用 AdGuard Home搭建一个带广告过滤的私有DNS服务器及优化部署

       很多人可能会问: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 。

点赞
  1. Notice说道:
    Google Chrome Windows 10

    添加几个过滤器
    1,anti-AD :https://gitee.com/privacy-protection-tools/anti-ad/raw/master/easylist.txt
    2,乘风 广告过滤规则:https://gitee.com/xinggsf/Adblock-Rule/raw/master/rule.txt
    3,HalfLife的合并规则:https://gitee.com/halflife/list/raw/master/ad.txt

    1. admin说道:
      Google Chrome Windows 10

      这个根据自己的实际情况选择哦,我的建议是一开始全部都加入,如果发现不正常或者太卡,可以适当精简。反正我的没有发现不正常。

  2. dae说道:
    Safari Mac OS X 10.15.4

    AdGuardHome_PVE-LXC.tar.gz网盘中已经找不到了,麻烦大神补档,谢谢。。。

    1. admin说道:
      Google Chrome Windows 10

      好的,我今天更新一下

      1. dae说道:
        Safari Mac OS X 10.15.4

        看到了,十分感谢!!!

发表评论