瀏覽器裝廣告擋是很多人的習慣,但手機 App 裡的廣告、智慧電視的追蹤器、IoT 裝置偷偷回傳的資料,瀏覽器擴充一個都擋不到。
AdGuard Home 的做法是在 DNS 層級動手:你家裡所有裝置的 DNS 查詢都先經過它,可疑的網域直接回傳「找不到」,廣告在連線階段就被切斷,不只是把它藏起來。
跑在 Synology NAS 的 Docker 裡,它 24 小時在線,不需要每台裝置單獨設定。
🎯 這篇適合誰
| 你的情況 | 建議先看哪段 |
|---|---|
| 想先了解 DNS 封鎖怎麼運作 | 先看「AdGuard Home 怎麼封鎖廣告」 |
| 已決定裝,直接看安裝步驟 | 跳到「安裝步驟」 |
| 裝好了,想讓路由器套用 | 跳到「設定路由器 DNS」 |
| 想知道封鎖清單怎麼設 | 跳到「封鎖清單設定」 |
🛡️ AdGuard Home 怎麼封鎖廣告
一般瀏覽器擴充是在頁面載入後把廣告元素隱藏,AdGuard Home 的機制更底層:
- 你的裝置要連到
ads.example.com - DNS 查詢先送到 AdGuard Home
- AdGuard Home 發現這個網域在封鎖清單上
- 直接回傳「此網域不存在」
- 你的裝置根本沒有機會建立連線
這樣做的好處是所有應用程式都受保護——瀏覽器、手機 App、智慧電視、甚至 IoT 裝置,只要連到你家的 Wi-Fi,就自動套用封鎖規則。
📋 安裝前準備
- Synology DSM 7.2 以上,已安裝 Container Manager
- 路由器管理介面的存取權限(設定完要改 DNS)
- Port 53 必須可用:AdGuard Home 需要監聽 Port 53(DNS 標準埠)。最常見的佔用元兇是 Synology 自己的 DNS Server 套件——若你裝過,先停用或移除它。
- 管理介面的埠避開 80/443(也別用 3000):DSM 本體或 Web Station 常佔用 80/443;而
3000在設定期間被設定精靈本身佔用。初始設定時把網頁介面改用8088之類的空閒埠(下面會再提醒一次)。
確認 Port 53 是否被佔用:SSH 執行
ss -tulpn | grep :53;查 80 則把:53改成:80。
🛠️ 安裝步驟
1. 建立資料夾
/volume1/docker/adguard/
├── work/
└── conf/
2. 建立 docker-compose.yml
在 /volume1/docker/adguard/ 建立:
version: "3"
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
network_mode: host
volumes:
- /volume1/docker/adguard/work:/opt/adguardhome/work
- /volume1/docker/adguard/conf:/opt/adguardhome/conf
restart: always
為什麼用
network_mode: host(重要,別用預設 bridge):AdGuard 是 DNS 伺服器,如果用 bridge 模式+port 對應,所有裝置的 DNS 查詢來源都會被 NAT 成 Docker 閘道 IP(例如172.x.x.1)——AdGuard 認不出是哪台裝置在查詢,per-client 統計、分裝置規則、查詢日誌全部失去意義。改用 host 模式,容器直接共用 NAS 的網路,AdGuard 就能看到每台裝置真實的內網 IP。代價是 host 模式沒有 port 對應、直接佔用 NAS 的實體連接埠,所以埠衝突要特別小心(見下面的初始設定與常見問題)。
3. 啟動容器
Container Manager → 專案 → 建立,或 SSH 執行:
cd /volume1/docker/adguard
docker compose up -d

