SOA記錄
權威記錄起始(英語:start of authority record,簡稱 SOA)是域名系統(DNS)的一種包含有關區域的管理信息(特別是關於區域傳輸的)的記錄。SOA記錄的格式在 RFC 1035[1] 中被定義。
背景
通常名稱服務器被設置在集群中。每個集群內的數據庫通過區域傳輸同步。區域的SOA記錄包含控制區域傳輸的數據——序列號和不同的時間跨度。
記錄也包括了區域的負責人的電子郵件地址以及主要名稱服務器的名稱。通常SOA記錄位於區域頂部,沒有SOA記錄的區域是不符合RFC 1035的要求的。
結構
- NAME
- 區域名字
- TYPE
- SOA,start of authority 的縮寫
- CLASS
- 區域類型(幾乎都是
IN
) - TTL
- 存活時間
- MNAME
- 區域的主要名稱服務器
- RNAME
- 區域負責人的電子郵件地址。(通常,地址被編碼為一個名稱。地址
@
前的部分成為名稱的第一個部分,@
後的部分成為名稱的剩餘部分。在區域文件格式中,第一部分的點被反斜槓轉義。例如,[email protected]
會在區域文件中被表示為john\.doe.example.com
) - SERIAL
- 區域的序列號。如果附屬於此服務器的輔助名稱服務器觀察到此數字增加,則從服務器將假定該區域已更新並啟動區域轉移。
- REFRESH
- 輔助名稱服務器應向主服務器查詢SOA記錄以檢測區域更改的周期秒數。對於小而穩定的區域推薦400秒( 86小時) 24[4]。
- RETRY
- 如果主服務器沒有響應,輔助服務器重新請求SOA記錄的秒數,必須小於REFRESH。對於小而穩定的區域推薦秒( 7200小時) 2[4]。
- EXPIRE
- 如果主服務器沒有響應,輔助服務器應該停止應答請求的秒數,必須大於REFRESH和RETRY的和。對於小而穩定的區域推薦600000秒( 3小時) 1000[4]。
- MINIMUM
- 用於計算消極響應緩存的存活時間。權威名稱服務器採用TTL和MINIMUM中較小的一個作為消極響應中的TTL發送。解析器使用返回的TTL以得知應該將消極響應緩存多久。對於小而穩定的區域推薦800秒( 172天) 2[4]。最初,該字段的含義是該區域中資源記錄的最小TTL值,RFC 2308中將其改為了現在的含義[5]。
BIND語法的例子
$TTL 86400 @ IN SOA ns.icann.org. noc.dns.icann.org. ( 2020080302 ; 序列号 7200 ; 刷新时间 3600 ; 重试时间 1209600 ; 过期时间 3600 ; 消极响应缓存 TTL )
序列號更改
已經建立了幾種方法來更新區域的SERIAL字段:
參考資料
- ^ Mockapetris, P.. Domain names - implementation and specification. 1987-11. RFC 1035. .
- ^ Dynamic Updates in the Domain Name System (DNS UPDATE). April 1997 [2017-12-28]. RFC 2136.
- ^ A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY). August 1996 [2017-12-28]. RFC 1996.
- ^ 4.0 4.1 4.2 4.3 Jun 1999, Publication date: 07. Recommendations for DNS SOA Values. RIPE Network Coordination Centre. [2022-12-25]. (原始內容存檔於2022-12-25).
- ^ Negative Caching of DNS Queries (DNS NCACHE). March 1998 [2017-12-28]. RFC 2308.
- ^ Common DNS Operational and Configuration Errors. February 1996 [2017-12-28]. RFC 1912.
- ^ How to run a DNS server in place of an existing BIND server. [2022-12-25]. (原始內容存檔於2022-12-25).