Pi-hole 封唔到廣告?部分智能家居可能用加密 DNS 繞路
3C 產品

Pi-hole 封唔到廣告?部分智能家居可能用加密 DNS 繞路

圖片:via XDA Developers — https://www.xda-developers.com/smart-home-gadgets-ignoring-pi-hole-encrypted-dns/
TechLab 編輯部(譯)·

睇 query log 同 firewall rule,先知邊部裝置冇跟 router DNS

件事點解值得理

Pi-hole 好多人都係咁裝:router DHCP 派 Pi-hole 做 DNS,跟住 dashboard 見到一堆廣告 domain 俾攔低,就以為全屋裝置都乖乖跟規矩。XDA 作者 Korbin Brown 今次講嘅位就係,部分智能喇叭、智能電視、電視盒同 IoT 裝置,可能根本冇問你部 Pi-hole,直接走去 Google 8.8.8.8、Cloudflare 1.1.1.1,甚至用 DoH / DoT 加密 DNS 出街。Pi-hole 見唔到 query,自然冇嘢可以封。

AdGuard Home 加密 DNS 設定頁面截圖

圖片:AdGuard DNS Knowledge Base

DHCP 只係派路牌

Pi-hole 官方文件本身都係叫你喺 router 設 DHCP,等 client 拎到 Pi-hole 做 DNS server;問題係 DHCP 只係派設定,唔係強制執法。有啲裝置 firmware 寫死 DNS,有啲 app 自己開加密 DNS,有啲 Android 裝置開咗 Private DNS,結果就係你喺 Pi-hole block list 加幾多 telemetry domain 都好,嗰部裝置可以完全冇 query log。最實用嘅第一步唔係即刻亂封 IP,而係開 Pi-hole Query Log,逐部裝置開機、開 app、播片,睇下有冇合理 domain 由嗰個 client IP 走入嚟。

Pi-hole 官方文件入面 OPNsense firewall 規則示例截圖

圖片:Pi-hole documentation

DoT 易處理,DoH 麻煩好多

DoT 通常用 TCP/UDP 853,Cloudflare 官方文件都寫明 1.1.1.1 DoT 走 standard port 853,OpenWrt 文件亦有示例用 firewall 拒絕 LAN 出 WAN 嘅 853。呢類做法相對乾淨:IoT VLAN 或 guest network 入面,除咗你自己嘅 DNS resolver,其餘 outbound 53853 都封或者 redirect。未加 rule 前先記低邊部裝置有問題,加完再睇 query log,有冇返到 Pi-hole 或 AdGuard Home。

DoH 唔好當有永久清單

DoH 難搞係因為佢走 HTTPS 443,Cloudflare 文件講得好直:同普通網頁流量同 port 同 protocol,所以好難喺 LAN 入面單靠 port 分得開。Google Public DNS 亦公開咗 dns.google/dns-query 呢類 DoH API endpoint。你可以喺 router firewall 封已知 DoH provider 嘅 domain 或 IP,但 IP 會轉,CDN 會轉,網上 copy 返嚟嘅清單好快過期;封得太狠,某啲 app、電視盒登入、語音助理或者 streaming 功能都可能出事。呢度要當維護工作,唔係一次設定就收工。

屋企應該點落手

實做可以分三層。第一,router DHCP / IPv6 RA 都派 Pi-hole 或 AdGuard Home,唔好淨係設 IPv4,因為好多漏 DNS 嘅 case 其實係 IPv6 冇跟住做。第二,用 firewall 把普通 DNS 53 redirect 去你部 resolver,OpenWrt 文件叫呢招做 intercept DNS,Pi-hole 官方 OPNsense 文件亦提到可封非 Pi-hole 嘅 DNS request;記得排除 Pi-hole 自己,避免 resolver 出街查上游 DNS 時打圈。第三,IoT VLAN 或 guest network 只准出必要 port,同准佢哋問你指定 DNS,唔好畀智能電視、IP cam、掃地機同平價電視盒直接掂到主 LAN。

加密 DNS 本身冇錯

DoH 同 DoT 本意係保護 DNS,喺公共 Wi-Fi、公司 guest Wi-Fi、酒店網上環境,避免中間人偷睇或改 DNS,呢點係好事。問題出喺智能家居裝置好多時冇畀用家揀 DNS policy,甚至用家介面完全睇唔到。屋企已經自建 Pi-hole / AdGuard Home 嘅話,你就係想集中做 blocking、logging 同家長控制;如果廠商自己繞過你部 resolver,你對屋企 LAN 嘅控制就會少咗一截。Pi-hole 冇壞,係你要用 firewall 幫佢守住出入口。

最後要有心理準備

封 DNS 繞路唔係愈硬愈好。先用 query log、router log 或 packet capture 搵出邊部裝置有異常,再逐條 firewall rule 加,逐部測功能;出問題就回退,唔好一口氣封晒所有 DoH endpoint。用開 Pi-hole、AdGuard Home、OpenWrt、UniFi 或 OPNsense 管屋企 LAN 嘅人,下一步最值得做嘅唔係加更多 block list,而係確認所有 DNS query 真係有經你信任嗰部 resolver。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook