Linuxword Global
当前位置: Linux技术 > 在VmShell香港VPS上安装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服务的同时还提供去广告的功能,这就有点意思了吧~~

0

 

       博主是用PVE作为宿主机的环境,所以就在PVE系统里面安装了这个AdGuard Home,来看看怎么安装和使用吧。

一、安装教程

1、下载AdGuardHome_PVE-LXC.tar.gz镜像文件:打开下载地址https://dl.gxnas.com:1443,进入“Proxmox-VE(PVE虚拟平台)”文件夹,找到“AdGuardHome_PVE-LXC.tar.gz”,右键复制下载链接到迅雷下载;

1-1

2、通过SSH工具(本教程采用WinSCP),把下载的“AdGuardHome_PVE-LXC.tar.gz”,上传到PVE系统下的“/var/lib/vz/template/cache”里面;

2-1

 

3、通过网页访问PVE后台,点击右上角“创建CT”;

3-1

 

4、创建:LXC容器,“一般”标签栏的输入以下信息:
主机名称:自己随便写
密码:自己设置
确认密码:同上
然后点下一步

4-1

 

5、点“模板”标签栏的“模版”下拉菜单,选择“AdGuardHome_PVE-LXC.tar.gz”,下一步;

5-1

 

6、“根磁盘“标签设置磁盘大小2G,下一步;

6-1

 

7、”CPU“标签设置1核,下一步;

7-1

 

8、”内存“标签设置内存1024M ,交换分区用默认的512,下一步;

8-1

 

9、”网络“标签的IPv4可以根据自己的内网设置静态IP(本教程内网是192.168.1.X的号段,所以设置192.168.1.2/24),IPv6设置DHCP,下一步;

9-1

 

10、“DNS”标签这里不需要设置,直接下一步;

10-1

 

11、“确认”标签,最后确认一下信息,如果正确无误就勾选左下角的“创建后启动”再点“完成”。

11-1

 

二、初步的设置
1、回到PVE系统的“数据中心”,找到刚刚建立的AdGuard容器,点它进入控制台,输入登录的用户名root,回车,再输入之前设置的密码,输入ip addr回车,检查一下显示的IP地址是否与刚才安装时设置的IP地址一致;

12

 

2、输入ping baidu.com,回车,检查容器能否连通外网;有外网IP地址返回的表示外网连接正常,按一下Ctrl+C结束测试。

13

 

14

3、在局域网电脑的浏览器地址栏输入刚才安装AdGuardHome设置的IP:3000(比如我的是192.168.1.2:3000);

 

4、开始配置;

15

 

5、网页管理界面,我们用默认的端口,不需要更改,下一步;

16

 

6、身份认证,需要自己设置用户名和密码,下一步;

17

 

7、下一步;

18

 

8、打开仪表盘;

19

 

9、主界面是这样的;

20

 

10、点最上面的菜单栏“设置”-“常规设置”,这四个选项根据自己要求设置(博主勾了1、2、4),然后拉到下面,点保存;

21

 

11、点最上面的菜单栏“设置”-“DNS设置”,上游DNS这栏输入(由于每个人使用的宽带不同,所以上游DNS使用哪个,请根据自己的情况填写,后面会讲):

tls://dns.google
tls://1.1.1.1
tls://1.0.0.1

然后拉到下面点应用,会看到系统提示“上游DNS已更新”;

22

 

12、点最上面的菜单栏“过滤器”,“添加过滤器”,名称随意设置,地址输入https://hosts.nfz.moe/127.0.0.1/full/hosts,点“添加过滤器”;

23

 

13、看到系统提示“网址添加成功”后,点打叉关掉提示;

24

 

14、点“检查更新”;

25

 

15、系统更新完成会提示“所有过滤器已更新到最新”;

26

 

三、更改网关/路由的DNS
由于每个人使用的网关/路由都各有不同,因此这里不做具体描述。请自行把内网的DNS主服务器IP地址设置成我们刚刚安装的AdGuardHome的内网IP地址,DNS副服务器设置为了其他公共的DNS服务器IP(拒绝使用运营商的DNS)。博主的网关是自己编译的软路由openwrt X64的版本,具体的设置如下,大家借鉴一下吧。

27

 

四、最后来看看效果如何
28

 

五、官方网站及项目地址
1、AdGuard官网:https://adguard.com/
2、AdGuardHome项目地址:https://github.com/AdguardTeam/AdGuardHome

 


具体的设置

1、设置菜单

文字介绍已经很好理解了,按需设置即可。重点是以下几个,如果你尚处于单身状态,那么就不要开启,否则会影响生理卫生知识的学习。

  • 使用 AdGuard【家长控制】服务:如果家中有尚未成年的孩子,建议开启,屏蔽成人内容。
  • 强制安全搜索:在 Bing、Google、Yandex、YouTube 等网站上强制使用安全搜索,屏蔽 NSFW 内容。
1-2-1

 

2、DNS 设置

2-2

 

