在 Synology NAS 上架設 AdGuard Home:全家封鎖廣告的 DNS 過濾器
瀏覽器裝廣告擋是很多人的習慣,但手機 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 標準埠)。如果你的 NAS 已有其他服務佔用 53,需要先處理
確認 Port 53 是否被佔用:SSH 執行
ss -tulpn | grep :53
🛠️ 安裝步驟
1. 建立資料夾
/volume1/docker/adguard/
├── work/
└── conf/
2. 建立 docker-compose.yml
在 /volume1/docker/adguard/ 建立:
version: "3"
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
volumes:
- /volume1/docker/adguard/work:/opt/adguardhome/work
- /volume1/docker/adguard/conf:/opt/adguardhome/conf
ports:
- 53:53/tcp
- 53:53/udp
- 3000:3000/tcp
- 80:80/tcp
restart: always
Port 80 用於初始設定精靈,設定完成後可以從 compose 移除,改用 3000。
3. 啟動容器
Container Manager → 專案 → 建立,或 SSH 執行:
cd /volume1/docker/adguard
docker compose up -d
4. 完成初始設定
瀏覽器開啟 http://NAS的IP:3000,跟著設定精靈走:
- 選擇網頁介面和 DNS 的監聽位址(通常保持預設即可)
- 建立管理員帳號
- 設定精靈會提示你把路由器的 DNS 改成 NAS 的 IP
🌐 設定路由器 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 | 行動裝置廣告 |
不需要加太多清單,容易造成正常網站被誤封。先從預設清單開始,遇到問題再調整。
🔧 常用功能
查看查詢日誌
後台 → 查詢日誌,可以即時看到所有裝置的 DNS 查詢記錄,包含哪些被封鎖、哪些通過。這也是排查「某個網站連不上」的最快方式。
手動放行被誤封的網域
查詢日誌裡找到被誤封的網域 → 點選 → 加入白名單,之後這個網域就不會被封鎖。
自訂封鎖
後台 → 過濾器 → 自訂過濾規則,可以手動加入特定網域:
||ads.specificsite.com^ ← 封鎖這個網域
@@||allowedsite.com^ ← 強制放行這個網域
❓ 常見問題
Q1:裝了 AdGuard Home,某些網站打不開怎麼辦?
先去後台查詢日誌,看看那個網站的網域有沒有被封鎖。如果有,加入白名單。誤封通常是清單太激進,減少清單數量或針對性加白名單可以解決。
Q2:NAS 關機或重開機期間,家裡會斷網嗎?
如果路由器的次要 DNS 設了備用(例如 1.1.1.1),NAS 暫時無法連線時裝置會自動切換到備用 DNS,不會完全斷網,只是暫時沒有廣告封鎖。
Q3:手機 4G 時也有效嗎?
沒有,AdGuard Home 只對連到你家 Wi-Fi 的裝置有效,因為 4G 走的是電信商的 DNS。要在外也有效,需要搭配 Tailscale 把手機接回家裡的 VPN。
Q4:和路由器本身的廣告封鎖功能有什麼差?
路由器廠商的封鎖清單通常更新慢、設定彈性低。AdGuard Home 的清單更新頻繁,後台介面完整,可以精細控制每條規則。
✨ 總結
AdGuard Home 是「一次設定,全家受益」的方案。跑在 NAS 上幾乎不佔資源,一旦設好路由器 DNS,所有裝置自動受保護,不需要再管。
它解決的不只是網頁廣告,而是整個網路層級的追蹤器和可疑連線,包括 App 裡面的廣告和 IoT 裝置偷偷回傳的資料。