開啟 3 天免費試用
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。


Pi-hole 安裝宜先從一部客戶端開始,確認過濾與還原方法都可行。把服務裝在專用區域網絡主機,只讓測試電腦使用它;驗證封鎖和復原後,才考慮增加裝置。
關鍵要點:
- 路由器原有 DNS 分發與 DHCP 服務維持不變。
- 管理密碼保護後台;防火牆限制 DNS 查詢來源。
- 查詢到達、封鎖、例外、繞行路徑及還原須分別核對。
- 關閉 Pi-hole 主機前,先還原客戶端 DNS。
本文以 Ubuntu 24.04 LTS x64 全新原生安裝,以及一部獲授權管理的 Windows 11 區域網絡客戶端為範圍。發行參考為 Core v6.4.3、FTL v6.7.1、Web v6.6,三個組件各自編號;繼續前須核對官方安裝程式取得的穩定版本組合。本文按官方文件整理,未進行完整端到端實測。[1][2][3]
承擔長期 DNS 維護前,可用自建服務的維護框架評估責任。Pi-hole 過濾域名查詢,不能保證移除所有廣告;DNS 廣告過濾的原理說明實際界限。
先準備 sudo 權限、本機控制台、穩定區域網絡地址和客戶端原有 DNS 記錄。受管理電腦、共用生產主機或未獲授權網絡不應繼續。升級既有安裝前,先在 Settings → Teleporter → Export 匯出設定,並備份相容主機環境;把資料庫複製回舊版本不等於受支援的降級還原。[14]
在 Windows 開啟「設定 → 網絡和 Internet」,選擇目前的 Ethernet 連接或 Wi-Fi 網絡,記下 DNS 自動/手動模式、所有 IPv4/IPv6 伺服器與加密 DNS 設定。IP 地址和閘道分配不變。瀏覽器的「安全 DNS」另行記錄,它未必沿用 Windows 解析器。[5]
Ubuntu 須記錄主機地址、區域網絡介面、原有解析器和防火牆規則。在路由器既有 DHCP 服務預留主機地址,或採用管理員批准且不與租約衝突的固定設定;Pi-hole 不接管 DHCP。防火牆若以 IP 識別測試客戶端,也為該電腦預留地址。[4]
保存 /etc/resolv.conf 及其符號連結目標、resolved 配置,並記下 /etc/systemd/resolved.conf.d/90-pi-hole-disable-stub-listener.conf 是否已存在;既有檔案須保留原內容。先記錄運作正常的基線:
readlink -f /etc/resolv.conf
resolvectl status
getent hosts example.com
離線保存復原清單:原 DNS、Pi-hole/客戶端地址、管理入口、新增規則。查詢日誌含域名與客戶端身份,只在本機保留測試時段,不公開完整日誌或備份。
安裝前,在 Ubuntu 查看監聽服務與規則:
sudo ss -lntup
sudo ufw status numbered
DNS 需要 TCP 及 UDP 53;管理介面通常用 80/443,也可能選用後備連接埠。若與無關服務衝突便停止。安裝程式會自行停用 systemd-resolved 的 Stub Listener,服務本身繼續運作;FTL 啟動前,主機 DNS 可能中斷。不要自行停用系統解析器。本文不配置 DHCP 或 NTP。[4][15]
採用預設拒絕入站、保留回環流量的防火牆策略。啟用或改動前,保留已批准 SSH 規則及本機控制台救援途徑。以下例子只向已審查的 UFW 策略加入一部客戶端與一個管理來源,必須替換介面及兩個示例地址:
LAN_IF='enp1s0'
CLIENT_V4='192.168.1.25'
ADMIN_V4='192.168.1.10'
sudo ufw allow in on "$LAN_IF" from "$CLIENT_V4" to any port 53 proto udp
sudo ufw allow in on "$LAN_IF" from "$CLIENT_V4" to any port 53 proto tcp
sudo ufw allow in on "$LAN_IF" from "$ADMIN_V4" to any port 443 proto tcp
sudo ufw status numbered
較早的廣泛放行仍然有效,只移除你負責且與邊界衝突的規則。UFW 未啟用或未建立入站拒絕策略時,由主機管理員先完成,再接入客戶端。只放行實際 HTTPS 連接埠,HTTP 管理入口保持關閉。[6]
IPv6 必須受同等限制;只試 IPv4 時,IPv6 DNS 存取繼續拒絕。無須路由器連接埠轉發、公開 DNS 或訪客網存取。Pi-hole 的 Allow only local requests 允許本地子網,而非只有指定電腦;保留此模式,再以防火牆收窄。不要為排障選 Permit all origins。[7]
先下載及閱讀官方安裝程式,再由主機操作者使用 sudo 執行:
wget -O basic-install.sh https://install.pi-hole.net
less basic-install.sh
sudo bash basic-install.sh
pihole version
pihole status
sudo pihole setpassword
選定預期區域網絡介面及網絡政策允許的上游 DNS,可選 DHCP 保持停用。服務身份由安裝程式管理,不改用個人管理帳戶執行,也不隨意改檔案擁有權繞過錯誤。以互動方式設定密碼,可避免密碼出現在命令參數。[8][9]
核對安裝版本與參考,差異須閱讀發行變更,不混裝舊組件。安裝失敗時不要改 Windows DNS。若停用 Stub Listener 後主機無法解析,使用本機控制台;只有確認該 drop-in 安裝前不存在、現在僅含安裝程式的 [Resolve]/DNSStubListener=no 設定,才執行:
sudo systemctl stop pihole-FTL
sudo rm -- /etc/systemd/resolved.conf.d/90-pi-hole-disable-stub-listener.conf
sudo systemctl restart systemd-resolved
getent hosts example.com
逐行執行,任何命令出錯便停止。檔案原先已存在或內容曾被改動時,由管理員按備份還原。重試安裝前核對 resolvectl status、原 /etc/resolv.conf 連結目標,以及主機正常解析。還原失敗便保留救援入口,不盲目覆寫解析配置。[15][16]
首次 HTTPS 登入時,在獲准 Windows 管理裝置開啟 Firefox about:profiles 頁面,記下原有預設設定檔,建立測試設定檔並在新瀏覽器中啟動。[18]Pi-hole 產生的憑證最初不獲瀏覽器信任;先在主機本機控制台記下 CA 指紋:
sudo openssl x509 -in /etc/pihole/tls_ca.crt -noout -fingerprint -sha256
只經已有可信管理途徑複製 tls_ca.crt,不要複製 tls.pem 或私鑰。在 Firefox 開啟「設定 → 私隱與安全 → 憑證 → 檢視憑證 → 憑證機構 → 匯入」,選擇該 CA,與控制台記錄比對指紋,吻合後才允許網站信任。CA 信任涵蓋它簽發的所有憑證,因此只用於此次測試設定檔。[17]
存取名稱須符合憑證及 /etc/pihole/pihole.toml 的 webserver.domain。管理裝置 DNS 無法解析名稱時,先記下原狀,再以管理員權限於 Windows C:\Windows\System32\drivers\etc\hosts 暫時加入 LAN_IP hostname,替換兩個值。使用該名稱及已放行 HTTPS 連接埠存取;名稱或信任仍出現警告便停止,不繞過驗證。登入後核對 DNS 監聽模式、封鎖已啟用,並暫時啟用查詢日誌;登入成功不代表 DNS 存取受限。[10][17]
編輯目前連接的 DNS server assignment,改為手動,以 Pi-hole 區域網絡 IPv4 地址作首選 DNS。IP 分配不變,不填公共後備 DNS,以免另闢解析路徑。Pi-hole 的 53 連接埠提供普通 DNS,不能套用 DoH 範本;逐裝置配置不改路由器 DNS。[5][11][13]
另查 IPv6 DNS。仍有其他活躍解析器時,只能稱為 IPv4 驗證,不能聲稱整部電腦均被過濾。雙棧驗證須先有穩定 Pi-hole IPv6 地址、只允許指定客戶端的 IPv6 來源,再設定該解析器;未能辨認全部路徑便停止。
瀏覽器安全 DNS 若繞過系統,僅在獲授權測試設定暫時停用並記錄。VPN、代理及機構政策維持原樣。Windows 原本已不能解析時,先用裝置排障次序定位;主機本身的解析問題轉Ubuntu DNS 故障檢查。
在管理裝置開啟 Pi-hole 查詢日誌。Windows 對 example.com 作新查詢,先指定 Pi-hole,再經預設解析器;把示例主機地址換成實際值:
nslookup example.com 192.168.1.53
nslookup example.com
核對日誌的時間、客戶端、域名及允許狀態。然後於 Domains 加入 example.com 的 exact deny 精確拒絕項,註明測試用途,不用萬用字元或正則規則。重做兩次查詢,以封鎖狀態判斷,不要求特定回應地址,因為不同封鎖模式的答案可以不同。[9]
再為同一域名加入 exact allow 精確允許項,示範單項例外;精確允許優先於精確拒絕。確認兩項都套用至客戶端所屬群組,新安裝通常使用預設群組。查詢應獲允許;只刪臨時允許項後應再封鎖,最後刪臨時拒絕項並確認正常解析。不要在清理時刪除既有規則。[12]
這驗證的是 DNS 決策,並非網頁外觀。快取頁面、同域廣告和瀏覽器獨立解析仍可能顯示廣告。若目的是改變公共網絡出口,可比較DNS 工具與全流量隧道;Pi-hole 安裝不會提供該功能。
下表列出讀者應做的檢查,並非作者已取得的結果。非授權來源檢查需要另一部你控制的裝置;沒有便記為未執行,不能宣稱邊界已實測。
| 檢查方法 | 預期現象 | 失敗時處理 |
|---|---|---|
| 指定及預設解析器的新查詢 | Pi-hole 記下相應客戶端與域名 | 檢查地址、介面、規則及其他解析器 |
| 正常與精確拒絕域名 | 正常允許,測試域名記為封鎖 | 檢查規則啟用、群組和上游解析 |
| 加入再移除精確允許項 | 例外生效,移除後再封鎖 | 核對優先次序與客戶端群組 |
| 查看 IPv4、IPv6、瀏覽器 DNS | 每條聲稱覆蓋的路徑都經 Pi-hole | 收窄結論或完成遺漏路徑 |
| 未列入名單的自有裝置查詢 | UDP、TCP DNS 均不提供服務 | 先修正廣泛防火牆放行 |
| 未列入名單裝置存取管理介面 | 無法開啟後台 | 限制實際 Web 連接埠,包括 IPv6 |
| 還原客戶端原有 DNS | 預設新查詢不依賴 Pi-hole 正常運作 | 核對原 DNS 模式及地址 |
逾時本身不證明防火牆拒絕;須在 Pi-hole 運作時比較兩個來源。TCP 另行測試,可在 Windows nslookup 互動模式使用 set vc。無須外部掃描。
如果單裝置試用已經不夠、還需要按域名使用不同的上游解析器,下一步可以看按域名分流上游的 AdGuard Home。
Windows 須精確回復保存的設定:原來自動便恢復自動,原來手動便填回完整 DNS 列表與加密設定,瀏覽器也回復原狀。停止 Pi-hole 前,先確認預設新查詢與原本正常的網頁可用。Microsoft DNS 重設會採用 DHCP 提供的伺服器,不能代替恢復原有手動列表。[11]
核對目前項目身份後,只刪本次臨時域名項與新增防火牆規則,還原日誌設定。若退役專用安裝,確定客戶端不再依賴才用官方解除安裝程式。備份保密,確認復原前保留主機救援途徑。[9]
在 Firefox 憑證機構中,只移除符合已記錄指紋的 CA,恢復原有預設設定檔,並只還原此次暫時 hosts 項。官方解除安裝程式會移除上述 resolved drop-in,之後仍須核對主機 DNS;安裝未完成時改用步驟 3 的條件式還原。[16][17][18]
可以。將一部獲授權客戶端的 DNS 直接設為 Pi-hole 區域網絡地址,保留路由器原有 DNS 分發及 DHCP 服務。
不必。本文使用受支援的 Ubuntu x64 主機,所述原生安裝方法不要求使用 Raspberry Pi 硬件。
管理介面與 DNS 的連接埠及存取控制不同。應檢查 DNS 服務與 53 連接埠兩種協議,而不是削弱後台認證。
DNS 過濾只封鎖匹配域名,無法移除允許域名內的全部廣告;瀏覽器解析及快取也會改變畫面。
這次受控試用不加。後備解析器會形成繞行路徑;需要復原時,還原原有 DNS 配置較能保持結果清晰。
可以限定只試 IPv4,但必須說明範圍;其他 IPv6 解析器可能仍獨立運作,不能計入已驗證的過濾覆蓋。
不必。先還原客戶端 DNS 並核對解析;移除所有依賴後,是否解除安裝是另一項主機管理決定。
免責聲明:本文依據文件編寫,不代表已完成裝置實測。只操作獲授權裝置,並保留有效復原途徑。
來源:
Sources checked 2026 年 10 月 11 日。
延伸閱讀:
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。