3、上游 DNS 服务器

AdGuard 文档中给出了一些知名的 DNS 服务器供选择。这里的上游 DNS 建议选择 DoT/​DoH 加密技术的服务器,可以防止 DNS 解析记录被劫持、篡改以及跟踪。缺点是可能对解析速度会有些许影响,毕竟 TCP 协议不如 UDP 来得有效率,且加解密需要一点时间,不过在机器性能不错且网络通畅的情况下其实是可以忽略的,都是毫秒级别的差距。根据所在网络环境的不同推荐两组选择:

  • 中国大陆网络环境推荐选择腾讯 (DNS­Pod) 和阿里的公共 DNS 。

    TIPS: 中国大陆不推荐使用海外的 DNS ,因为延迟很高且都受到了不同程度的干扰,可用性不高,强行设置只会得到减速效果或者报错。

    tls://dns.pub
    https://dns.pub/dns-query
    tls://dns.alidns.com
    https://dns.alidns.com/dns-query
  • 自由网络环境,比如海外的 VPS ,或者给代理软件做 DNS ,推荐使用 Google 和 Cloud­flare 的公共 DNS。

    TIPS: Google 的 DNS 似乎在中国大陆有着不错的可用性,一般会路由至 Google 香港的服务器节点。不过由于dns.google域名被污染无法解析,只能使用 IP 形式的 DoT 方案。

    tls://8.8.8.8
    tls://8.8.4.4
    tls://dns.google
    https://dns.google/dns-query
    tls://1.1.1.1
    tls://1.0.0.1
    https://dns.cloudflare.com/dns-query

以上分别使用了 DoT 和 DoH 两种技术组合,它们最大区别在于使用端口的不同。而关于这两个技术也许经常会看到类似的两种观点:

  • “443 端口经常被干扰,853 端口底层技术员不懂,国内的服务器不会去管。”
  • “443 端口正常流量国内不会管,853 端口想封是分分钟的事。”

不管他们孰是孰非,在没有可靠数据做支撑的情况下,小孩才做选择,我全都要。根据对不同网络环境的测试,有的网络都能用,有的网络只能使用其一,这需要根据自身所在网络环境实测,如果延迟很高或者运营商对其进行了封锁,那么就只能退而求其次了。

上游 DNS 服务器输入框下面有几个单选项,字面理解应该是解析策略、模式之类的选项,官方文档暂时没有相关介绍,根据字面含义和自身实际体验总结如下:

  • 负载均衡:使用加权随机算法来选择最快的服务器,用到了算法,属于玄学范畴了。
  • 并行请求:同时请求所有上游 DNS 服务器,取最快给出的响应结果,所以解析速度快,但解析出的 IP 延迟可能不是最低的。这反应到实际使用中可能是首次打开网页快,但后续的加载慢,比如图片可能很长时间才会显示。
  • 最快的 IP 地址:同时请求所有上游 DNS 服务器,在所有响应结果中选出延迟最低的 IP ,因为要等待所有上游 DNS 服务器响应结果,所以解析速度会很慢,但所解析的 IP 延迟理论上是最低的。反应到实际使用中可能是首次打开网页非常慢,甚至可能不能打开,要多刷新几次,但后续使用就非常流畅了。

博主个人倾向于选择负载均衡这个折中的方案,这个选择仁者见仁,没有所谓的最好一说。

Bootstrap DNS 服务器

Boot­strap DNS 服务器(引导 DNS 服务器)的作用只是解析上游 DoT/​DoH 技术 DNS 服务器的域名,所以这里需要填写使用 UDP 协议的传统 DNS 服务器 IP 地址。推荐使用当地运营商的 DNS ,因为延迟低解析快,然后再加几个公共 DNS 作为备胎。

3-2

设置完点击测试上游服务器,没有问题点保存即可。

 

4、DNS 服务设定

  • 速度限制:0
  • 使用 EDNS :已知前面提及的上游 DNS 服务器都是支持 EDNS 技术的,它有助于获取到更合适的 CDN 节点,建议勾选。
  • 使用 DNSSEC : 用于效验 DNS 记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。
  • 禁用 IPv6 :丢弃 IPv6 的 DNS 查询。在本地网络和网站都支持 IPv6 会优先使用 IPv6 去访问网站,但目前 IPv6 的建设还处于初级阶段,大多数地区的 IPv6 网络体验都一般。还有一些代理软件对 IPv6 支持不佳,开启后可能会影响国际互联网的访问。如果对此没有特殊需求,那么直勾选即可,这样既不影响 BT 软件连接 IPv6 网络,又可以优先使用 IPv4 来上网。如果只有 IPv4 ,那么是否勾选没有区别。
4-2

 

5、DNS 缓存配置

先简单科普一下 TTL ,它是英语 Time To Live 的简称,中文翻译为 “存活时间”。放在 DNS 解析中意为一条域名解析记录在 DNS 服务器中的存留时间,单位是秒。

