前言
楼主家庭网络的主路由从梅林固件转到软路由OpenWRT也有几个月时间了,这段时间经历各种刷机,测试和配置,总算是消停下来.在使用过程中觉得AdGurad Home这个广告过滤神器确实好用.想着软路由毕竟是非常小众的产品,于是尝试在群晖 NAS 的 docker 上部署 AdGurad Home 实现家庭网络的广告过滤和防止 DNS 劫持的需求.
AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
![]()
部署
创建挂载目录
为AdGurad Home创建挂载目录,用于存放数据文件和配置文件.本文以/docker/AdGuard/work和/docker/AdGuard/config为例.
启动容器
docker – 注册表
搜索adguard并下载官方镜像
docker – 映像
启动容器
高级设置
勾选启用自动重启启动
高级设置 – 卷
分别添加本地文件夹work和config,分别挂载如下图:
-
work: /opt/adguardhome/work -
config: /opt/adguardhome/conf

高级设置 – 端口
配置本地3000端口为安装和管理端口,同时配置TCP和UDP的 DNS 默认53端口.
此处强调一下: DNS 的默认端口为53,而群晖 NAS 一般不会占用53端口,所以直接分配固定端口53给 AdGuard Home 使用,而80管理端口多数被群晖的反向代理,Web Station等套件占用,此处保持自动分配.下文安装过程中在把管理端口修改为3000即可.

![]()
配置
初始化安装
访问http://群晖内网IP:3000开始初始化安装,下文以192.168.1.4为例.
由于群晖 NAS 的80端口被占用,将其修改为3000.
DNS 服务器的端口默认为53,保持默认.
如果修改为其他端口,在后续使用填写 DNS 服务器时还需要加上端口号.

创建管理账户密码
下一步
安装完成
常规设置
如下图勾选相关选项,也可以根据自己情况选择.
日志配置:可在查询日志页面随时查询各客户端,域名,类型的历史记录,由于部署在群晖 NAS 上,不担心磁盘空间问题,可以设置为90天.
统计配置:仪表盘页面能够非常直观的展示近期的访问统计信息和数据,建议设置30或90天.
已阻止的服务根据情况自行选择,多数情况下保持默认不阻止即可.
DNS 设置
DNS 设置中基本只需要配置上游 DNS 服务器和Bootstrap DNS 服务器,其他选项在不懂的情况下建议保持默认.
上游 DNS 服务器
部署 AdGuard Home 最重要的目的就是为了避免DNS 劫持以达到使用最纯净的 DNS 解析的目的,其次才是过滤广告的需求.此处的 DNS 服务器列表,建议是同时添加多个国内和国外权威的纯净 DNS 服务器,例如 Google , Cloudflare , 114dns 等知名服务商.保证准确性和解析速度.并勾选同时查询功能.以下为博主使用的服务器列表,以供参考:
114.114.114.114 117.50.10.10 119.29.29.29 223.5.5.5 tcp://8.8.8.8 tcp://208.67.222.222 tcp://1.1.1.1 /dns-query

Bootstrap DNS 服务器
Bootstrap DNS 服务器用于解析您指定为上游的 DoH / DoT 解析器的 IP 地址,此处填写本地最快的 DNS 解析服务器即可,博主使用的是本地电信的 DNS 服务器,大家根据实际情况自行填写,也可以直接使用114.114.114.114.设置完应用并测试一下 DNS 是否工作正常.
访问设置
访问设置一般用户管理和配置规则,默认情况保持为空.如果希望强制不解析部分域名可以在拦截的域中添加,请谨慎设置.
其他设置
由于此服务仅用于家庭内网,同时有路由器作为 DHCP 服务器,所以加密设置,客户端设置,DHCP 设置我们保持默认无需设置.
![]()
过滤器
DNS 封锁清单
DNS 封锁清单即是 AdGuard Home 用于过滤广告和拦截恶意钓鱼网站的关键设置.默认已经有官方的过滤规则,我们可以手动添加更多的规则来达到更好的效果.但也不用添加过多,可能会带来反效果.个人建议使用3-5个常规规则即可,网上已经有很多大神分享和维护的规则.大家可以自行搜索.这里推荐一些常见好用的规则:
规则太长,点击展开阅读.

其他规则
多数情况下保持默认即可.
DNS 允许清单:配置允许解析的列表,及时这些域名在封锁清单,也会被解析.
DNS 重写:用于自行配置 DNS 解析,例如无法 NAT 回流的用户,可以将 DDNS 域名手动解析到内网IP.
自定义过滤规则:手动添加过滤规则.
![]()
使用
通过路由器 DHCP 下发配置
常规情况下,家里的客户端一般都是通过路由器的 DHCP 获取 IP ,网关和 DNS 配置.大部分用户默认情况都是使用运营商提供的 DNS ,也有少数用户会手动修改了 DNS 服务器.为了使用 AdGuard Home 来作为 DNS 服务器,需要在 DHCP 设置 DNS 地址为群晖的内网 IP 地址.
值得注意的是,一旦配置好 DHCP 和 DNS 后,群晖或者 AdGuard Home 的 docker 容器一旦重启或者无法使用,则会导致内网无法解析任何域名.如果不是很稳定的环境,建议不要这样设置.
示例截图
由于路由器的不同,设置界面也不同,可以参考以下两张截图来配置 DHCP ,其中192.168.1.4正是部署 AdGuard Home 的群晖内网 IP,在配置一个公共的备用 DNS 服务器.

DNS 转发
少数路由器支持 DNS 转发功能,保持 DHCP 的默认配置,由路由器本身提供 DNS 服务,在由路由器转发 DNS 到 AdGuard Home 也可以实现广告拦截和防止 DNS 劫持的需求.
手动设置
手动配置 DNS 服务器建议配置多个,首要 DNS 服务器填写 AdGuard Home 所在的群晖内网 IP ,同时在添加一个公共 DNS 服务器备用.
使用效果
当成功配置好 DNS 服务器,就可以在 AdGuard Home 的仪表盘查看统计数据,也可以通过查询日志查看详细的过滤情况.
下图的截图为OpenWrt路由器固件中的AdGuard Home所以原生编译会有更好的支持,能够查看各个客户端的详情.而在docker中部署,所有通信都会经过容器的宿主机,所以客户端仅仅只会显示172.17.0.1的记录,但这并不影响核心功能,只是无法很好的精确查询日志了.

![]()
结语
AdGurad Home 并不是万能的,也不是所有广告都能过滤和屏蔽.但实际的使用效果相比没有过滤时提升明显,同时还能防止 DNS 劫持.另外Chrome用户可以在单独安装Adblock Plus或者uBlock等插件来更好的提升过滤效果.
本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看
原文链接:http://www.360doc.com/content/21/0604/21/14775740_980498559.shtml















