DNS 區域檔採用標準資源記錄 (Resource Record, RR) 格式,每行一條記錄,基本語法:
Name IN record_type data
. 結尾,系統會自動附加當前域名 (如 www 解析為 www.example.com.);以點號結尾則視為絕對域名 (FQDN)。每個區域檔必須且僅能有一條 SOA 記錄,定義區域核心參數:
@ IN SOA ns.example.com. hostmaster.example.com. (
2024011501 ; Serial 序列號:YYYYMMDDNN (年月日+當日修改次數)
10800 ; Refresh 更新間隔 (秒) - 從 DNS 向主 DNS 查詢頻率
3600 ; Retry 重試間隔 (秒) - 查詢失敗後再次嘗試間隔
604800 ; Expire 過期時間 (秒) - 從 DNS 無法連繫主 DNS 後資料保留時限
86400 ) ; Minimum 最小 TTL (秒) - 快取 DNS 保留否定回答時間
關鍵細節:
hostmaster.example.com. 對應 hostmaster@example.com,以點號代替 @指定區域的授權 DNS 伺服器。若域名與 SOA 記錄的域名相同,Name 欄位可用 @ 縮寫:
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
正向解析核心:主機名 → IPv4 位址
www IN A 192.168.1.10
mail IN A 192.168.1.20
* IN A 192.168.1.100 ; 泛解析,匹配所有未定義子域
反向解析核心:IPv4 位址 → 主機名。用於 in-addr.arpa 反向區域:
10.1.168.192.in-addr.arpa. IN PTR www.example.com.
; 對應 192.168.1.10 → www.example.com
注意:IP 位址四段倒序,附加 .in-addr.arpa. 後綴。
指定郵件接收伺服器及優先級 (數值越小優先級越高):
@ IN MX 10 mail.example.com.
@ IN MX 20 backup-mail.example.com.
郵件發送方會優先嘗試優先級 10 的伺服器,失敗才轉向 20。
將一個名稱指向另一個規範名稱 (不可指向 IP):
ftp IN CNAME www.example.com.
webmail IN CNAME mail.example.com.
限制:CNAME 目標必須有 A 記錄;同一名稱不能同時存在 CNAME 和其他記錄 (除 DNSSEC 相關)。
@ IN TXT "v=spf1 mx -all"$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2024011501
10800
3600
604800
86400 )
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN MX 10 mail.example.com.
@ IN TXT "v=spf1 mx ip4:192.168.1.0/24 -all"
ns1 IN A 192.168.1.1
ns2 IN A 192.168.1.2
www IN A 192.168.1.10
mail IN A 192.168.1.20
ftp IN CNAME www
10.1.168.192.in-addr.arpa. IN PTR ns1.example.com.
20.1.168.192.in-addr.arpa. IN PTR mail.example.com.
YYYYMMDDNN 格式. 結尾,否則會產生雙重域名 (如 www.example.com.example.com)