正常情况下 TTL 默认 0 即可,即从上游 DNS 服务器获取 TTL 值。如果你所部署的网络环境到上游 DNS 服务器的延迟比较高,那么可以适当增加 TTL 值,让缓存更持久,短时间内请求同样域名的解析会直接从缓存中读取,实现秒解析。不过 TTL 值不宜过大,不然会导致记录不能及时更新,结果是网站无法正常打开。据博主观察目前多数域名的 TTL 值普遍在 300 以内,所以给出以下设置参考值:

  • 覆盖最小 TTL 值:600
  • 覆盖最大 TTL 值:3600
5-2

 

6、加密设置

设置管理页面使用 HTTPS 加密以及 Ad­Guard Home 自身的 DoH/​DoT 功能,如果不对外开放服务,只是在本地局域网使用是用不到的。对外开放 DNS 服务在中国大陆可能会有 “法律” 风险,而部署在国外网络速度缓慢,所以对于普通用户而言加密设置就成了摆设。

6-2

 

7、客户端设置

在这里可以单独设置每个设备单独使用的上游 DNS 及过滤规则,需要将设备 DNS 设置为 Ad­Guard Home 服务器的在 IP ,或者使用下面将要提到的 DHCP 设置。每个人的需求不一样,所以这个部分就不详细说明了。

7-2

 

8、DHCP 设置

使用 Ad­Guard Home 作为 DHCP 服务器去代替路由器上的 DHCP 服务器,这个功能的主要作用是自动分配 Ad­Guard Home 的 DNS 给到设备,然后配合客户端设置去做精细化 DNS 和过滤规则设置。除非是你的路由设备的 DHCP 功能缺斤少两,否则一般是不会不到的。目前这个功能处于实验阶段,稳定性还有待考证。有兴趣的小伙伴可以自己去深入研究,这里不做过多赘述。

8-2

 

9、过滤器菜单:DNS 封锁清单

这里是人民群众喜闻乐见的去广告环节。

9-2

吐槽:封锁清单这个词严重怀疑是机翻,而下面的绿色按钮是添加阻止列表。

使用官方默认的 AdGuard DNS filter 规则的效果对于中国大陆的网络而言属于聊胜于无,所以需要添加一些其它的规则。然而规则并不是越多越好,多了会影解析速度,真正需要的是高质量。博主个人比较推荐 anti-AD 和 halflife 这两个规则。

规则列表 | 点击查看
名称 简介 地址
AdGuard DNS Filter AdGuard 官方维护的广告规则,涵盖多种过滤规则 https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
AdAway AdAway 官方的去广告 Host 规则 https://adaway.org/hosts.txt
ADgk 适用于 AdGuard for Android 的去广告规则,去视频 APP 广告、开屏广告 https://banbendalao.coding.net/p/adgk/d/ADgk/git/raw/master/ADgk.txt
anti-AD 命中率高、兼容性强 https://anti-ad.net/easylist.txt
halflife 涵盖了 EasyList China、EasyList Lite、CJX 's Annoyance、乘风视频过滤规则,以及补充的其它规则 https://gitee.com/halflife/list/raw/master/ad.txt
EasyList Adblock Plus 官方维护的广告规则 https://easylist-downloads.adblockplus.org/easylist.txt
EasyList China 面向中文用户的 EasyList 去广告规则 https://easylist-downloads.adblockplus.org/easylistchina.txt
EasyPrivacy 反隐私跟踪、挖矿规则 https://easylist-downloads.adblockplus.org/easyprivacy.txt
Xinggsf 乘风通用 国内网站广告过滤规则 https://gitee.com/xinggsf/Adblock-Rule/raw/master/rule.txt
Xinggsf 乘风视频 视频网站广告过滤规则 https://gitee.com/xinggsf/Adblock-Rule/raw/master/mv.txt
Adblock Warning Removal List 去除禁止广告拦截提示规则 https://easylist-downloads.adblockplus.org/antiadblockfilters.txt
     
     

 

10、DNS 允许清单

在这里你可以设置排除封锁清单中的被屏蔽的域名。比如做淘宝客、广告联盟之类的人群可能会用得到,毕竟封锁清单基本涵盖了他们的业务范围。

10-2

 

11、DNS 重写

在这里你可以方便的把一个域名指向一个 IP ,简单来说这个功能相当于 hosts 。

11-2

 

12、已阻止服务

在这里你可以一键禁止访问一些热门网站和服务,比如 Face­book 、Twit­ter 。

12-1

 

13、自定义过滤规则

在这里你可以自定义符合 ad­block 语法或 Hosts 语法的规则,以及检查过滤域名是否被过滤。具体如何使用可以参考页面上的示例和官方文档。

13-1

到这里 Ad­Guard Home 的设置就算是介绍完了,一些细节上的东西就不做赘述了。有简体中文,而且 UI 逻辑很清晰,很容易上手。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2289 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5772 个
  • 注册用户: 139 人
  • 访问总量: 8,653,803 次
  • 最近更新: 2024年3月27日