AdGuard Home:开源网络广告拦截神器,打造清洁的家庭网络环境

背景

上网时你是否被这些问题困扰?

  • 网页广告铺天盖地,弹窗不断
  • 视频开头广告长达 120 秒
  • 手机 App 后台偷跑流量,收集隐私
  • 孩子容易接触到不适宜的内容
  • DNS 污染导致网站访问缓慢或失败
  • 希望全家设备统一管理,但不知从何下手

今天介绍一款开源网络广告拦截利器——AdGuard Home,它是 Pi-hole 的最佳替代方案。

什么是 AdGuard Home?

AdGuard Home 是一款全网范围的广告和跟踪器拦截 DNS 服务器,旨在在网络层面阻止广告和追踪。

核心理念: “Network-level ads and trackers blocking DNS server”——网络级别的广告和追踪器拦截 DNS 服务器。

核心特性:

特性说明
全网拦截一次部署,全家设备生效
DNS 拦截覆盖所有设备和应用
隐私保护阻止追踪器和数据分析
家长控制过滤不适宜内容
DNS 加密支持 DoH/DoT/DoQ
DNSSEC支持 DNS 安全扩展
查询日志详细记录 DNS 查询

GitHub 地址: https://github.com/AdguardTeam/AdGuardHome

Star 数量: 25K+

AdGuard Home vs Pi-hole vs 其他方案

对比项AdGuard HomePi-hole商业 DNS
价格免费免费免费/付费
开源✅ 完全开源✅ 开源❌ 闭源
全平台✅ 支持所有设备✅ 支持所有设备✅ 支持所有设备
Web 界面✅ 现代美观⚠️ 界面较旧✅
内置 DHCP✅ 支持⚠️ 需额外配置❌
DNS 加密✅ DoH/DoT/DoQ⚠️ 需额外配置✅
规则同步✅ 多种格式⚠️ 手动配置❌
性能低资源占用低资源占用云服务

AdGuard Home 的独特优势:

  • 一次部署,全家设备受益
  • Web 界面现代美观,易于配置
  • 内置 DHCP 服务器,无需额外软件
  • 支持多种 DNS 加密协议
  • 内置家长控制功能
  • 查询日志详细,可追溯

工作原理

AdGuard Home 采用 DNS 层面拦截:

┌─────────────────────────────────────────────────────────────────┐
│                          家庭网络                                │
│                                                                 │
│   ┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐    │
│   │  手机   │    │  电脑   │    │  平板   │    │  电视   │    │
│   └────┬────┘    └────┬────┘    └────┬────┘    └────┬────┘    │
│        │              │              │              │          │
└────────┼──────────────┼──────────────┼──────────────┼──────────┘
         │              │              │              │
         └──────────────┬┼──────────────┘              │
                        ▼
              ┌─────────────────┐
              │  AdGuard Home   │
              │   DNS 服务器     │
              │                  │
              │  ┌───────────┐  │
              │  │ 过滤器规则 │  │
              │  │ 广告域名   │  │
              │  │ 追踪器域名 │  │
              │  │ 安全域名   │  │
              │  └───────────┘  │
              └────────┬────────┘
                       │
          ┌────────────┴────────────┐
          ▼                         ▼
   ┌─────────────┐           ┌─────────────┐
   │  放行查询   │           │  拦截查询   │
   │ (正常网站)  │           │ (广告/追踪) │
   └──────┬──────┘           └──────┬──────┘
          │                          │
          ▼                          ▼
   ┌─────────────┐           ┌─────────────┐
   │ 上游 DNS    │           │  返回空地址  │
   │ (解析域名)  │           │ (过滤广告)  │
   └─────────────┘           └─────────────┘

DNS 拦截流程:

  1. 设备发起 DNS 查询(如 ad.doubleclick.net)
  2. AdGuard Home 接收查询请求
  3. 检查域名是否在黑名单中
  4. 如果是广告域名,返回空地址
  5. 如果是正常域名,转发到上游 DNS
  6. 返回解析结果

快速上手

Docker 部署(推荐)

创建目录:

mkdir -p ~/adguardhome/work ~/adguardhome/conf

创建 docker-compose.yml:

version: '3'

services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
      - "853:853/tcp"
      - "784:784/udp"
      - "8053:8053/tcp"
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    environment:
      - TZ=Asia/Shanghai
    network_mode: host

启动服务:

# 启动服务
docker-compose up -d

# 查看运行状态
docker-compose ps

# 查看日志
docker-compose logs -f

开放 DNS 端口(如遇到端口冲突):

# 检查端口占用
sudo lsof -i :53

# 停止系统 DNS 服务(Ubuntu/Debian)
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

# 修改 /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf

