我想要兩個主 DNS 伺服器。每一台伺服器都有一個不同的外部IP。我讀到有關 dns 伺服器的內容:
“這種設計最重要的警告是,兩個主機現在必須保持同步並具有相同的數據。”
第一個問題:「大師必須保持同步」是什麼意思?
第二個問題:假設我有幾年前在 Arch Linux 中建置的伺服器 dns docker。在B伺服器上,我有基於debian的dns docker,在bind中具有不同的目錄架構。兩台伺服器中是否可以擁有相同的資料?它應該是什麼樣子?我們只需要相同的區域嗎?
編輯1: 我也有兩個代理伺服器。我想在兩台伺服器上託管一個網站(一個網域)。我想要兩個獨立的伺服器並在它們上獨立託管網站。
編輯2: dns 區域應該是什麼樣子?是不是可以像下面這樣:?
TTL 86400
@在SOA (2017121413 10800 604800 10800 )
@在NSns1.example.com。
@在NSns2.example.com。
ns1 在 AIP_伺服器_1
ns2 輸入 AIP_伺服器_2
@ 在一個IP_伺服器_2
www在AIP_伺服器_2
@ 在一個IP_伺服器_1
www在AIP_伺服器_1
答案1
What does it mean "masters must be kept in sync"?
這意味著兩個伺服器上的資訊需要保持相同(即您需要同時對兩個伺服器進行更改)。但實際上,DNS 有大量緩存,因此雖然資料需要在很短的時間內同步到兩者,但不需要同步完成。
Is it possible to have identical data in both servers?
在 BIND 中,您需要具有相同的區域文件資訊或同等資訊。 (我希望讓區域為複製資料庫提供服務,但您確實需要多個資料庫,這樣就不會出現單點故障。)
答案2
這裡的重點是,如果您解析some.host.net
,它應該解析為兩個主機上的相同 IP 位址。回覆應該是相同的。也適用於 DNS 的所有其他功能。
您可以讓不同的 DNS 伺服器提供不同的答案。例如:您可以新增一個測試主機來查看實際使用的是哪個DNS伺服器。例如,如果您使用任播 DNS(請參閱https://ljm.home.xs4all.nl/anycast/index.html舉個例子)。
如果您讓不同的主機進行不同的解析,您必須了解這對您的網路的影響。如果你只是將你的系統直接指向兩個主控之一,這是可以預見的。如果您使用第二個主伺服器作為輔助 DNS 伺服器,它會變得不那麼透明。如果您使用許多快取 DNS 伺服器,結果可能會令人驚訝。
目錄結構和體系結構不需要相同。如果兩個主機相同,則保持兩個主機同步會簡單得多。