在bind的設定檔named.conf中,可設定的伺服器型態共有5種:
透過 master 和 slave 的架構,要進行資料變更的時候﹐只需在 master上面 維護就好,然後 slave 會定期的自動過來將更新資料同步回去。而slave 會在 refresh 時間到達的時候,就嘗試和 master 進行資料同步的動作,這在 DNS 系統裡面有一個專門術語﹐叫做“zone transfer”(區域轉移)。
e.g.
zone "." { // 表示這是對於.(root)的解析。
type hint; // 型態為hint。
file "named.ca"; // 讀取的檔案為named.ca
};
e.g.
zone "twnic.com.tw"{
type master;
file "named.cs";
};
e.g.
zone "mlc.com.tw" {
type slave;
file "slave/slave.mlcnet";
masters { 163.19.163.7; };
};
slave的設定只不過將type master改為slave並額外加入master的IP位址。
我們除了能夠用 slave 來分擔 master 工作、減少網路流量之外,還可以透過 另外一種 DNS 機制來減低網路流量的,那就是 forwarder 設定了。 所謂的 forwarder,就是當某一台name server主機遇到非本機負責zone之查詢請求的時候,將不直接向 root zone 查詢而把請求轉交給指定的forwarder (一台或多台) 主機代為查詢。 如果name server上面指定了 forwarder,那這個name server發現 cache 沒 有記錄的話,將不向 root 查詢,而是將自己扮成一個 client,向 forwarder 送 出同樣的請求,然後等待查詢結果;而逐級往下查詢的動作,則交由 forwarder 負責﹐name server自己就輕鬆多了。但無論這個結果是自己直接查詢得來的﹐還是 forwarder 送回來的,name server都會保存一份資料在 cache 中。這樣,其後的相同查詢就快多了,這對於name server所服務的 client 而言更是有效率得多。
options {
.....
forwarders {
139.175.10.20; //設定forwarder的IP位址
168.95.1.1; };
};