AdGuard Home 完全指南:从入门到部署
一、什么是 AdGuard Home?
AdGuard Home 是一款开源的网络级广告拦截与隐私保护软件。与浏览器插件不同,它工作在你的局域网(LAN)网络中,通过充当 DNS 服务器,在请求真正发出之前就把广告、追踪器和恶意网站的域名拦截掉。
简单来说:你只要在网络中部署一台 AdGuard Home,那么整个家庭或公司里所有联网设备——手机、电脑、平板、智能电视、甚至智能家居——不需要安装任何客户端,就能自动获得广告拦截和隐私保护能力。
AdGuard Home 的核心特性
和其他 AdGuard 产品的区别:AdGuard 浏览器插件只保护单个浏览器;AdGuard 桌面客户端只保护单台电脑;而 AdGuard Home 安装在路由器、服务器或上,保护的是整个网络。
二、AdGuard Home 是如何工作的?
它的原理并不复杂,概括成三步:
DNS 解析拦截:当设备访问某个网站时,会先向 DNS 服务器询问该域名的 IP 地址。AdGuard Home 在此时介入,如果域名命中广告/追踪器规则库,就直接返回一个空地址,设备因此无法加载广告内容。
过滤规则匹配:内置 + 自定义的规则列表(如著名的 EasyList、AdGuard 基础过滤、hosts 规则等)实时更新。
查询日志与统计:所有 DNS 请求被记录下来,你可以直观看到哪些设备、哪些域名被拦截。
💡 为什么拦截 DNS 更高效? 因为无论网页、App 还是视频里的广告,最终都要通过域名加载。在 DNS 层一刀切,等于从源头掐断了广告加载路径,任何应用都躲不开。
三、教程:Docker 方式部署(推荐)
前置条件
一台 Linux 服务器 / NAS / 树莓派
已安装 Docker 与 Docker Compose
创建目录与配置文件
mkdir -p /opt/adguardhome
cd /opt/adguardhome创建 docker-compose.yml:
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp" # DNS 端口
- "53:53/udp"
- "784:784/udp" # DNS-over-QUIC
- "853:853/tcp" # DNS-over-TLS
- "3000:3000/tcp" # 初始设置界面
- "8080:80/tcp" # AdGuard Home 管理界面(可改为 80)
volumes:
- ./work:/opt/adguardhome/work
- ./conf:/opt/adguardhome/conf⚠️ 注意:53 端口是系统保留端口,如果你的服务器上已经有其他 DNS 服务占用,需要先释放,或用其他宿主机端口映射(但客户端把 DNS 指向非 53 端口会不方便)。
启动服务
docker compose up -d初始化设置
浏览器访问
http://服务器IP:3000,进入设置向导。设置管理 Web 界面:选择端口(默认
80,我们映射到了宿主机的8080,如果冲突可改)。设置一个管理密码(务必设置强密码)。
选择 DNS 监听端口,默认
53。完成初始化后,通过
http://服务器IP:8080登录管理界面。复制
四、客户端接入:让设备走 AdGuard Home
AdGuard Home 部署完成后,需要把设备的 DNS 指向它才能生效。有三种方式:
方式一:路由器全局设置(推荐,覆盖全网络)
在路由器管理界面,把 DHCP 分配的 DNS 改为 AdGuard Home 服务器的 IP(如 192.168.1.100)。这样所有通过路由器上网的设备自动生效。
方式二:修改单台设备 DNS
Windows:设置 → 网络 → 更改适配器选项 → 属性 → IPv4 → 首选 DNS 填服务器 IP。
macOS:系统设置 → 网络 → 高级 → DNS。
手机:设置 → 私人 DNS。
五、常见问题排查
六、小结
AdGuard Home 是一套强大、免费、开源的网络级广告拦截方案。只需一台常开的设备(服务器、NAS、树莓派甚至软路由),就能为整个局域网提供干净、快速、隐私友好的上网体验。它界面友好、部署简单,配合 Docker 一条命令即可运行,非常适合家庭用户、极客和技术爱好者。

