就現在來說,DNS真的是越來越重要了。通常在設定DNS都會設定兩組,以避免當主要的掛掉時,還有備用的可以使用。或許有人會問說,那同時設兩台DNS的話,在網路上會先搜尋那一個呢?這個並沒有一定的答案,因為在網路上是採用隨機的方式來做查詢的。因此這兩部DNS也就必須要設定的一樣。才不會有資料上的錯誤。
要解決資料同步的問題,因此除了hint類型的資料庫檔案外,還可區分兩種基本類型,master(主要)資料庫和slave(次要)資料庫。
Master :
此種DNS資料庫,在資料方面全部都要管裡者自行輸入設定或修改。設定完成後需要重新啟動DNS服務,讓DNS服務重新讀取正確的資料內容。一般在架設的DNS大多是屬於此種類型的。另外,這種資料庫還能提供資料內容給slave的DNS伺服器。
Slave :
在架設DNS時,通常不會指架設一台DNS Server。就如同GOOGLE來說他就有5台的DNS Server,但若是都是用Master的方式來架設的話,一旦當有要修改資料的時候,一筆資料就得做5次。如此一來不就增加了設定錯誤的風險。所以在這個時後,就要使用Slave類型的方式來架設DNS Server。
簡單來說,總和以上所說的,Slave必須要和Master相互搭配,就拿google來說,當google使用5台DNS Server時,他一定會指定一台server做為Master,然後其他的4台DNS Server都設定為Master的Slave Server,如此一來當修改一筆資料時,只需要手動在Master Server上的設定檔做修改,後重新啟動BIND此服務,之後其他4台Slave也就會自動被通知更新。
查詢優先權 :
在使用DNS服務的時,同時會提供internet的領域名稱解析,不論是Master或Slave在網路上的查詢方式是採用『隨機』的方式。因此每一部DNS 伺服器的資料內容都必須要是完全相同。要不然就會造成用戶端找不到正確的IP。
資料同步化過程 :
在資料同步的過程中。簡單來說,Slave的資料內容來自於Master。但Slave是如何判斷何時才要同步更新資料。基本上不論是Master或是Slave都會有「序號」,並且以此序號的大小來研判是否要更新或是同步。同步更新的方式大約分成兩種:
【Master主動通知】: 在修改Master的資料內容,並增加序號大小,一但當重啟DNS服
務時,Master會主動通知Slave有資料更新。以便達到同步。
【Slave主動提出要求】: 基本上Slave會定時的查看Master的序號大小,當發現Master
的序號比Slave大時,就會主動更新。若序號不變,則不會更新。
評論
此文章尚無評論。