威联通NAS用docker部署AdGuard Home过滤DNS和广告 监控网络流量

在NAS上使用docker部署AdGuard Home,配置上游dns,监控家庭内部的DNS查询,并过滤广告、成人内容。

安装

在威联通NAS里找到容器服务,点击创建容器。

镜像名填写adguard/adguardhome,点下一步。

选择高级配置

选择网络

  • 网络模式选自定义 Bridge桥接模式,这样直接把端口都暴露到家庭内网,方便配置。
  • 默认web url端口打开,并设置为3000端口,AdGuard Home默认3000
  • 必须勾选使用静态IP地址,并设置一个你内网不会被占用的IP,作为AdGuard Home的DNS服务静态地址。

最后启动容器。

初始化AdGuard Home

假如你设置的静态ip是192.168.124.200那么浏览器打开192.168.124.200:3000进行初始化配置。

推荐默认配置,比如这里默认web管理页面的端口是80,刚才说的3000对吧,你就别管了,配置好以后就使用80了。

配置AdGuard Home DNS

配置上游DNS服务器

找到设置 - DNS设置

添加上游 DNS 服务器

不需要自己找了,AdGuard已经给你列出了更多的DNS的服务商:https://adguard-dns.io/kb/zh-CN/general/dns-providers/ 里边也包含了阿里云、腾讯云的国内DNS地址。

我们默认最先配置几个国内的,然后配置几个国外的。都使用DoH(https)、DoT(tcp tls)、DoQ(udp quic),这里不要配置ip明文DNS了,全都使用加密的dns,优先选DoQ基于udp的加密dns。

1
2
3
4
5
6
7
https://doh.pub/dns-query
quic://dns.alidns.com:853
tls://family.cloudflare-dns.com
https://family.cloudflare-dns.com/dns-query
quic://family.adguard-dns.com
https://family.adguard-dns.com/dns-query
https://dns.google/dns-query

这是我推荐的几个,第一个是腾讯的DoH,第二个是阿里云的DoQ,后边分别是国外的cloudflare、adguard、google的安全并屏蔽成人资源的DNS。

配置并行请求

往下拉,勾选并行请求

配置后备DNS服务器

往下拉,填写后备 DNS 服务器,这里是作为备用兜底DNS使用,我配置了几个国内国外的ip明文dns。

1
2
3
4
119.29.29.29
223.5.5.5
1.1.1.1
8.8.8.8

配置Bootstrap DNS服务器

往下拉,填写Bootstrap DNS 服务器,也是配置几个ip明文dns

这里最好找一个你位置最近的运营商dns

可以在这里找 https://dnsdaquan.com/ 然后自己ping一下ip基本当地的运营商在3ms左右。

1
2
3
4
5
6
123.123.123.123
119.29.29.29
9.9.9.10
149.112.112.10
2620:fe::10
2620:fe::fe:10

DNS服务配置

接着往下拉,找到DNS服务配置里的:

  • 启用 EDNS 客户端子网,如果上游 DNS 服务器支持 EDNS 技术,它有助于获取到更合适的 CDN 节点
  • 启用 DNSSEC 用于效验 DNS 记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。

比如访问本站的时候会有小绿锁,因为部署在cloudflare并开启了DNSSEC。

配置广告过滤规则

顶部菜单栏找到过滤器 - DNS黑名单

我们配置自己的过滤规则,使用开源的 https://github.com/217heidai/adblockfilters?tab=readme-ov-file 规则,找到readme里的订阅链接复制规则1加速链接1
回到AdGuard Home页面,点击添加黑名单 - 添加一个自定义列表,添加,然后保存。
然后勾选刚添加的规则,关闭其他规则。点击检查更新

修改家用路由器的DNS地址

把你家的路由器DNS地址指向AdGuard Home地址。

你电脑的DNS也可以配置到这个地址。

这时候回到你的AdGuard Home页面,就会发现开始有统计数据了。

至此完成。