Azure 防火牆 DNS 設定
您可以為 Azure 防火牆設定自訂 DNS 伺服器並啟用 DNS Proxy。 請在部署防火牆時進行這些設定,或稍後從 [DNS 設定] 頁面進行設定。 根據預設,Azure 防火牆會使用 Azure DNS 並停用 DNS Proxy。
DNS 伺服器
DNS 伺服器會維護網域名稱並將其解析為 IP 位址。 根據預設,Azure 防火牆會使用 Azure DNS 來解析名稱。 DNS 伺服器設定可讓您設定自己的 DNS 伺服器來用於 Azure 防火牆名稱解析。 您可以設定單一伺服器或多部伺服器。 如果您設定多部 DNS 伺服器,則會隨機選擇使用的伺服器。 您可以在自訂 DNS 中設定最多 15 部 DNS 伺服器。
注意
對於使用 Azure 防火牆管理員管理的 Azure 防火牆執行個體,DNS 設定會在相關聯的 Azure 防火牆原則中設定。
設定自訂 DNS 伺服器
- 在 Azure 防火牆的 [設定] 底下,選取 [DNS 設定]。
- 在 [DNS 伺服器] 底下,您可以輸入或新增先前在虛擬網路中指定的現有 DNS 伺服器。
- 選取套用。
防火牆現在會將 DNS 流量導向指定的 DNS 伺服器,以進行名稱解析。
DNS Proxy
您可以將Azure 防火牆設定為 DNS Proxy 的角色。 DNS Proxy 是從用戶端虛擬機器對 DNS 伺服器發出 DNS 要求的媒介。
如果您想要在網路規則中啟用 FQDN (完整網域名稱) 篩選,請啟用 DNS Proxy 並更新虛擬機器設定,以使用防火牆作為 DNS Proxy。
如果您在網路規則中啟用 FQDN 篩選,並且未將用戶端虛擬機器設定為使用防火牆作為 DNS Proxy,則來自這些用戶端的 DNS 要求可能會在不同的時間傳送至 DNS 伺服器,或傳回與防火牆不同的回應。 建議將用戶端虛擬機器設定為使用 Azure 防火牆作為其 DNS Proxy。 這會將 Azure 防火牆放在用戶端要求的路徑中,以避免不一致的情形。
當 Azure 防火牆是 DNS Proxy 時,可能會有兩種快取函式類型:
正快取:DNS 解析成功。 防火牆會根據回應中的 TTL (存留時間) 快取這些回應 (最多 1 小時)。
負快取:DNS 解析結果是沒回應或沒有解析。 防火牆會根據回應中的 TTL 快取這些回應 (最多 30 分鐘)。
DNS Proxy 會將來自 FQDN 的所有已解析 IP 位址儲存在網路規則中。 最佳做法是使用解析為一個 IP 位址的 FQDN。
原則繼承
套用至獨立防火牆的原則 DNS 設定會覆寫獨立防火牆的 DNS 設定。 子原則會繼承所有父原則 DNS 設定,但可以覆寫父原則。
例如,若要在網路規則中使用 FQDN,則應該啟用 DNS Proxy。 但是,如果父原則未啟用 DNS Proxy,則您必須在本機覆寫此設定,否則子原則不支援在網路規則中使用 FQDN。
DNS Proxy 設定
DNS Proxy 設定需要三個步驟:
- 在 Azure 防火牆 DNS 設定中啟用 DNS Proxy。
- 選擇性地設定自訂 DNS 伺服器,或使用提供的預設值。
- 將 Azure 防火牆私人 IP 位址設定為虛擬網路 DNS 伺服器設定中的自訂 DNS 位址,以將 DNS 流量導向至 Azure 防火牆。
注意
如果您選擇使用自訂 DNS 伺服器,請選取虛擬網路內的任何 IP 位址,但不包括 Azure 防火牆子網路中的任何 IP 位址。
若要設定 DNS Proxy,您必須設定虛擬網路 DNS 伺服器設定以使用防火牆私人 IP 位址。 然後在 Azure 防火牆的 DNS 設定中啟用 DNS Proxy。
設定虛擬網路 DNS 伺服器
- 選取透過 Azure 防火牆執行個體路由傳送 DNS 流量的虛擬網路。
- 選取 [設定] 底下的 [DNS 伺服器]。
- 選取 [DNS 伺服器] 底下的 [自訂]。
- 輸入防火牆的私人 IP 位址。
- 選取 [儲存]。
- 將連線到虛擬網路的 VM 重新啟動,讓這些 VM 獲派新的 DNS 伺服器設定。 這些 VM 會繼續使用其目前的 DNS 設定,直到您將其重新啟動。
啟用 DNS Proxy
- 選取您的 Azure 防火牆執行個體。
- 在 [設定] 下,選取 [DNS 設定]。
- 根據預設,DNS Proxy 會處於停用狀態。 啟用此設定後,防火牆會在連接埠 53 上接聽,並將 DNS 要求轉送至設定的 DNS 伺服器。
- 檢閱 DNS 伺服器設定,以確定這些設定適用於您的環境。
- 選取儲存。
高可用性容錯移轉
DNS Proxy 具有容錯移轉機制,可停止使用偵測到狀況不良的伺服器,並使用另一部可用的 DNS 伺服器。
如果所有 DNS 伺服器都無法使用,則不會退回到另一部 DNS 伺服器。
健康狀態檢查
只要上游伺服器回報為狀況不良,DNS Proxy 就會執行五秒的健康狀態檢查迴圈。 健康狀態檢查是以根名稱伺服器為目標的遞迴 DNS 查詢。 一旦上游伺服器的狀況良好之後,防火牆就會停止健康狀態檢查,直到發生下一個錯誤。 當狀況良好的 Proxy 傳回錯誤時,防火牆就會在清單中選取另一部 DNS 伺服器。
使用 Azure 私用 DNS 區域 Azure 防火牆
當您搭配 Azure 防火牆 使用 Azure 私用 DNS 區域時,請確定您不會建立網域對應,以覆寫記憶體帳戶的預設功能變數名稱,以及Microsoft所建立的其他端點。 如果您覆寫預設功能變數名稱,它會中斷 Azure 防火牆 管理 Azure 記憶體帳戶和其他端點的流量存取。 這會中斷防火牆更新、記錄和/或監視。
例如,防火牆管理流量需要存取具有功能變數名稱的記憶體帳戶 blob.core.windows.net,且防火牆依賴適用於 FQDN 的 Azure DNS 來解析 IP 位址。
請勿使用功能變數名稱*.blob.core.windows.net
建立 私用 DNS 區域,並將它與 Azure 防火牆 虛擬網路產生關聯。 如果您覆寫預設功能變數名稱,所有 DNS 查詢都會導向至私人 DNS 區域,這會中斷防火牆作業。 相反地,請為私人 DNS 區域建立唯一的功能變數名稱,例如 *.<unique-domain-name>.blob.core.windows.net
。
或者,您可以啟用記憶體帳戶的私人連結,並將其與私人 DNS 區域整合,請參閱使用 Azure 防火牆 檢查私人端點流量。