访问 Web 管理界面:

http://your-server-ip:3000

树莓派部署

系统要求:

项目要求
设备树莓派 3B+ 或更高
系统Raspberry Pi OS / Ubuntu Server
存储16GB+ microSD 卡
内存1GB+ 推荐

部署步骤:

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Docker
curl -fsSL https://get.docker.com | sh

# 创建 AdGuard 目录
mkdir -p ~/adguardhome/work ~/adguardhome/conf

# 运行容器
docker run --name adguardhome \
  --restart unless-stopped \
  -v ./work:/opt/adguardhome/work \
  -v ./conf:/opt/adguardhome/conf \
  -p 53:53/tcp \
  -p 53:53/udp \
  -p 3000:3000/tcp \
  -p 853:853/tcp \
  -p 784:784/udp \
  -p 8053:8053/tcp \
  -d adguard/adguardhome:latest

基础配置向导

首次配置步骤:

1. 访问 http://your-server-ip:3000
2. 点击"开始配置"
3. 设置管理员账号和密码
4. 配置网络接口(选择 LAN 接口)
5. 配置上游 DNS 服务器
6. 选择拦截规则
7. 完成配置

推荐上游 DNS:

DNS 服务地址
Cloudflare1.1.1.1, 1.0.0.1
Google8.8.8.8, 8.8.4.4
Quad99.9.9.9, 149.112.112.112
AdGuard DNS94.140.14.14, 94.140.15.15

核心功能详解

1. DNS 过滤器

内置过滤器:

过滤器说明
AdGuard DNS 过滤器AdGuard 维护的广告拦截列表
AdAway经典的开源广告拦截列表
EasyList专为广告拦截设计的列表
EasyPrivacy隐私保护列表
Malware Domain List恶意软件域名列表
Phishing Army钓鱼网站列表

添加自定义规则:

过滤规则语法:
# 注释
||example.com^          # 拦截指定域名
@@||example.com^        # 白名单指定域名
||*.example.com^        # 拦截子域名
||blog.example.com^     # 精确拦截

示例:
||doubleclick.net^      # 拦截 DoubleClick 广告
||googlesyndication.com^ # 拦截 Google 广告
||baidu.com^            # 拦截百度广告

规则订阅:

常用规则订阅:
- https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
- https://easylist.to/easylist/easylist.txt
- https://easylist.to/easylist/easyprivacy.txt

2. DNS 加密

AdGuard Home 支持多种 DNS 加密协议:

协议端口说明
DNS-over-TLS (DoT)853TLS 加密 DNS
DNS-over-HTTPS (DoH)8053HTTPS 加密 DNS
DNS-over-QUIC (DoQ)784QUIC 加密 DNS

客户端配置:

浏览器/设备配置:
- DoH URL: https://your-server:8053/dns-query
- DoT 主机名: your-server
- DoQ 主机名: your-server

3. 隐私保护

隐私设置:

隐私选项:
- 隐藏搜索结果
- 移除参数(如 utm_*)
- 阻止偷偷下载文件
- 拦截 Cookie 弹窗
- 防止 DNS 泄露

跟踪器拦截:

被拦截的跟踪器类型:
- 分析跟踪器(Google Analytics)
- 社交媒体跟踪器
- 行为跟踪器
- 指纹识别
- 广告跟踪器

4. 家长控制

家长控制功能:

过滤级别:
- 无过滤
- 保护模式(拦截成人内容)
- 自定义过滤

自定义过滤:
- 设置允许/禁止访问的域名
- 设置上网时间限制
- 查看上网历史记录

配置家长控制:

步骤:
1. 进入"过滤器" → "自定义过滤规则"
2. 添加成人内容拦截规则
3. 设置允许的网站列表
4. 配置上网时间表
5. 启用家长控制

5. DHCP 服务器

AdGuard Home 内置 DHCP 功能:

DHCP 配置:

# DHCP 设置
DHCP enabled: true
DHCP IP range: 192.168.1.100 - 192.168.1.250
DHCP Subnet mask: 255.255.255.0
DHCP Gateway: 192.168.1.1
DHCP DNS: 192.168.1.2
Lease time: 24h

适用场景:

适合使用 DHCP 的情况:
- 家庭网络无其他 DHCP 服务器
- 需要统一管理设备 IP
- 路由器 DHCP 功能较弱

不适合使用 DHCP 的情况:
- 已有主路由提供 DHCP
- 需要专业 DHCP 功能(VLAN、 PXE 等)

6. 查询日志与统计

查询日志:

日志功能:
- 记录所有 DNS 查询
- 显示查询时间、域名、设备
- 支持搜索和筛选
- 导出日志

