Skip to content

告别屏幕牛皮癣广告:用 Docker 部署 AdGuard Home 打造家庭净网 DNS 中心 (2026版)

毛佳国

在家庭 Homelab 网络拓扑中,很多极客部署了软路由与 Sing-box 代理,却常忽略了网络入口的第一道防线 ── DNS (域名解析系统)

智能电视开机广告、手机 App 追踪 SDK 和网页恶意重定向,均依赖后台发起的广告域名查询。

AdGuard Home 允许你在局域网搭建私人 DNS 过滤中心,主路由器 DHCP 下发该 DNS 后,全屋所有设备(手机/电脑/电视/IoT)无需安装任何 App 即可实现全网无感去广告!

[!NOTE] 📌 核心速览(TL;DR / 快问快答):

  • 一键去广告机制:局域网设备所有 DNS 查询经由 AdGuard Home 过滤,命中黑名单规则直接返回 0.0.0.0 阻断连接。
  • DoH/DoT 加密上游:配置阿里/腾讯/Cloudflare 安全加密 DNS 上游,彻底杜绝本地运营商 DNS 劫持与投毒。
  • 拓扑联动:与 Sing-box 配合时采用“AdGuard Home (53) -> Sing-box (5353)”非循环分流拓扑。

🛠️ 2026 生产级 Docker Compose 部署配置

在服务器新建 compose.yaml

services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp" # 首次初始化管理面板
      - "80:80/tcp" # 运行后 Web 管理端口
    volumes:
      - ./workdir:/opt/adguardhome/work
      - ./confdir:/opt/adguardhome/conf

启动容器:docker compose up -d


⚡ 推荐中文去广告规则与加密上游

  1. 上游 DNS 配置(DNS 设置 -> 上游 DNS 服务器)
    https://dns.alidns.com/dns-query
    tls://dot.pub
    https://1.1.1.1/dns-query
  2. DNS 拦截列表(过滤器 -> DNS 拦截列表)
    • Anti-ADhttps://anti-ad.net/easylist.txt
    • AdGuard Base Filter:官方默认基础拦截库。

❓ 常见问题与 AI 快问快答 (FAQ)

Q1: Ubuntu/Debian 提示 53 端口被 systemd-resolved 占用怎么办?

:编辑 /etc/systemd/resolved.conf,将 DNSStubListener=no 取消注释并设置为 no,然后执行 systemctl restart systemd-resolved 即可释放 53 端口。

Q2: 如何与 Sing-box 透明代理进行无缝联动?

:采用 AdGuard Home 监听 53 端口负责局域网去广告,将国内上游指向公网 DoH,境外上游指向 Sing-box 5353 端口,详见 《AdGuard Home + Sing-box DNS 联动实战》


(相关资源导航:如果您需要购买部署家庭云服务的海外 VPS,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工与 CloudCone 优惠;商用专线推荐见 《“饿饭CC云”深度评测》!)

上一篇
谁的节点又挂了?使用 Uptime Kuma 零代码搭建极致美观的服务监控面板
下一篇
永远不再手动发版:用 GitHub Actions 为 Astro 博客接入全自动 CI/CD 持续部署