AdGuard Home 完整教學 2026:自架 DNS 擋廣告,從 Docker 部署、DoH/DoT 加密到 Pi-hole、NextDNS 完整比較

AdGuard Home 是 GitHub 36,942 星的開源 DNS 廣告阻擋伺服器,單一執行檔就能讓家中所有裝置(手機、電視、遊戲機)一起擋廣告,不需要在每台裝置裝外掛。這篇完整教學帶你從 Docker Compose 部署、初始化精靈、設定路由器 DNS、啟用 DoH/DoT 加密,一路排解 Port 53 被 systemd-resolved 佔用等常見陷阱,並附上 AdGuard Home vs Pi-hole v6 vs NextDNS 的功能、效能、價格完整比較表。

  • Dennis
  • 12 分鐘閱讀
AdGuard Home 完整教學 2026:自架 DNS 擋廣告,從 Docker 部署、DoH/DoT 加密到 Pi-hole、NextDNS 完整比較

AdGuard Home 是一套免費、開源(GPL v3)、GitHub 36,942 星的網路層 DNS 廣告阻擋伺服器:只要在一台 Raspberry Pi 或 VPS 上用 Docker 跑起來、把路由器的 DNS 指過去,家中所有裝置——手機、平板、智慧電視、遊戲機、連網家電——就一起擋掉廣告與追蹤網域,完全不需要在每台裝置另外裝外掛。 它的最大優勢是原生內建 DoH/DoT/DoQ 加密,這點 Pi-hole 得另外掛 cloudflared 或 Unbound 才做得到。

這篇教學會依序講完:為什麼要在 DNS 層擋廣告、AdGuard Home 與 Pi-hole v6/NextDNS 的完整比較、硬體需求與實測效能、Docker Compose 實戰部署、路由器與 DHCP 設定、加密 DNS 設定、以及五個新手一定會踩到的陷阱。

為什麼要在 DNS 層擋廣告?

一般的廣告阻擋外掛(uBlock Origin、AdGuard 瀏覽器擴充)只保護「瀏覽器」。但你家裡真正在偷偷連線的,往往是:

  • 智慧電視的開機廣告與觀看紀錄回傳
  • 手機 App 裡塞的廣告 SDK
  • 遊戲機、掃地機器人、連網家電的背景 telemetry
  • 作業系統本身的遙測流量

DNS 阻擋的作法是在解析階段就把追蹤網域指向黑洞(sinkhole),裝置根本連不上廣告伺服器,也就不會下載廣告。它的好處是一次設定、全網生效,包含那些你根本無法安裝外掛的裝置。

flowchart TD
    A["家中裝置發出請求<br/>例如 App 想連 ads.example.com"] --> B{"路由器 DNS<br/>指向誰?"}
    B -->|預設:電信商或 8.8.8.8| C["正常解析<br/>廣告照樣下載"]
    B -->|改成 AdGuard Home 的 IP| D["AdGuard Home 查詢封鎖清單"]
    D -->|命中黑名單| E["回傳 0.0.0.0<br/>廣告連不上,直接消失"]
    D -->|不在名單內| F["轉發給上游 DNS<br/>並使用本地快取加速"]
    F --> G["回傳真實 IP<br/>正常上網"]

AdGuard Home vs Pi-hole v6 vs NextDNS 完整比較

這三個是最常被拿來比較的組合,但其實定位不同:AdGuard Home 與 Pi-hole 是自架,NextDNS 是雲端代管 SaaS

