Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Linux 建置 DNS 伺服器實戰 (三):資源記錄格式與七大記錄類型詳解

編輯:關於伺服器

DNS 配置檔核心語法規則

DNS 區域檔採用標準資源記錄 (Resource Record, RR) 格式,每行一條記錄,基本語法:

Name  IN  record_type  data
  • Name:主機名或域名。關鍵規則:若不以點號 . 結尾,系統會自動附加當前域名 (如 www 解析為 www.example.com.);以點號結尾則視為絕對域名 (FQDN)。
  • IN:Internet 類別,固定值。
  • record_type:記錄類型 (SOA, NS, A, PTR, MX, CNAME, TXT 等)
  • data:對應記錄類型的資料內容

七大核心記錄類型深度解析

1. SOA - Start of Authority (起始授權記錄)

每個區域檔必須且僅能有一條 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 不會同步更新
  • 括號內五參數可跨行書寫,以右括號結束

2. NS - Name Server (域名伺服器記錄)

指定區域的授權 DNS 伺服器。若域名與 SOA 記錄的域名相同,Name 欄位可用 @ 縮寫:

@   IN  NS  ns1.example.com.
@   IN  NS  ns2.example.com.

3. A - Address (IPv4 位址記錄)

正向解析核心:主機名 → IPv4 位址

www     IN  A   192.168.1.10
mail    IN  A   192.168.1.20
*       IN  A   192.168.1.100   ; 泛解析,匹配所有未定義子域

4. PTR - Pointer (指標記錄)

反向解析核心: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. 後綴。

5. MX - Mail Exchange (郵件交換記錄)

指定郵件接收伺服器及優先級 (數值越小優先級越高):

@   IN  MX  10  mail.example.com.
@   IN  MX  20  backup-mail.example.com.

郵件發送方會優先嘗試優先級 10 的伺服器,失敗才轉向 20。

6. CNAME - Canonical Name (別名記錄)

將一個名稱指向另一個規範名稱 (不可指向 IP):

ftp     IN  CNAME   www.example.com.
webmail IN  CNAME   mail.example.com.

限制:CNAME 目標必須有 A 記錄;同一名稱不能同時存在 CNAME 和其他記錄 (除 DNSSEC 相關)。

7. TXT / RP - 文字資訊與責任人記錄

  • TXT:自由格式文字,常用於 SPF 反垃圾郵件、域名驗證:
    @ IN TXT "v=spf1 mx -all"
  • RP:指定負責人郵箱 (格式同 SOA) 與 TXT 指向的說明資訊

實戰配置範例:完整區域檔

$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.

常見錯誤與最佳實踐

  • 序列號未遞增:修改區域檔後必須更新 Serial,建議採用 YYYYMMDDNN 格式
  • 缺少結尾點號:FQDN 必須以 . 結尾,否則會產生雙重域名 (如 www.example.com.example.com)
  • CNAME 指向 CNAME:雖然合法但增加解析延遲,建議直接指向 A 記錄
  • MX 指向 CNAME:RFC 2181 禁止,MX 必須指向 A 記錄
  • TTL 設定策略:生產環境建議 1-4 小時 (3600-14400);遷移前降低至 300 秒便於快速生效
Copyright © Windows教程網 All Rights Reserved