本篇教程是详细介绍如何正确的设置 AdGuard Home ,来更有效地防止 DNS 污染以及去广告。与其它 AdGuard Home 教程的只讲方法、不讲逻辑的胡乱设置不同,认真看完这篇教程,你会收获大量的知识和启发。

至于路由器如何安装AdGuard Home,请看这篇

接下来就详细讲解下安装完成后如何进行设置

首先通过局域网内ip访问到我们的后台http://192.168.50.1:3000

设置-常规设置

  • 使用过滤器和 Hosts 文件以拦截指定域名,这个不用多说,既然要这个服务,这个肯定是必定开启的
  • 使用 AdGuard【家长控制】服务:如果家中有尚未成年的孩子,建议开启,屏蔽成人内容。
  • 使用安全搜索:在 Bing、Google、Yandex、YouTube 等网站上强制使用安全搜索,屏蔽 NSFW 内容。

如果你尚处于单身状态,那么就不要开启,否则会影响生理卫生知识的学习

这里的日志,就是顶部查询日志的记录范围,统计配置,就是首页的统计记录范围。这里的设置根据你的存储空间大小来设置,一般你只是偶尔查看的话,那么选最小就行了

设置-DNS设置

上游 DNS 服务器

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

  • 中国大陆网络环境推荐选择腾讯 (DNS-Pod) 和阿里的公共 DNS 。TIPS: 中国大陆不推荐使用海外的 DNS ,因为延迟很高且都受到了不同程度的干扰,可用性不高,强行设置只会得到减速效果或者报错。
  • 自由网络环境,比如海外的 VPS ,或者给代理软件做 DNS ,推荐使用 Google 和 Cloud-flare 的公共 DNS。TIPS: Google 的 DNS 似乎在中国大陆有着不错的可用性,一般会路由至 Google 深圳旁边的服务器节点。不过由于dns.google域名被污染无法解析,只能使用 IP 形式的 DoT 方案。

以上分别使用了 DoT 和 DoH 两种技术组合,它们最大区别在于使用端口的不同。

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

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

个人倾向于选择负载均衡或者并行请求这2个方案,这个选择仁者见仁,没有所谓的最好一说。

Bootstrap DNS 服务器

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

私人反向 DNS 服务器

AdGuard Home 用于本地 PTR 查询的 DNS 服务器。这些服务器将使用反向 DNS 解析具有私人 IP 地址的客户机的主机名,比如 “192.168.12.34”。如果没有设置,除非是 AdGuard Home 里设置的地址,AdGuard Home 都将自动使用您的操作系统的默认 DNS 解析器。这个不需要设置。

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

DNS服务配置

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

拦截模式

基本上选默认就好

DNS 缓存配置

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

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

  • 覆盖最小 TTL 值:600
  • 覆盖最大 TTL 值:3600

在这里不填也没事,按默认值处理。

乐观缓存

这个就相当于浏览器缓存那样缓存DNS,这样读取的未必是最新的记录,所以一般也不用开启

访问设置

如果没有对客户端特殊的访问限制,则这里就不需要设置。相当于对客户端进行特殊化配置黑白名单使用本服务

设置-加密设置

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

设置-客户端设置

在这里可以为每个设备单独设置使用上游 DNS 及过滤规则,需要将设备 DNS 设置为 AdGuard Home 服务器所在的 IP,建议顺便把MAC也设置上(单独设置MAC其实并没有多少效果) ,或者使用下面将要提到的 DHCP 设置。

这里主要是根据你自己的设备进行添加,所以这个部分就不详细说明了。

设置-DHCP 设置

使用 AdGuard Home 作为 DHCP 服务器去代替路由器上的 DHCP 服务器,这个功能的主要作用是自动分配或对设备MAC设置指定IP,然后配合客户端设置去做精细化 DNS 和过滤规则设置。如果你的路由器也开启了DHCP服务,想用这个来控制的话,那么就需要把路由器的那边关闭。

新建静态租约

如果想将统计更精准,那么将所有设备设置成固定IP会更好。在DHCP 静态租约那里就可以对设备MAC、IP、设备名称进行添加绑定。

目前这个功能稳定性还有待考证。有兴趣的小伙伴可以自己去深入研究,这里不做过多赘述。

过滤器-DNS 封锁清单

这里是设置这款DNS广告过滤的灵魂。

使用官方默认的 AdGuard DNS filter 规则的效果对于中国大陆的网络而言属于聊胜于无,所以需要添加一些针对国内环境的规则。这里要说明的是规则并不是越多越好,多了会影响到解析速度,真正需要的是高质量。一般用户推荐 anti-AD 和 HalfLife 这两个规则组合。

anti-AD:https://anti-ad.net/easylist.txt

HalfLife:https://gitee.com/halflife/list/raw/master/ad.txt

如果对过滤想要更多整合的,可以用下面的,基本上每日更新:

ADDNS:https://cats-team.coding.net/p/adguard/d/AdRules/git/raw/main/dns.txt

AdBlock:https://cats-team.coding.net/p/adguard/d/AdRules/git/raw/main/adblock.txt

过滤器-DNS 允许清单

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

Allow:https://cats-team.coding.net/p/adguard/d/AdRules/git/raw/main/allow.txt

过滤器-DNS 重写

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

比如一些国内访问比较慢的域名,如果在国内有对应的镜像地址,那么就可以加速访问

过滤器-已阻止服务

在这里你可以一键禁止访问一些热门的网站或服务,不过对国内的家庭用户来讲基本上没什么用。

过滤器-自定义过滤规则

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

查询日志

开启了日志功能,就可以在这里查询到设备所访问到的域名了,可以对该域名进行放行或者拦截。如果手机有些网站或功能打不开,请查看是否被广告过滤给屏蔽网址了,多查查日志会有帮助

最后说明

需要注意的是这个是安装在路由器端的,所以只是针对域名进行过滤,还无法对网站的选择器进行过滤。如果在页面中还存在广告,是很正常的情况,建议再搭配单独的客户端APP。

通过路由器设置的DNS过滤,针对家庭网络中如电视视频广告之类,是非常好用的。设备要正常过滤,则需要访问的这个网络DNS为安装了 AdGuard Home 的路由器IP地址,可以在路由器上统一对设备进行设置,不如可能上不了网哦!

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