快速摘要:DNS RPZ 是 DNS Response Policy Zone 的縮寫,常被拿來做網域封鎖、惡意網域阻擋或導向警告頁。當我們在瀏覽器看到「此網域已經遭到封鎖」這類訊息時,背後常見機制之一就是 DNS RPZ。本文會先講清楚它是什麼,再說明它和 Windows 改 DNS 的關係。
DNS RPZ 是 DNS Response Policy Zone 的縮寫,簡單來說,就是讓 DNS 伺服器在回答查詢之前,先套用一層策略。這層策略可以拿來擋網域、改寫回應,或把使用者導到警告頁,所以當我們看到「此網域已經遭到封鎖」這類訊息時,背後常見機制之一就是 DNS RPZ。
如果你現在比較在意的是「怎麼處理這個封鎖畫面」,先看 Windows 使用者 3 步驟繞過網域封鎖限制 會更直接。本文的角色不是教你立刻排障,而是先把 DNS RPZ 這個名詞講清楚,讓你知道改 DNS 為什麼有時候有效、有時候又沒用。
DNS RPZ 到底在做什麼
一般情況下,DNS 伺服器收到一個網域查詢後,會回傳該網域對應的 IP 位址。但在有 Response Policy Zone 的環境裡,DNS 伺服器可以依照既定規則,對特定網域做不同處理。
BIND 9 官方文件把 RPZ 描述成一種 response policy 機制,能用額外的 policy zone 來改變查詢回應。實際效果可能是回傳不同答案、拒絕回應,或把查詢導向別的結果。請參考:BIND 9 Administrator Reference Manual - Response Policy Zone。
換句話說,DNS RPZ 不是「網站自己壞掉」,也不是「瀏覽器突然多一個錯誤」。它比較像是 DNS 這一層先替你做了判斷,讓你在連到真正網站之前,就先被攔下來。
為什麼會看到「此網域已經遭到封鎖」
當某個網域被列進封鎖策略後,DNS 伺服器就不一定會回傳原本網站的 IP。它可能直接回一個封鎖頁、警告頁,或乾脆停止解析。使用者看到的結果,就會像:
- 此網域已經遭到封鎖
- 此網域已經遭到停止解析
- 網域封鎖警告頁
這也是為什麼同一個網址,在不同網路、不同 DNS 設定下,結果可能完全不一樣。主因不一定是網站本身,而可能是你目前正在使用的 DNS 解析器,已經對這個網域套用了政策。
DNS RPZ 常見用在哪些情境
DNS RPZ 常見用途不只一種,常見情境包括:
- 阻擋惡意網域或釣魚網站
- 阻擋已知有問題的下載站、詐騙站或濫用站點
- 在企業或 ISP 環境中,對特定網域做政策控管
- 回傳警告頁,提醒使用者這個網域已被限制
ISC 的說明也把 RPZ 放在「policy-based filtering」的脈絡裡,代表它原本就是拿來在 DNS 層做政策管理,而不是單純做快取或加速。請參考:ISC - DNS Firewall and RPZ。
為什麼改 DNS 有時候能解決問題
如果封鎖策略是套在 ISP 預設 DNS 上,那麼當我們把 Windows 的 DNS 伺服器改成 Cloudflare 或 Google Public DNS,查詢就會改由另一台解析器處理。只要新的解析器沒有套用同一套封鎖政策,就有機會得到原本網站的正常結果。
這也是 Windows 改 DNS 教學 會有效的原因之一。不過要注意,這裡有效的前提是「問題真的在 DNS 層」,而且新的 DNS 供應商沒有做相同限制。
如果你已經改了 DNS,結果看起來還是沒變,下一步可以先做 Windows 清除 DNS 快取,把本機還留著的舊解析結果清掉。
什麼情況不能把問題全怪給 DNS RPZ
雖然 DNS RPZ 是很常見的封鎖機制,但不是所有封鎖畫面都一定來自 RPZ。這幾種情況就不能直接畫等號:
- 問題其實發生在瀏覽器或作業系統的快取
- 網站本身真的失效或停止服務
- 封鎖發生在 DNS 以外的其他網路層級
- 你看到的是網站端自己的錯誤頁,不是 DNS 導出的警告頁
所以比較穩的判斷方式是:先確認 DNS 設定、再清本機快取、最後看不同解析器是否有不同結果。這樣才比較能確定問題到底是不是來自 DNS 政策。
總結
DNS RPZ 是一種套在 DNS 查詢回應前的政策機制,常被用來封鎖網域、導向警告頁或改寫 DNS 回應。當我們看到「此網域已經遭到封鎖」這類訊息時,背後很可能就是 DNS 層的政策在發生作用。
如果你現在要的是概念理解,本文已經把 DNS RPZ 和封鎖畫面的關係講清楚了;如果你現在要的是實際處理方式,下一步就回到 Windows 改 DNS 繞過網域封鎖教學,或接著做 Windows 清除 DNS 快取。