@ IN SOA school.edu.tw. root.school.edu.tw. 1999051401 ; Serial 3600 ; Refresh 300 ; Retry 3600000 ; Expire 3600 ; Minimum
以上面的例子來看,其中 @ 這個符號是縮寫,代表 named.conf 中這個 zone file 所對應的 zone。SOA 後面的兩個參數是指這個 zone file 是在哪部主機 (school.edu.tw) 定義的,以及這個 zone file 的負責人的 email (注意是寫成 root.school.edu.tw),之後的 5 個參數,分別由底下說明:
Serial
代表這個 zone file 的版本,每當 zone file 內容有變動,name server 管理者就應該增加這個號碼,因為 slave 會將這個號碼與其 copy 的那份比對以便決定是否要再 copy 一次 (即進行 zone transfer)。
Refresh
slave server 每隔這段時間(秒),就會檢查 master server 上的 serial number。不過這裡會發生一個問題就是,在 master server 在 update data 完成到 slave server 來檢查時再 update 可能還有好一段時間,因此這段期間 master/slave DNS server 間 zone files 就可能出現不一致。所以在 Bind 較新的版本中便加入 “notify” 功能,使用者在 named.conf 設定中在需要的 zone 中加入 “notify” 的設定,則 master server 在 update 完成某個 zone file 的 data 後便會主動發個訊息(NOTIFY),藉以通知該其它的 slave servers,因此如果 slave servers 也有支援這個 “notify” 功能時,接下來 slave servers 馬上就可以做 zone transfer 來 update data,範例如下:
zone "twnic.com.tw"
{
type master;
file "twnic.hosts";
notify yes;
also-notify { 192.168.10.1; }; // 指定 slave server 的 IP 位址
};
Retry
當 slave server 無法和 master 進行 serial check 時,要每隔幾秒 retry 一次。
Expire
當時間超過 Expire 所定的秒數而 slave server 都無法和 master 取得連絡,那麼 slave 會刪除自己的這份 copy。
Minimum
代表這個 zone file 中所有 record 的內定的 TTL 值,也就是其它的 DNS server cache 這筆 record 時,最長不應該超過這個時間。