比較項目AdGuard HomePi-hole v6NextDNS
開發者Adguard Software Ltd.Pi-hole LLCNextDNS Inc.
開源授權GPL v3(完全開源)EUPL(完全開源)閉源 SaaS
部署型態自架自架雲端代管
支援平台Linux(x86_64/arm64/armv7)、Docker、macOS、Windows、FreeBSD、GL.iNet 路由器Linux(Debian/Ubuntu/Arch)、Raspberry Pi OS、Docker(Alpine 底層)全平台(iOS、Android、Windows、macOS、Linux、路由器、瀏覽器 DoH)
內建 Web UI有(Go 二進位檔內建,初始化 Port 3000)有(v6 起由 pihole-FTL 內建,移除 lighttpd/PHP)有(雲端儀表板 my.nextdns.io
內建 DoH/DoT/DoQ原生支援 ✅(含 HTTP/3、DNSCrypt)不支援 ❌(需另掛 cloudflared/Unbound)雲端原生支援 ✅
內建 DHCP 伺服器有 ✅(DHCPv4/DHCPv6)有 ✅(內建 dnsmasq)無 ❌(純 DNS 過濾)
每客戶端設定原生直覺介面(可獨立指定上游 DNS、規則、SafeSearch、服務封鎖)群組管理(功能強但介面較複雜)多設定檔(用不同 DoH/DoT URL 區分裝置)
家長控制內建 SafeSearch(Google/YouTube/Bing)+ 200+ 熱門服務一鍵封鎖無內建 GUI 開關(需靠第三方清單)內建完整類別封鎖(成人、賭博、特定 App 開關)
安裝難度簡單中等極簡單
價格$0$0Freemium(免費版 30 萬次查詢/月,Pro $1.99/月)

硬體需求與實測效能

自架派的共同優點是硬體門檻極低。實測環境(Raspberry Pi 4 4GB、18 台裝置、10,000+ 阻擋網域)下,兩套自架工具表現非常接近:

指標AdGuard HomePi-hole v6NextDNS
最低硬體Raspberry Pi Zero 2 W(建議 Pi 4 2GB 以上)Raspberry Pi Zero 2 W(建議 Pi 4 2GB 以上)不需本地硬體
閒置記憶體30–80 MB(純 DNS 約 55 MB,開 DoH 約 65 MB)50–120 MB(純 DNS 約 85 MB,搭 Unbound 約 130 MB)0 MB
閒置 CPU< 1%< 1%0%
最大 QPS10,000+ QPS10,000+ QPS雲端擴展
延遲(快取命中)0.2–1 ms0.2–1 ms12–15 ms(受網路往返影響)

這張表最值得看的一行是延遲。 自架 DNS 在本地快取命中時是 0.2–1 毫秒,NextDNS 因為要走網際網路到最近節點,大約 12–15 毫秒。日常上網感受不一定明顯,但如果你家有大量裝置或在意極致反應速度,本地自架仍然有優勢。

NextDNS 免費版限制與價格

方案價格關鍵限制
Free$0/月每月 30 萬次查詢上限。超過不會斷網,但會降級成「不過濾、不記錄」的普通 DNS,直到下個月歸零
Pro$1.99/月或 $19.90/年(年繳省約 17%)查詢數無上限
Business$19.90/月或 $199/年每 50 名員工為一計費單位,含 Email 技術支援
Education$19.90/月或 $199/年每 250 名學生為一計費單位

免費版與付費版都是裝置數無限制、Profiles 無限制——這點對「一個人管全家裝置」其實很夠用。

NextDNS 最大的價值在跨網域防護:手機離家改用 4G/5G 或外面的 Wi-Fi 時,只要裝置設的是 NextDNS 的 DoH/DoT 位址,封鎖與家長控制依然生效。這是自架方案天生做不到的事(除非回家走 VPN)。

Pi-hole v6 在 2026 年改了什麼?

Pi-hole 在 v6 做了相當大幅度的重構,如果你印象還停留在「Pi-hole 要裝 lighttpd + PHP」,那是舊版本的事了:

  1. 廢除 lighttpd 與 PHP:Web Server 與 REST API 直接嵌入 pihole-FTL 單一 C/C++ 二進位檔(內建 Lua 引擎),系統依賴與資源消耗大幅下降。
  2. 管理介面原生支援 HTTPS:可直接設定自訂憑證或使用自動生成憑證。
  3. 設定檔統一:過去的多個 .conf 全部整合進單一 /etc/pihole/pihole.toml
  4. 原生 REST API 與伺服器端分頁:Query Log 在大量日誌下載入速度明顯提升。
  5. Docker 映像檔瘦身:基底從 Debian 換成 Alpine Linux,映像檔從 113 MB 降到 38 MB
  6. 支援訂閱白名單(Subscribed Allowlists):白名單也能像黑名單一樣定期自動同步。

該選哪一個?

你的情況建議
開箱即用、要原生加密 DNS、家中有小孩要一鍵封鎖特定 App/影音平台AdGuard Home
你是 Homelab 玩家、偏好模組化(搭 Unbound 做完全不依賴商業 DNS 的遞迴解析)、要看極深度 Query 日誌Pi-hole v6
不想維護硬體、常在外面用行動網路、甚至要遠端幫家人的手機加防護NextDNS

AdGuard Home 最新版本與 2026 年亮點

撰寫當下的穩定版是 v0.107.79(2026-08-18 發布),新一代架構的 v0.108 系列仍在 Beta。0.107.x 這條線有幾個實用更新:

  1. Optimistic DNS Caching(樂觀快取):即使快取紀錄已過期,也會先立刻回傳過期結果給客戶端,同時在背景非同步更新上游,明顯降低使用者感受到的延遲。
  2. 上游負載平衡模式:新增 upstream_mode 設定,可選 load_balance(加權隨機)、parallel(平行同時查詢)、fastest_addr(回傳最快回應的 IP)。
  3. DoH 反向代理優化:新增 http.doh 路線設定與 insecure_enabled 選項,讓 Nginx/Traefik 等反向代理在 HTTP 下更容易封裝與轉發 DoH 流量。
  4. 一鍵封鎖服務擴充到 200+ 種(TikTok、YouTube、Discord 等),並支援每週七天的定時阻擋時間表
  5. 客戶端名稱解析來源可控制:可自行決定是否從 ARP 表、rDNS、DHCP 租約或 hosts 檔讀取裝置名稱。

實戰部署:Docker Compose

AdGuard Home 是單一 Go 二進位檔、無外部依賴,用 Docker 部署是最乾淨的方式。

# docker-compose.yml
services:
  adguardhome:
    container_name: adguardhome
    image: adguard/adguardhome:latest
    restart: unless-stopped
    # 重要:用 host 網路才能看到每台裝置的真實 IP(見下方陷阱 1)
    network_mode: "host"
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf

如果你不想用 host 網路,改用 ports 映射也行,但要記得這個代價:

    ports:
      - "53:53/tcp"      # DNS over TCP
      - "53:53/udp"      # DNS over UDP
      - "3000:3000/tcp"  # 首次初始化精靈
      - "8080:80/tcp"    # Web 管理介面(初始化完成後)
      - "443:443/tcp"    # DoH(選用)
      - "853:853/tcp"    # DoT(選用)

啟動:

docker compose up -d
docker compose logs -f adguardhome

不想用 Docker?Linux 一鍵安裝

curl -s -S -L https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm64.tar.gz | tar xvz
cd AdGuardHome
sudo ./AdGuardHome -s install

arm64 請依你的架構換成 amd64armv7-s install 會直接註冊成系統服務。)