日志保留:
- 可配置保留时间
- 支持关闭日志(提升性能)
- 支持定期清理

统计面板:

显示内容:
- 今日/本周/本月查询统计
- Top 10 查询域名
- Top 10 拦截域名
- 查询来源分布
- DNS 响应时间

高级配置

路由器配置

将路由器 DNS 指向 AdGuard Home:

路由器设置步骤:
1. 登录路由器管理界面(通常 192.168.1.1)
2. 找到"LAN 设置"或"DHCP 设置"
3. 将"首选 DNS 服务器"改为 AdGuard Home IP
4. 保存并重启路由器

示例路由器配置:
- 首选 DNS:192.168.1.2(AdGuard Home 服务器)
- 备用 DNS:8.8.8.8(Google DNS)

客户端 DNS 配置

手动配置设备 DNS:

Windows:
控制面板 → 网络和共享中心 → 更改适配器设置
→ 选择网络 → 属性 → IPv4 → 使用以下 DNS
首选:192.168.1.2

macOS:
系统偏好设置 → 网络 → 高级 → DNS
添加:192.168.1.2

iOS:
设置 → Wi-Fi → 点击网络 → 配置 DNS
选择"手动" → 添加 192.168.1.2

Android:
设置 → Wi-Fi → 长按网络 → 修改网络
→ 高级选项 → IP 设置为"静态"
DNS 1:192.168.1.2

上游 DNS 配置

推荐配置:

# 速度优先
upstream:
  - https://1.1.1.2/dns-query
  - https://1.0.0.2/dns-query

# 隐私优先
upstream:
  - https://dns.quad9.net/dns-query
  - https://dns.google/dns-query

# 国内访问
upstream:
  - https://dns.alidns.com/dns-query
  - https://doh.360.cn/dns-query

并发查询配置

# 同时向所有上游发送查询,取最快响应
bootstrapDns:
  - 1.1.1.1
  - 8.8.8.8
  - 9.9.9.9

# 并发数配置
upstreamDns:
  - 94.140.14.14
  - 94.140.15.15
  - 1.1.1.1
  - 8.8.8.8

常见问题

Q:AdGuard Home 和 AdGuard 有什么区别?

A:

  • AdGuard 是浏览器扩展/桌面客户端,只作用于单个设备
  • AdGuard Home 是 DNS 服务器,作用于整个网络
  • AdGuard Home 无需在设备上安装任何软件
  • AdGuard 功能更细致,AdGuard Home 更适合全网覆盖

Q:拦截会影响正常网站吗?

A:

  • 可能会,建议定期检查更新规则
  • 发现问题可在白名单中添加
  • 某些网站需要登录后才能看到内容,可能被误拦截
  • 建议开启"安全搜索"功能

Q:如何提高拦截效果?

A:

  • 订阅多个高质量规则源
  • 开启"使用拦截规则hosts文件"
  • 定期更新规则
  • 添加针对性的自定义规则
  • 开启隐私保护选项

Q:内存占用多少?

A:

  • 空闲时:约 50-100MB
  • 活跃查询:约 100-200MB
  • 查询日志开启:占用更高
  • 建议配置:1GB+ 内存

Q:如何更新 AdGuard Home?

A:

# Docker 更新
docker-compose pull
docker-compose up -d

# 或手动拉取
docker pull adguard/adguardhome:latest
docker stop adguardhome
docker rm adguardhome
# 重新运行容器(保留数据)

Q:支持 DNSSEC 吗?

A:

  • 支持,在设置中启用 DNSSEC
  • 需要上游 DNS 也支持 DNSSEC
  • 可验证 DNS 响应真实性
  • 开启后略有性能开销

适用场景

推荐使用:

  • 家庭网络广告拦截
  • 保护孩子上网安全
  • 防止追踪保护隐私
  • 提升网络浏览体验
  • DNS 污染防护
  • 全家设备统一管理

不推荐使用:

  • 需要应用层过滤(如 HTTPS 拦截)
  • 超复杂企业网络管理
  • 需要深度数据包检测

总结

AdGuard Home 以"全网拦截 + 隐私保护 + 家长控制 + DNS 加密"的组合,成为了家庭网络守护的最佳开源选择。

核心优势回顾:

  • 全网覆盖:一次部署,全家设备受益
  • 隐私保护:阻止追踪器和数据分析
  • 家长控制:过滤不适宜内容
  • DNS 加密:支持 DoH/DoT/DoQ
  • 轻量高效:树莓派也能流畅运行
  • 完全免费:无任何功能限制

对于追求清洁网络环境、保护家庭隐私、拦截广告追踪的用户,AdGuard Home 是最佳选择。


© 版权归无边界科技所有,版权所有。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