
Pi-hole 轉 AdGuard + Unbound:全屋 DNS filter 放 router 有咩著數
XDA 作者轉 setup,重點係 DNS 私隱同維護成本
XDA 呢次其實講緊家居 DNS 架構
XDA 作者 Ayush Pande 喺 2026 年 7 月 5 日寫自己棄用 Pi-hole,改用 AdGuard Home + Unbound 跑喺 OPNsense router 入面。佢個做法係 AdGuard Home 做主要 DNS filter,食 port 53;Unbound 改聽 5335,AdGuard 再交放行咗嘅查詢去 127.0.0.1:5335 做 recursive resolver。呢篇屬於個人 setup 分享,冇 TechLab 實測數字,重點係一個屋企 LAN 點由「逐件裝置自己擋」變成「router 統一管 DNS」。
Pi-hole 仍然係好成熟嘅選擇。Pi-hole 官方文件講到好清楚:佢係 DNS sinkhole,可以保護全 LAN 裝置,唔使逐部安裝 client,仲可以選擇做 DHCP server。問題係,Pi-hole 多數跑喺 Raspberry Pi、NAS、VM 或 Docker;當 router、DHCP 同 DNS filter 分開幾部機,壞一部、升級一部、IP 變一次,都可能令全屋 DNS 即刻跪低。
AdGuard 做前台,Unbound 做底層 resolver
AdGuard Home 官方形容佢係全 LAN DNS 層廣告同追蹤封鎖工具,Home Assistant 文件亦寫明,只要裝置用佢做 DNS,手機、平板、laptop、智能電視同 IoT 都會跟同一套規則走。呢點係 Pi-hole 同 AdGuard Home 共同強項;XDA 作者最後揀 AdGuard,主要係因為 UI、per-client rule、query log、Home Assistant integration 都順手過 Unbound 自己嗰套 blocklist 管理。
Unbound 呢邊角色唔同。OPNsense 文件寫 Unbound 係 validating、recursive、caching DNS resolver,新裝 OPNsense 預設已經有佢。實際意思係:AdGuard 負責判斷邊啲域名要擋,放行嘅查詢先交畀 Unbound 去 root、TLD 同 authoritative nameserver 搵答案,再順手 cache。咁做可以避開成批 DNS 查詢交晒畀 Google、Cloudflare 或 ISP resolver,但唔等同匿名;ISP 仍然可能睇到你連去邊啲 IP,部分 DNS 流量亦未必加密。
放喺 router,少啲例外先乾淨
DNS filter 做唔到 browser extension 全部嘢,例如同一個 domain 送出嘅 YouTube / Facebook 廣告,好多時仲要靠 uBlock Origin 呢類 browser 工具。但係放喺 OPNsense router 有一個好實際優勢:DHCP、firewall rule、DNS redirect 同 client 分組都喺同一個控制點。屋企有 NAS、printer、cam、智能電視、遊戲機、Home Assistant,再加幾部手機同 laptop,逐部改 DNS 或裝 blocker 好快變成手尾長。
另一個好處係 policy 易睇。AdGuard 可以按裝置分規則:老人家部 tablet 擋多啲可疑下載站,工作室 NAS 只走保守清單,某個串流服務壞咗就暫停 filter 查一次。呢啲唔係安全神藥,但維護成本低好多;一份 allowlist、一份 blocklist,出事時先睇 query log,易過逐部機估邊個 app 偷走去邊個 resolver。
踩坑位:port、plugin、DoH
最大坑位係 port 53。AdGuard Home 同 Unbound 如果同時聽同一個 interface 嘅 port 53,DNS 會直接撞車;XDA 作者用 AdGuard 做前台、Unbound 聽 5335,係常見做法,但有人會改 5353,重點係 DHCP 派出去嗰個 DNS 地址要指返前台。改之前最好留低 OPNsense config backup,同埋保留一個臨時外部 DNS 方案,唔係嘅話設定錯咗就全屋上網似斷線。
AdGuard Home on OPNsense 仲有支援問題。OPNsense 官方文件有 community plugins,但 Routerperformance 個 os-adguardhome-maxit repo 自己講到明冇 warranty,仲提醒唔好放 production 環境。屋企玩 homelab 問題唔大;細公司或工作室用嚟做 gateway,就要諗清楚更新、rollback、監控同邊個負責救 DNS。呢點原文講得輕,但真係影響日後維護。
仲有 DoH / DoT 繞過。你可以喺 router 層攔截普通 port 53 DNS,甚至 redirect 返本機 DNS,但 browser 或 app 如果自己開 encrypted DNS,DNS filter 未必見到。企業級做法會再加 firewall policy、block known DoH endpoint、MDM 或 browser policy;屋企就要接受有啲 app 會走甩,唔好以為 DNS filter 可以取代 endpoint security。
香港屋企常見限制
香港唔少屋企仍然係 ISP router 加 mesh Wi-Fi,LAN DNS、DHCP、bridge mode 俾唔俾你改,要睇供應商同型號。改到 bridge 或 DMZ,OPNsense 小主機 / 軟路由再接 mesh AP mode,成件事會乾淨好多;改唔到,就可能要用 Pi-hole 或 AdGuard Home 自己做 DHCP,但記住唔好有兩個 DHCP server 同場派 IP,唔係嘅話,之後有問題會好難追。
如果你屋企得兩三部機,裝 browser blocker 加手機私隱 DNS 已經夠做。相反,多人共用、NAS 常開、IoT 多、智能電視多、又有 Home Assistant 或小型工作室 LAN,router 層 DNS filter 先比較抵搞。最貼地嘅分界線好簡單:你係咪成日要幫屋企人處理彈窗、奇怪 downloader、app 亂連域名,或者想一眼睇到全 LAN DNS 行為。
點睇 Pi-hole vs AdGuard Home
Pi-hole 冇輸。佢社群成熟、文件齊,放喺 NAS 或 Raspberry Pi 好穩陣;你而家行得順,冇必要純粹為咗新鮮感搬。AdGuard Home + Unbound on OPNsense 吸引嘅位,係少咗一部常開 DNS box,同埋 per-client policy、Home Assistant 控制、query log 介面順手啲。代價就係 community plugin 風險集中喺 router,DNS 壞起上嚟全屋即刻知。
所以呢套 setup 適合識得救 DNS、肯定期 backup、又想集中管理全 LAN 裝置嘅人。下一步唔使追功能名,先睇自己 router 可唔可以改 DHCP/DNS、OPNsense 小主機會唔會成為單點故障,同埋 blocklist 出事時有冇人識開 allowlist;呢三樣答到,先值得由 Pi-hole 轉過去。
參考來源
- XDA Developers — I ditched Pi-hole for AdGuard + Unbound on my OPNsense router, and my network runs cleaner than ever — original report
- AdGuard Home official overview — 核對 AdGuard Home 官方定位:DNS 層全 LAN 擋廣告、追蹤同可疑域名,免逐部裝 client
- OPNsense Unbound DNS documentation — 核對 Unbound 係 validating recursive caching resolver、預設服務、port、DNSSEC 同 blocklists 相關設定
- Pi-hole documentation overview — 核對 Pi-hole DNS sinkhole 定位、全 LAN 保護、免逐部裝 client 同 DHCP server 選項
- Home Assistant AdGuard Home integration — 核對 AdGuard Home integration 可喺 dashboard 睇 DNS stats,同用 switches 控制 protection/filtering
- OPNsense Repo – Routerperformance — 核對 os-adguardhome-maxit 來自社群 repo,作者寫明冇 warranty,同提醒唔好放 production
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