4. 完成初始設定
瀏覽器開啟 http://NAS的IP:3000,跟著設定精靈走:
- 網頁管理介面:監聽介面選你 NAS 的內網 IP 或「所有介面」,連接埠改一個空閒埠。⚠️ 別用預設
80(host 模式下會撞 DSM/Web Station);也別填3000——設定精靈本身正佔著 3000,填 3000 會跳出「位址已被使用」而卡住。實測用8088就順利,之後就固定用http://NAS的IP:8088進後台。 - DNS 伺服器:監聽介面選你 NAS 的內網 IP(例如
192.168.1.x)或「所有介面」,連接埠維持53。⚠️ 千萬別選127.0.0.1——那是「僅本機」,只有 NAS 自己連得到,家裡其他手機、電腦、電視全都連不上這台 DNS,等於白設。(連接埠 53 是 DNS 標準埠,客戶端才找得到,也是安裝前要先確認 53 沒被佔用的原因。) - 建立管理員帳號。
- 設定精靈最後會提示你把路由器的 DNS 改成 NAS 的 IP。

⚠️ 反面示範:上圖管理介面與 DNS 都選了
lo - 127.0.0.1(僅本機)。實際設定時,DNS 伺服器的監聽介面請改成你 NAS 的內網 IP 或「所有介面」,否則只有 NAS 自己連得到、其他裝置全部連不上。(管理介面圖中用8088;別填3000,那個埠正被設定精靈佔用。)
🌐 設定路由器 DNS
這是讓全家裝置都套用 AdGuard Home 的關鍵步驟。
進入路由器管理介面(通常是 192.168.1.1 或 192.168.0.1),找到 DHCP 設定,把 DNS 伺服器改為你 NAS 的 IP:
主要 DNS:192.168.1.x(你的 NAS IP)
次要 DNS:1.1.1.1(備用,避免 NAS 關機時斷網)
儲存後,家裡的裝置重新取得 IP 就會套用新 DNS。
如果路由器不支援修改 DNS,可以在每台裝置的 Wi-Fi 設定裡手動指定 DNS。
📋 封鎖清單設定
AdGuard Home 預設已有基本封鎖清單,可以在後台加入更多:
後台 → 過濾器 → DNS 封鎖清單 → 新增封鎖清單
推薦加入的清單:
| 清單名稱 | 用途 |
|---|---|
| AdGuard DNS filter | 廣告和追蹤器(預設) |
| EasyList | 通用廣告封鎖 |
| EasyPrivacy | 追蹤器封鎖 |
| AdAway Default Blocklist | 行動裝置廣告 |
不需要加太多清單,容易造成正常網站被誤封。先從預設清單開始,遇到問題再調整。

上圖預設的 AdGuard DNS filter 已內建十幾萬條規則(畫面顯示 157,189 條),對大多數家庭來說開這一個就很夠用了。
🔧 常用功能
查看查詢日誌
後台 → 查詢日誌,可以即時看到所有裝置的 DNS 查詢記錄,包含哪些被封鎖、哪些通過。這也是排查「某個網站連不上」的最快方式。

