前言
这篇教程来详细讲解如何正确的设置 AdGuard Home ,来更有效的防止 DNS 污染以及去广告。与其它 AdGuard Home 教程的只讲方法、不讲逻辑的胡乱设置不同,认真看完这篇教程你会收获大量的知识和启发。
设置
常规设置
文字介绍已经很好理解了,按需设置即可。重点是以下几个,如果你尚处于单身状态,那么就不要开启,否则会影响生理卫生知识的学习。
- 使用 AdGuard【家长控制】服务:如果家中有尚未成年的孩子,建议开启,屏蔽成人内容。
- 强制安全搜索:在 Bing、Google、Yandex、YouTube 等网站上强制使用安全搜索,屏蔽 NSFW 内容。
DNS 设置
上游 DNS 服务器
AdGuard 文档中给出了一些知名的 DNS 服务器供选择。
根据所在网络环境的不同推荐以下两组支持 ECS 功能的 DNS 服务器。如果有科学魔法爱国上网需求,你应该部署两个 AdGuard Home ,通过 DNS 分流才能达到较为理想的防污染和去广告效果。
中国大陆网络环境推荐选择腾讯(DNSPod)和阿里云的公共 DNS 。使用它们你会惊奇的发现偶尔某些不存在的网站都是能正常解析的,只不过解析的结果并不是离你的代理服务器最近的 IP ,所以效果并不理想,而且非常不稳定。
TIPS: 中国大陆不推荐使用任何海外的 DNS ,因为延迟很高且都受到了不同程度的干扰,可用性不高,强行设置只会得到减速效果或者报错。
tls://dns.pub https://dns.pub/dns-query tls://dns.alidns.com https://dns.alidns.com/dns-query
国际网络环境,比如海外的 VPS 或者给科学魔法爱国上网软件做 DNS ,则推荐使用 Google 和 Quad9 的公共 DNS。给科学魔法爱国上网软件使用的前提是它们必须在魔法名单中。
tls://dns.google https://dns.google/dns-query tls://dns11.quad9.net https://dns11.quad9.net/dns-query
如果你看过《AdGuard Home 是什么?为什么无法去广告?》那篇文章,那么你一定还记得 DoT/DoH 技术。所以这里的上游 DNS 自然是要选择 DoT/DoH 加密技术的服务器的,可以防止 DNS 解析记录被劫持、篡改以及跟踪。缺点是可能对解析速度会有些许影响,毕竟 TCP 协议不如 UDP 来得有效率,且加解密需要一点时间,不过在机器性能不错且网络通畅的情况下其实是可以忽略的,都是毫秒级别的差距。
上游 DNS 服务器输入框下面有几个单选项,字面理解应该是解析策略、模式之类的选项,官方暂时没有给出详细介绍,所以博主根据字面含义和自身实际体验总结如下:
- 负载均衡:使用加权随机算法来选择最快的服务器。用到了算法,这就很玄学了。实际其实就是随机选择一个上游 DNS 服务器中的一个进行解析请求,哪个延迟低就更偏向于用哪一个。
- 并行请求:同时请求所有上游 DNS 服务器,取最快给出的响应结果,所以解析速度很快。在上游 DNS 服务器设置合理的情况下属于万金油方案,解析速度和访问速度都很快。所以也非常适合上游 DNS 服务器连接延迟大和不稳定的情况,就比如科学魔法爱国上网使用场景。
- 最快的 IP 地址:同时请求所有上游 DNS 服务器,在所有响应结果中选出延迟最低且可用的 IP。因为要等待所有上游 DNS 服务器响应结果,而且还要测试 IP 延迟及可用性,所以解析速度会很慢。只适合上游 DNS 服务器延迟特别低且网络非常稳定的场景,否则实际使用中可能会遇到首次打开网页非常慢,甚至可能打不开,要多刷新几次。再者低延迟 IP 不一定速度就快,还要看实际负载情况,所以这个方案的实际可用性是最差的。
Bootstrap DNS 服务器
Bootstrap DNS 服务器(引导 DNS 服务器)的作用只是解析上游 DoT/DoH 技术 DNS 服务器的域名,所以这里需要填写使用 UDP 协议的传统 DNS 服务器 IP 地址。
同样的这里根据网络环境的不同推荐两组:
中国大陆
119.29.29.29 119.28.28.28 223.5.5.5 223.6.6.6
国际
8.8.8.8 8.8.4.4 9.9.9.11 149.112.112.11
设置完点击测试上游服务器,没有问题点保存即可。
TIPS: 这里也可以留空,使用后面将要提到的 DNS 重写功能把 DoT/DoH DNS 服务器的域名直接指向它的 IP 是一种更优雅的使用方式。
DNS 服务设定
- 速度限制:
0
- 使用 EDNS :前面提及的上游 DNS 服务器都是支持 EDNS (ECS) 的,它有助于获取到更合适的 CDN 节点,建议勾选。
- 使用 DNSSEC : 用于效验 DNS 记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。
- 禁用 IPv6 :丢弃 IPv6 的 DNS 查询。在本地网络和网站都支持 IPv6 会优先使用 IPv6 去访问网站,但目前 IPv6 的建设还处于初级阶段,大多数地区的 IPv6 网络体验都一般。还有一些代理软件对 IPv6 支持不佳,开启后可能会影响国际互联网的访问。如果对此没有特殊需求,那么直勾选即可,这样既不影响 BT 软件连接 IPv6 网络,又可以优先使用 IPv4 来上网。如果只有 IPv4 ,那么是否勾选没有区别。
DNS 缓存配置
先简单科普一下 TTL ,它是英语 Time To Live 的简称,中文翻译为“存活时间”。放在 DNS 解析中意为一条域名解析记录在 DNS 服务器中的存留时间,单位是秒。
正常情况下 TTL 默认0
即可,即从上游 DNS 服务器获取 TTL 值。如果你所部署的网络环境到上游 DNS 服务器的延迟比较高,那么可以适当增加 TTL 值,让缓存更持久,短时间内请求同样域名的解析会直接从缓存中读取,实现秒解析。不过 TTL 值不宜过大,不然会导致记录不能及时更新,结果是网站无法正常打开。据博主观察目前多数域名的 TTL 值普遍在 300 以内,所以给出以下设置参考值:
- 覆盖最小 TTL 值:
600
- 覆盖最大 TTL 值:
3600
加密设置
设置管理页面使用 HTTPS 加密以及 AdGuard Home 自身的 DoH/DoT 功能,如果不对外开放服务,只是在本地局域网使用是用不到的。对外开放 DNS 服务在中国大陆可能会有“法律”风险,而部署在国外网络速度缓慢,所以对于普通用户而言加密设置就成了摆设。
客户端设置
在这里可以单独设置每个设备单独使用的上游 DNS 及过滤规则,需要将设备 DNS 设置为 AdGuard Home 服务器的在 IP ,或者使用下面将要提到的 DHCP 设置。每个人的需求不一样,所以这个部分就不详细说明了。
DHCP 设置
使用 AdGuard Home 作为 DHCP 服务器去代替路由器上的 DHCP 服务器,这个功能的主要作用是自动分配 AdGuard Home 的 DNS 给到设备,然后配合客户端设置去做精细化 DNS 和过滤规则设置。除非是你的路由设备的 DHCP 功能缺斤少两,否则一般是用不到的。目前这个功能处于实验阶段,稳定性还有待考证。有兴趣的小伙伴可以自己去深入研究,这里不做过多赘述。
过滤器
DNS 封锁清单
这里是人民群众喜闻乐见的去广告环节。
吐槽:封锁清单
这个词严重怀疑是机翻,而下面的绿色按钮是添加阻止列表
。博主在查看 AdGuard Home 的源码后发现简体中文的翻译有很多不统一的地方,然后花了几个小时帮助他们改进了大量的翻译,可能在后续的版本中就不再叫封锁清单
了。
使用官方默认的 AdGuard DNS filter 规则的效果对于中国大陆的网络而言属于聊胜于无,所以需要添加一些其它的规则。然而规则并不是越多越好,多了会影解析速度,真正需要的是高质量。博主个人比较推荐 anti-AD 和 halflife 这两个规则。
规则列表 | 点击查看
DNS 允许清单
在这里你可以设置排除封锁清单中的被屏蔽的域名。比如做淘宝客、广告联盟之类的人群可能会用得到,毕竟封锁清单基本涵盖了他们的业务范围。
DNS 重写
在这里你可以方便的把一个域名指向一个 IP ,简单来说这个功能相当于 hosts 。
最典型的一个使用场景是把 DoH/DoT DNS 服务器的域名直接指向它们的 IP ,这样就不再需要进行我查我自己这样浪费时间的迷惑操作了,可进一步加快解析的速度。一般来说 DoT/DoH DNS 服务器的 IP 是固定的,而且 IP 地址和它们自家的传统 DNS 服务器的 IP 是一致的。这里需要注意的是处在公测阶段的 DNSPod 是个例外(难怪腾讯云做不过阿里云,这种细节上的东西很能体现出是否专业)。
已阻止服务
在这里你可以一键禁止访问一些热门网站和服务,比如 Facebook 、Twitter 。
自定义过滤规则
在这里你可以自定义符合 adblock 语法或 Hosts 语法的规则,以及检查过滤域名是否被过滤。具体如何使用可以参考页面上的示例和官方文档。
尾巴
到这里 AdGuard Home 的设置就算是介绍完了,有简体中文,而且 UI 逻辑很清晰,很容易上手。
AdGuard Home 系列
- 《AdGuard Home 是什么?为什么无法去广告?》
- 《AdGuard Home 自建 DNS 防污染、去广告教程 #1 - 安装部署(Docker)》
- 《AdGuard Home 自建 DNS 防污染、去广告教程 #2 - 优化增强设置详解》
本博客已开设 Telegram 频道,欢迎小伙伴们订阅关注。
本文作者:P3TERX
本文链接:https://p3terx.com/archives/use-adguard-home-to-build-dns-to-prevent-pollution-and-remove-ads-2.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
讲解的很棒,坤坤还有一问
选择并行解析上游服务器的话,上游服务器填入的量是不是越多越好?
请问大佬,设置好了adguard home ,怎样导出配置文件啊,翻遍了没发现有导入/导出的 设置。是不是精简掉了。
另外,官网更新到最新版adguard home 了,AdGuard Home v0.107.44 现已发布! 点击此处以获取详细信息。 -点击立即更新按钮,无法更新,不清楚原因。用的是群晖docker建的adguard home.
请教一下。为什么我的adguard home只对Windows起作用了?我在dhcp服务器上设置了dns服务器为adguard home,但是从adguard home后台看手机只有极少数dns查询记录,显然不符合实际。手机使用的是华为的鸿蒙系统。请问这种情况可能的原因是什么?
清问adguardhome,DNS设置里,私人反向DNS服务器那里应该如何配置
科学魔法爱国上网需求,如何应该部署两个 AdGuard Home? 求大佬指定。
你好,我问一下:我在adhome完成了dns setting,电脑也更换了dns服务器地址,但是为什么adhome上的仪表盘还是显示dns查询为0呢?(我是用云服务器搭建的dns服务器)谢谢!
云服务器搭的大概率是被劫持了
使用双adguard home 要不要把DNS分别加入到 直连和代理里面.
例如 223.5.5.5 加入到直连
科学上网软件分流没毛病理论上就不需要了,但还是建议加入,防止分流列表出问题的情况。
还有个疑问,例如我使用IP证书的 DOH:
https://223.5.5.5/dns-query
要不要把 dns.alidns.com 这个域名加入到直连域名里面,四个8同理。
家用的话“设置-加密设置”就不用管呗。
刚刚配完了,就地址栏使用了https的方式访问,其他没感觉到啥。不知道干嘛的
感谢博主的分享,博主可知道怎么过滤腾讯视频手机端的广告吗?爱奇艺可以过滤,腾讯的不行
这个跟过滤规则有关,可能是失效了
v0.107加入了optimistic caching(乐观缓存)功能,大佬要不要也介绍一下
v0.107 目前还是预发行版,等发下一个正式版。
大佬,昨天发布正式版了!!
我之前问了个问题。留言里没了?不方便也可以邮件回复行么。
可能误删了。最近总有人搞垃圾广告留言攻击。
因为adguard home是dns级别的过滤,强行使用乘风规则之类的屏蔽应该不会有好的效果。
官方给出的规则都是基于域名的,而非网页上的元素。
更推荐使用一些host规则或者干脆只用anti-ad
使用DNS重写功能,Bootstrap DNS 服务器填写DNS是默认的这几个
9.9.9.10
149.112.112.10
2620:fe::10
2620:fe::fe:10
这几个默认会不会解析上面的DOH,这样的话,是DNS重写优先,还是这个几个默认的优先解析.
应该是重写的有高优先级 你没写规则的就会用默认的吧,我是这么理解的
可能是这样吧!不过看见有些人说国内的DOH DOT都被污染了.
大佬太棒了,解释得很清楚
双ADG 国外组 Bootstrap DNS 服务器 填国外的DNS 会出问题啊.
导致间歇性的访问不了外网
halflife过滤器可能已经被迫退出江湖,今天上午9点钟打开
https://gitee.com/halflife/list/raw/master/ad.txt
页面提示“根据相关法律政策,该内容无法显示”。是被 Gitee 屏蔽了,可以使用
https://cdn.jsdelivr.net/gh/o0HalfLife0o/list@master/ad.txt
这个链接。我是docker下安装的,第一次完美。后来重装系统重新安装后,不知道为什么,有些流量并没有走adguard,表现在adguard的日志里只显示了部分的查询信息。导致电视广告去的并不完全。。。。不知道怎么回事,你们见过这种情况吗?
大佬您是真的牛逼啊,该有的教程是一个不少,这东西搭配出国设置也是给淦的一脸懵逼
大佬您有空的话还是希望您能介绍下openwrt下的adguard该如何正确操作,我们这里DNS污染很严重,只使用SSRplus的话,有些网站的DNS解析仍然是被污染状态,不得不搭配使用adguard,但是网上的教程看得我稀里糊涂的,似乎能用,似乎又不能用。
我上游也一直在用dnspod的DoH解析,虽然大多数情况下正常,也能够准确的解析得到各大网站离我最近的CDN,但是它有个问题就是时不时地抽一下,把谷歌这些解析成脸书的IP,就挺难受的。然后试了试红鱼的DoH,这个解析被强的域名倒没污染,而且返回解析速度也挺快的,但据我自己测试在我这个电信网的情况下解析一些域名(比如b站的视频域名)经常会解析到海外的IP,导致看国内网站体验很差。