Windows DNS 伺服器:託管區域,但轉發未知條目
我們公司有一個腦裂 DNS 場景,我們有相同的條目指向不同的 IP。
Example1: Internal DNS: email.company.net (A) 172.20.1.1 External DNS: email.company.net (A) 22.191.72.18
因此,電子郵件只是我們必須“拆分”的少數條目之一。我們的公共 DNS 區域中確實有很多其他 DNS 條目,它們也需要在內部區域中保持不變。讓我們看另一個例子:
Example2: Internal DNS: video.company.net (A) -not present- External DNS: video.company.net (A) 22.191.72.49
因此,當我想從公司內部訪問videoportal.company.net時,DNS 伺服器報告它沒有找到該查詢的 DNS 條目。為了使其正常工作,我還必須在內部 DNS 區域上重新創建所有外部 DNS 條目,並隨著時間的推移維護所有這些記錄。這會導致大量重複工作。我想做的是:
創建一個包含一些條目的區域,並為其分配一個策略:“解決您可以在其中找到的內容,但將您找不到的任何內容轉發給您的解析器/根提示”
有沒有這樣的事情可以用政策來完成?甚至如何呼叫這樣的功能?
我知道我可以創建一個帶有 email.company.net 的區域和一個空的 A 記錄。這會在外部轉發任何 somethingelse.company.net 記錄。我問的原因要復雜得多,我想問一個盡可能簡短的問題。所以只是假設這個解決方案現在不適用於這裡。如果您能專注於上述問題,我將不勝感激。
編輯:所以最後,內部 DNS 伺服器應該做這樣的事情:
- DNS 伺服器從客戶端獲取 email.company.net 的請求
- DNS 伺服器在他的內部區域 company.net 中進行查找
- DNS 伺服器返回 IP 172.20.1.1 給客戶端
- DNS 伺服器從客戶端獲取 video.company.net 的請求
- DNS 伺服器在他的內部區域 company.net 中進行查找
- DNS 伺服器找不到 video.company.net 的條目
- 然後 DNS 伺服器通過他的根提示進行遞歸查找
- DNS伺服器最終得到答案並將IP 22.191.72.49返回給客戶端
不幸的是,你想要的是不可能的;當您在內部 DNS 伺服器中創建一個區域並將其定義為主要區域時,該伺服器將假定對該區域具有權威性,因此將以“此記錄不存在”來回答任何它不知道的記錄請求.
唯一的解決方法是您已經知道的解決方法:您可以僅為您實際要屏蔽的記錄定義子區域,然後在其中創建空記錄;空記錄映射到區域的全名,因此最終效果是相同的,但是這樣的區域不會掩蓋主區域中的所有其他名稱,這將使用標準遞歸來解決。
在您的範例中,您應該創建一個名為的區域
email.company.net
,然後在其中創建一個指向 172.20.1.1 的空 A 記錄;內部查詢email.company.net
將通過 172.20.1.1 得到答复,但這不會影響對 的查詢video.company.net
,這將通過查詢公共 DNS 繼續得到解決。順便說一句,這個技巧不僅適用於 A 記錄,而且適用於任何可以為空的記錄(例如 SRV)。