這就是它實際運作的樣子:廣告網域
pagead2.googlesyndication.com被 AdGuard DNS filter 紅色標記「已封鎖」,而www.google.com正常放行。想自己測,可以在裝置上查幾個已知的廣告網域(如pagead2.googlesyndication.com、ad.doubleclick.net),再回這裡看是不是變紅。
手動放行被誤封的網域
查詢日誌裡找到被誤封的網域 → 點選 → 加入白名單,之後這個網域就不會被封鎖。
自訂封鎖
後台 → 過濾器 → 自訂過濾規則,可以手動加入特定網域:
||ads.specificsite.com^ ← 封鎖這個網域
@@||allowedsite.com^ ← 強制放行這個網域
👨👩👧 進階:分裝置規則與一鍵封鎖服務
前面堅持用 host 模式,最大的回報就在這裡——因為 AdGuard 看得到每台裝置的真實內網 IP,才解鎖了兩個對家庭最實用的功能。
分裝置套不同規則(Per-client)
設定 → 用戶端設定 → 新增用戶端,用 IP(或 MAC)指定一台裝置後,就能只對它套用不同的封鎖清單、開關安全搜尋、甚至擋特定服務。例如:小孩的平板套嚴格清單,大人的手機維持一般。查詢日誌裡也會用裝置名稱取代冷冰冰的 IP,一眼看出是誰在查什麼。
如果你的查詢日誌裡每台裝置都顯示同一個
172.x.x.1,代表還在用 bridge 模式——回頭把 compose 改成network_mode: host,per-client 才有意義。
一鍵封鎖服務(簡易家長控制)
點上方過濾器 → 封鎖的服務,可以用開關直接封鎖 YouTube、TikTok、Instagram、Facebook 等數十個熱門服務,不必自己找網域(這裡設的是全域、對所有裝置生效)。若只想擋特定裝置(例如小孩的平板),改到 設定 → 用戶端設定 編輯那台裝置、在它的「封鎖的服務」裡勾選——這才是「只擋小孩裝置的 TikTok,不影響其他人」的做法,也是前面堅持 host 模式的回報。
另外,設定 → 一般設定裡的「家長控制」(擋成人內容)和「安全搜尋」(強制 Google/YouTube/Bing 進安全模式)也是實用的家長控制開關,可一併開啟。
上游 DNS 與備援(建議填兩個以上)
設定 → DNS 設定 → 上游 DNS 伺服器可以指定解析器。這裡有個實務重點:建議至少填兩個上游做備援,例如:
https://dns10.quad9.net/dns-query
https://cloudflare-dns.com/dns-query
上游模式選「負載平衡」或「平行請求」。原因是:單一 DoH 上游偶爾會連線不穩,日誌會出現 upstream ... unexpected EOF——少數網域間歇解析失敗、網頁要重整才開。多一個上游,其中一個抽風時另一個立刻頂上,解析就穩了。
記住前面的觀念:上游只負責「解析 AdGuard 放行的網域」,不影響擋廣告。所以換上游、加上游純粹是為了速度與穩定度,跟封鎖效果無關。
❓ 常見問題
Q:AdGuard Home 能擋 YouTube 廣告嗎?(最常見的誤會)
不能。 YouTube 的廣告和影片是從同一批伺服器(googlevideo.com)送出的,DNS 層級無法分辨哪個是廣告、哪個是影片——擋了廣告就等於擋掉影片。這是 DNS 封鎖的先天限制:它擋得掉「從獨立廣告網域來的廣告」(網頁橫幅、追蹤器、多數 App 廣告),但擋不掉「與內容同源的第一方廣告」——YouTube、Twitch、Spotify、FB/IG 動態內廣告都屬這類。
要擋 YouTube 廣告,電腦上請用瀏覽器擴充 uBlock Origin,或直接用 YouTube Premium。AdGuard Home 的價值在於「全網路、全裝置擋掉那些獨立廣告與追蹤網域」,這是瀏覽器擴充做不到的部分,兩者其實是互補的。
Q1:裝了 AdGuard Home,某些網站打不開怎麼辦?
先去後台查詢日誌,看看那個網站的網域有沒有被封鎖。如果有,加入白名單。誤封通常是清單太激進,減少清單數量或針對性加白名單可以解決。
Q2:NAS 關機或重開機期間,家裡會斷網嗎?
如果路由器的次要 DNS 設了備用(例如 1.1.1.1),NAS 暫時無法連線時,部分裝置可能切換到備用 DNS;這能維持解析,但會繞過 AdGuard Home。是否切換也取決於路由器與客戶端行為。
Q3:手機 4G 時也有效嗎?
沒有,AdGuard Home 只對連到你家 Wi-Fi 的裝置有效,因為 4G 走的是電信商的 DNS。要在外也有效,需要搭配 Tailscale 把手機接回家裡的 VPN。
Q4:和路由器本身的廣告封鎖功能有什麼差?
路由器廠商的封鎖清單通常更新慢、設定彈性低。AdGuard Home 的清單更新頻繁,後台介面完整,可以精細控制每條規則。
✨ 總結
AdGuard Home 可以讓同一個網路內的多台裝置共用 DNS 過濾,但它不是一次設定後就完全不用維護:過濾清單、例外規則、DNS 可用性與誤封都要定期檢查;而且部分 App 或加密 DNS 可能繞過本機 DNS。
官方文件與限制
它解決的不只是網頁廣告,而是整個網路層級的追蹤器和可疑連線,包括 App 裡面的廣告和 IoT 裝置偷偷回傳的資料。