AdGuard Home DNS 过滤器部署教程

AdGuard Home 是一款功能强大的开源 DNS 过滤器和广告拦截工具,提供网络级别的广告和追踪器过滤。与 Pi-hole 相比,AdGuard Home 拥有更现代化的界面,内置 DNS over HTTPS/TLS/QUIC 支持,并且提供家长控制和安全浏览等额外功能。本文将介绍如何在搬瓦工 VPS 上使用 Docker 部署 AdGuard Home。部署前请确保已安装好 Docker 和 Docker Compose

一、系统要求

  • 操作系统:Ubuntu 20.04+ 或 Debian 11+。
  • 内存:512MB 即可,1GB 更佳。
  • 磁盘:至少 2GB 可用空间。
  • 域名:配置 DNS over HTTPS 时需要域名和 SSL 证书。

二、准备工作

与 Pi-hole 类似,需要确保 53 端口可用:

# 禁用 systemd-resolved(Ubuntu 系统)
systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo "nameserver 8.8.8.8" > /etc/resolv.conf

三、Docker Compose 部署

mkdir -p /opt/adguard/{work,conf}
cd /opt/adguard

cat > /opt/adguard/docker-compose.yml <<'EOF'
version: '3.8'

services:
  adguardhome:
    image: adguard/adguardhome:latest
    restart: always
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
      - "8443:443/tcp"
      - "8443:443/udp"
      - "853:853/tcp"
    volumes:
      - /opt/adguard/work:/opt/adguardhome/work
      - /opt/adguard/conf:/opt/adguardhome/conf
EOF

docker compose up -d

端口说明:53 为 DNS 服务,3000 为初始设置界面(完成后变为 80),443 为 HTTPS 管理和 DoH,853 为 DNS over TLS。

四、初始化设置

访问 http://your-server-ip:3000 进入安装向导:

  • 管理界面:选择监听端口,默认 80(或 3000)。
  • DNS 服务:选择监听端口,默认 53。
  • 管理员账户:设置用户名和密码。

完成向导后,管理面板会转移到你设定的端口(默认 80)。

五、配置过滤规则

在管理面板 > Filters > DNS blocklists 中添加过滤列表。AdGuard Home 默认已启用基础广告过滤列表。建议添加以下中文规则:

# 推荐的中文过滤列表
https://anti-ad.net/easylist.txt
https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt

还可以使用 AdGuard 格式的自定义规则。在 Filters > Custom filtering rules 中添加:

# 拦截特定域名
||ads.example.com^

# 拦截特定域名及其子域名
||tracking.example.com^

# 允许特定域名(白名单)
@@||allowed.example.com^

六、DNS 加密配置

AdGuard Home 原生支持 DNS over HTTPS(DoH)和 DNS over TLS(DoT)。在 Settings > Encryption settings 中配置:

# 先申请 SSL 证书
certbot certonly --standalone -d dns.yourdomain.com

在加密设置页面中:

  • 启用 "Enable Encryption (HTTPS, DNS-over-HTTPS, and DNS-over-TLS)"。
  • Server name 填入 dns.yourdomain.com
  • 证书路径:/etc/letsencrypt/live/dns.yourdomain.com/fullchain.pem
  • 私钥路径:/etc/letsencrypt/live/dns.yourdomain.com/privkey.pem

需要将证书目录挂载到 Docker 容器中,在 docker-compose.yml 的 volumes 中添加:

- /etc/letsencrypt:/etc/letsencrypt:ro

七、客户端配置

在 Settings > Client settings 中可以为不同的客户端(设备)配置独立的过滤策略。通过客户端 IP 或 MAC 地址识别设备,为每个设备设定不同的过滤级别。

DNS over HTTPS 客户端配置

配置好加密后,客户端可以使用以下 DoH 地址:

https://dns.yourdomain.com/dns-query

DNS over TLS 客户端配置

tls://dns.yourdomain.com

八、家长控制与安全浏览

AdGuard Home 内置了家长控制和安全浏览功能:

  • 家长控制:在 Settings > General settings 中启用,可以屏蔽成人内容网站。
  • 安全浏览:启用后会自动拦截已知的恶意软件和钓鱼网站域名。
  • 安全搜索:强制主流搜索引擎使用安全搜索模式。

九、查询日志与统计

AdGuard Home 提供详细的查询日志和统计面板,包括:

  • 总查询次数和拦截次数。
  • 最常被查询的域名排行。
  • 最常被拦截的域名排行。
  • 各客户端的查询统计。
  • 每条查询的详细信息(域名、类型、响应时间、上游服务器等)。

十、数据备份

tar -czf /opt/adguard/backup_$(date +%Y%m%d).tar.gz /opt/adguard/conf/ /opt/adguard/work/

十一、常见问题

DNS 解析失败

检查上游 DNS 服务器是否可达。在 Settings > DNS settings 中确认上游 DNS 设置正确。可以使用 "Test upstreams" 按钮测试。

安全提醒

公网暴露 DNS 服务存在被利用进行 DNS 放大攻击的风险。强烈建议:

# 限制 DNS 访问来源
ufw allow from your_home_ip to any port 53
ufw deny 53

或者只使用 DoH/DoT 加密 DNS,关闭普通 DNS 端口。

总结

AdGuard Home 是一款功能全面的 DNS 过滤工具,相比 Pi-hole 提供了更现代化的界面和原生的 DNS 加密支持。在搬瓦工 VPS 上部署后,你可以为所有设备提供安全、无广告的 DNS 解析服务。更多教程请参考:Pi-hole 部署Docker 安装教程。选购搬瓦工 VPS 请参考全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。