初始化精靈

  1. 瀏覽器打開 http://<伺服器IP>:3000
  2. 設定 Web 管理介面監聽 Port(避免跟本機 80 埠衝突,建議改 3000 或 8080)。
  3. 設定 DNS 服務監聽介面(Port 53)。
  4. 建立管理員帳號密碼,完成。

設定路由器:讓全網都走 AdGuard Home

方法作法適用情況
方法 1(推薦)進入路由器後台的 LAN/DHCP 設定,把「主 DNS 伺服器」填上 AdGuard Home 的靜態 IP路由器支援自訂 DNS(多數現代路由器都可)
方法 2關閉路由器的 DHCP,改用 AdGuard Home 的內建 DHCP 伺服器自動指派路由器不給改 DNS 時

提醒:AdGuard Home 的 IP 一定要設成靜態 IP(或在路由器綁定 MAC),否則重開機換 IP,全家會直接斷網。

啟用 DoH/DoT 加密(自架派的關鍵優勢)

Pi-hole 要加密上游得另外掛 proxy,AdGuard Home 則是內建:

  1. 進入後台 「設定」→「加密設定(Encryption Settings)」
  2. 勾選啟用加密,填入你的伺服器域名(Server Name)。
  3. 指定憑證路徑(certificate_path)與私鑰路徑(private_key_path)。
  4. 啟用 Port 443(DoH)與 Port 853(DoT)。

憑證可以用 Let’s Encrypt 簽發——如果你還不熟憑證自動化,可以參考本站的 Caddy 完整教學,Caddy 會自動申請與續期憑證,把 AdGuard Home 放在它後面做反向代理即可。

五個一定會踩到的陷阱

陷阱 1:Docker 用 Bridge 網路,所有裝置 IP 都變成 172.x.x.x

這是最常見的問題。用預設 bridge 網路時,AdGuard Home 看到的客戶端請求 IP 全部是 Docker 網關 IP,導致你無法針對個別裝置套用不同規則

解法:設定 network_mode: "host",或改用 Macvlan 讓容器直接取得實體 LAN IP。如果你只想「全家套同一套規則」那沒差,但只要想「小孩的平板多擋一點」,就必須解決這個。

陷阱 2:DNS Rewrites 不能指定 Port

AdGuard Home 的 DNS Rewrites 只能把網域解析到某個 IP(例如 nas.local192.168.1.100),無法在 DNS 層級指定連接埠(不能寫 :8080)。

解法:由反向代理(Nginx Proxy Manager、Traefik、Caddy)監聽 80/443,再轉發到內部服務的真實 Port。

陷阱 3:Port 53 被 systemd-resolved 佔用

