AdGuard Home 介绍
以下介绍从 项目官网 复制 :
AdGuard Home 是一种基于网络的广告和跟踪器拦截解决方案。只需在您的路由器上安装一次,即可覆盖您家庭网络中的所有设备——无需额外的客户端软件。这对于各种经常威胁您隐私的物联网设备尤其重要。
原理
AdGuard Home 作为 DNS 服务器,通过在后台配置过滤规则,将已知的广告域名进行屏蔽(将地址解析至 0.0.0.0 或其它方式),阻断与广告域名的连接,以达到广告屏蔽的效果。
但使用该方法屏蔽广告并不适用于所有网站,如果可以还是建议在浏览器安装广告拦截插件,效果远比本方式要好。本教程仅适用于不方便安装广告拦截插件的浏览器、APP 内广告等环境。
AdGuard Home 还支持拦截追踪器,起到保护隐私的一定作用,根据屏蔽器规则而决定效果。
服务部署
- 本教程中,AdGuard Home 将简写为 adghome。
- 请确保局域网其它设备可以连接到你的服务器。
- 建议操作前先看完整篇文章。
在 Linux 服务器上部署
实验环境
| 角色 | 操作系统 | IP地址 | 备注 |
|---|---|---|---|
| 服务器 | Rocky Linux 9.6 | 192.168.139.128 | adghome 部署在这里 |
| 客户端 | Windows 10 22H2 | 192.168.139.1 |
下载压缩包
从 GitHub 上获取最新版本的压缩包,根据自己的平台选择合适的压缩包。
如果是常规 x86 平台的服务器&电脑,则下载 amd64;如果是机顶盒,则根据自己的芯片类型选择压缩包。本次实验使用 AdGuardHome_linux_amd64.tar.gz。

复制压缩包的下载地址,然后通过终端连接到服务器,通过 wget 下载压缩包到本地。如果因网络问题无法从 GitHub 下载,可以使用以下命令下载:
1 | 如果系统没有 wget,使用以下命令安装: |
1 | wget https://static.cdn.muzzink.cn/attachments/AdGuardHome_linux_amd64-v0.107.67.tar.gz |

解压并安装为系统服务
使用以下命令,对压缩包进行解包(压缩包因文件名称而异,自行判断):
1 | mv AdGuardHome_linux_amd64-v0.107.67.tar.gz /opt |

解包完成之后,当前目录下会出现 AdGuardHome 文件夹,执行以下命令安装程序为系统服务并开机自启:
1 | setenforce 0 |
执行完之后会有很多回显,找到下方的内网地址复制到浏览器访问。

如果浏览器无法访问,请检查系统是否开启了防火墙。如果防火墙处于活动的状态,请放行 53/udp 80/tcp 3000/tcp 这三个端口。
1 | 如果系统使用 firewalld 作为防火墙: |

| 端口 | 协议 | 用途 |
|---|---|---|
| 53 | udp | DNS 域名解析服务器默认端口号 |
| 80 | tcp | adghome 控制台 |
| 3000 | tcp | adghome 初始安装时使用的 Web 端口号,安装完成之后请使用 80 端口访问控制台 |
进入网页进行配置
根据控制台的输出,找到显示的内网地址,复制到浏览器并访问:

一路点击下一步,然后会要求你提示输入用户名和密码。这里根据自己的需求输入,但不能忘记。这里输入的用户名和密码用于登录 adghome 的控制台。

一路点击下一步,直到提示安装完成,然后点击“打开仪表盘”。点击之后,会要求你进行登录,输入刚刚提交的用户名和密码登录。登录后,会看到控制台的首页👇

到此,adghome 的安装过程已经完成。
通过容器部署
待补充。
DNS 配置
adghome 虽然作为 DNS 服务器,但仍需上游 DNS 提供域名解析。点击导航栏中的“设置”,然后点击“DNS 设置”选项:

设置 Bootstrap DNS 服务器
接着鼠标往下翻,找到“Bootstrap DNS 服务器”区域,将文本框的值修改为:
1 | 119.29.29.29 |
如果你是校园网、公司网络用户,如果修改了上方的 DNS 后点击“测试上游”无法连通 DNS 服务器,请将 DNS 修改为你校园网&公司内网的 DNS。在控制面板中进行查看。
设置上游 DNS 服务器
设置完 Bootstrap DNS 服务器之后,回到页面的最上端,修改上游 DNS 服务器:
1 | https://doh.pub/dns-query |

如不例外,点击“测试上游”后会提示已正常运行:

然后点击旁边的“应用”按钮,DNS 配置部分就结束了。如果想更换其它的上游 DNS 服务器,可以前往 dns.icoa.cn 上选择。选择 DoH 或 DoT 的服务器,建议使用 DoH。
过滤器设置
配置完 DNS 之后,还需要配置过滤器,以达到广告过滤的效果。在导航栏上点击“过滤器”,接着按“DNS 黑名单”选项:

进入后,下方列表会有两个默认的规则,点击左边的确认框激活规则:
如果第一个规则默认启用,则需要重新手动启用一次以生效。规则激活之后,列表中间的规则数则会正常显示规则数量(不为 0)。
如果想导入其它的规则,可以自行在搜索引擎寻找其它的规则链接。默认的两条规则足以应对大部分的场景和情况。

测试生效情况
在 Windows 系统中,利用 nslookup 工具可以测试域名解析情况。
1 | nslookup <目标域名> <DNS 服务器地址> |
测试非广告域名
已知 www.qq.com 不是广告域名,可以正常解析出 IP 地址:

测试追踪器域名
已知 beacon.qq.com 是追踪器域名,域名被解析到 0.0.0.0 地址:
广告域名的效果与本测试效果相同,如
doubleclick.net

客户端配置
Windows
前往控制面板对网卡设置进行配置,指向你部署的 adghome dns 的地址:
右键任务栏的 Windows 图标,点击“运行”,然后在文本框中输入 ncpa.cpl,然后点击“确定”,会打开控制面板的网卡设置窗口:


选择自己上网使用的网卡,双击网卡进入属性,进行配置:
首选 DNS 服务器填入 adghome 服务器的 IP 地址,备用 DNS 服务器可不填。

Apple iOS
点击系统设置 -> 无线局域网(或 Wi-Fi、或 WLAN),然后根据以下步骤操作:



路由器
在路由器里,可以通过设置 DHCP 将 DNS 服务器地址指向 adghome,无需手动修改网卡配置。不同品牌的路由器设置方式不同,也有的路由器不支持自定义 DNS。此处使用 OpenWrt 为例:
进入到“接口”页面,找到要设置的 LAN 接口(注意是 LAN,不要设置 WAN),然后点击编辑:

在弹出的窗口进入 DHCP 的设置页,添加“DHCP 选项”,然后根据情况输入以下内容:
6,adghome服务器ip地址
1 | 6,192.168.139.128 |

单击保存,然后滑到页面最下方,点击“保存并应用”:

设置完成,客户端通过 DHCP 取得 IP 地址时,DNS 会指向你的 adghome 服务器。如果内网中的客户端在之前已经获得过 IP 地址,需要重新连网才会生效。
结束语
以上操作完成之后,可以实现网页的广告屏蔽、追踪器拦截。
本实验到此完结。
