一台 NAS,讓全家所有裝置都不再看到廣告。

在 Synology NAS 的 Docker 上安裝 AdGuard Home,在路由器 DNS 層級封鎖全家廣告和追蹤器,不需要每台裝置個別安裝擴充。這篇涵蓋設定步驟、過濾規則與常見問題。

在 Synology NAS 上架設 AdGuard Home:全家封鎖廣告的 DNS 過濾器

瀏覽器裝廣告擋是很多人的習慣,但手機 App 裡的廣告、智慧電視的追蹤器、IoT 裝置偷偷回傳的資料,瀏覽器擴充一個都擋不到。

AdGuard Home 的做法是在 DNS 層級動手:你家裡所有裝置的 DNS 查詢都先經過它,可疑的網域直接回傳「找不到」,廣告在連線階段就被切斷,不只是把它藏起來。

跑在 Synology NAS 的 Docker 裡,它 24 小時在線,不需要每台裝置單獨設定。


🎯 這篇適合誰

你的情況 建議先看哪段
想先了解 DNS 封鎖怎麼運作 先看「AdGuard Home 怎麼封鎖廣告」
已決定裝,直接看安裝步驟 跳到「安裝步驟」
裝好了,想讓路由器套用 跳到「設定路由器 DNS」
想知道封鎖清單怎麼設 跳到「封鎖清單設定」

🛡️ AdGuard Home 怎麼封鎖廣告

一般瀏覽器擴充是在頁面載入後把廣告元素隱藏,AdGuard Home 的機制更底層:

  1. 你的裝置要連到 ads.example.com
  2. DNS 查詢先送到 AdGuard Home
  3. AdGuard Home 發現這個網域在封鎖清單上
  4. 直接回傳「此網域不存在」
  5. 你的裝置根本沒有機會建立連線

這樣做的好處是所有應用程式都受保護——瀏覽器、手機 App、智慧電視、甚至 IoT 裝置,只要連到你家的 Wi-Fi,就自動套用封鎖規則。

AdGuard Home DNS 封鎖流程:查詢先經過封鎖清單比對,廣告網域在連線前就被切斷


📋 安裝前準備

  • 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,跟著設定精靈走:

  1. 選擇網頁介面和 DNS 的監聽位址(通常保持預設即可)
  2. 建立管理員帳號
  3. 設定精靈會提示你把路由器的 DNS 改成 NAS 的 IP

🌐 設定路由器 DNS

這是讓全家裝置都套用 AdGuard Home 的關鍵步驟。

進入路由器管理介面(通常是 192.168.1.1192.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 裝置偷偷回傳的資料。


🔗 延伸閱讀

這篇有幫助嗎? 一台 NAS,讓全家所有裝置都不再看到廣告。