Ubuntu/Debian 預設會跑 systemd-resolved,佔住 53 埠,AdGuard Home 會起不來。排解步驟:

# 1. 關掉 systemd-resolved 的 DNS stub listener
sudo sed -i 's/#DNSStubListener=yes/DNSStubListener=no/' /etc/systemd/resolved.conf

# 2. 重啟服務
sudo systemctl restart systemd-resolved

# 3. 確認 53 埠已釋放(沒有輸出代表成功)
sudo ss -tulpn | grep :53

陷阱 4:為什麼 YouTube、Twitch、Spotify 的廣告還是擋不掉?

因為同域名廣告:這些平台的廣告與影片內容由同一個 CDN/網域送出,DNS 看不出請求內容的差別。你一封鎖廣告域名,影片就跟著不能播。這類廣告只能靠瀏覽器端外掛(uBlock Origin)處理,DNS 層做不到,這不是設定錯誤。

陷阱 5:裝置硬編碼 DNS 或自帶 DoH,直接繞過你

  • 硬編碼 DNS:不少智慧電視、Chromecast、手機 App 直接在程式裡寫死 8.8.8.81.1.1.1,根本不甩你路由器的設定。解法是在路由器防火牆把 Port 53 做重定向(DNAT),強制抓回 AdGuard Home。
  • App 內建 DoH/QUIC:部分 App 自己帶加密 DNS,繞過系統設定。
  • Apple Private Relay:Safari 會用 Apple 的加密 DoH 繞過區域網路 DNS。AdGuard Home 內建機制會回應特定領域查詢來阻擋 Private Relay,迫使 Apple 裝置降級回使用 LAN DNS。
  • VPN 全隧道:開全隧道 VPN 時所有 DNS 會被 VPN 接管;要用 AdGuard Home 就得改設 Split-Tunneling(分流),手動把 DNS 指到 AdGuard Home。

推薦的封鎖清單

AdGuard Home 同時支援 Adblock 格式規則與標準 hosts 格式,以下三份是社群最常推薦的組合,可設定定時自動同步更新:

清單特性
HaGeZi Multi PRO平衡性極佳,誤擋率低,適合日常使用
AdGuard DNS Filter官方維護,與 AdGuard Home 整合最順
OISD以「幾乎不誤擋」為設計目標,適合怕擋壞東西的人

自架之後,把它接進你的監控體系

AdGuard Home 上線後就變成全家網路的關鍵路徑——它掛掉,全家斷網。建議搭配以下自架工具一起用:

常見問題(FAQ)

Q:AdGuard Home 跟 Pi-hole 哪個比較好? 沒有絕對答案。要原生 DoH/DoT、現代化 UI、一鍵封鎖 App 選 AdGuard Home;要龐大社群、模組化架構(搭 Unbound 做遞迴解析)、極深度日誌分析選 Pi-hole v6。兩者都免費,硬體需求也幾乎一樣。

Q:一定要買 Raspberry Pi 嗎? 不用。任何能跑 Linux 的裝置都可以:舊筆電、舊迷你主機、NAS 上的 Docker、VPS,甚至是 Raspberry Pi Zero 2 W 這種低階板子(閒置記憶體約 30–80 MB)。

Q:手機在 4G 行動網路下也能擋廣告嗎? 自架方案要在外面生效,得靠 Tailscale 之類的 VPN 回連,或改用 NextDNS(把裝置的 DoH 位址設成 NextDNS)。這是 NextDNS 唯一明顯贏過自架的地方。

Q:改 DNS 會不會讓網路變慢? 不會,而且通常更快。本地快取命中時只要 0.2–1 毫秒,比走電信商 DNS 更快;同時少下載一堆廣告,頁面反而更輕。

小結

AdGuard Home 是自架清單裡「投入產出比最高」的項目之一:一台低階裝置、一次 Docker 部署、改一個路由器的 DNS 設定,全家所有裝置(包括那些裝不了外掛的電視與家電)就一起受益。它原生支援 DoH/DoT 加密、內建 DHCP 與 200+ 服務一鍵封鎖,是 2026 年要入門網路層廣告阻擋最省事的一條路。

如果你還在挑自架服務的第一個專案,可以搭配本站的 Awesome Selfhosted 自架服務指南一起看,那裡整理了更多值得自架的開源專案。

參考來源

延伸閱讀

📬 訂閱 most.tw 電子報

每週精選 AI 工具教學與技術乾貨,直接送到你的信箱。免費、隨時可退訂。

💬 有問題想討論?加 LINE 聯絡我

歡迎透過 LINE 官方帳號直接留言,我會盡快回覆你的問題。

加入 LINE 好友