資源記錄定義域名系統(DNS)中的資料型別。 RFC 1035 識別的資源記錄以二進位制格式在內部儲存,供DNS軟體使用。但是,資源記錄在執行區域傳輸時,會以文本格式通過網路傳送。本文檔討論一些更重要的資源記錄型別。
附註: 許多其它記錄型別不再受到主動支援。其中包括郵件目標(MD)、郵件轉發器(MF)、郵件組(MG)、郵箱或郵件清單資訊(MINFO)、郵件重新命名(MR)和空值。您可以從IANA DNS引數獲取DNS記錄型別的完整清單 。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
在域的頂層,名稱資料庫必須包含權威開始(SOA)記錄。此SOA記錄標識了域中資料的最佳資訊源。SOA包含DNS資料庫的當前版本,以及定義特定DNS伺服器行為的各種其他引數。
每個名稱伺服器域(每個子域)必須正好有一個SOA記錄。 這適用於IN-ADDR.ARPA(反向域)的子域。具有獨立SOA的名稱空間區域稱為區域。
此輸出中會顯示此記錄的格式。此SOA中列出的時間間隔值是RFC 1537 建議的值。
DOMAIN.NAME. IN SOA Hostname.Domain.Name. Mailbox.Domain.Name. ( 1 ; serial number 86400 ; refresh in seconds (24 hours) 7200 ; retry in seconds (2 hours) 2592000 ; expire in seconds (30 days) 345600) ; TTL in seconds (4 days) The SOA record for the fictional foo.edu might look something like this: FOO.EDU. IN SOA FOO.EDU. Joe_Smith.Foo.EDU. ( 910612 ; serial number 28800 ; refresh in 8 hours 7200 ; retry in 2 hours 604800 ; expire in 7 days 86400 ) ; TTL is 1 day
此清單介紹了虛構SOA記錄中的資料欄位。
DOMAIN.NAME。 - SOA記錄所屬域的名稱。請注意尾隨的點(.)。 這表示名稱后面不會附加任何字尾。
IN - DNS記錄的類。IN代表Internet。
SOA - DNS記錄的型別,在本例中為「授權開始」。
Hostname.Domain.Name - 「原始欄位」需要包含此區域的主名稱伺服器的主機名,即權威資料所在的主機。
Mailbox.Domain.Name. — 負責此域(名稱服務)的個人的郵箱。若要將此欄位轉換為可用電子郵件地址,請用@(at-sign)替換第一個點(.)。 在以下示例中,如果foo.edu出現問題,請傳送電子郵件至Joe_Smith@foo.edu。
序列號 — 此域的當前版本的DNS資料庫的序列號。序列號是其他名稱伺服器發現資料庫已更新的方法。此序列號從1開始,必須為單調遞增的整數。不要在序列號中加上小數點,因為這會造成混淆和令人不快的結果。有些DNS管理員使用上次修改日期作為序列號,格式為YYMMDDHHMM,而另一些管理員則只需在每次更新資料庫時將伺服器增加一個小數字。在序列號之前出現並在最小生存時間(TTL)數字之後關閉的半圓括弧允許SOA跨越多行。
當foo.edu域的輔助名稱伺服器聯絡主名稱伺服器以檢查主的DNS資料庫是否發生更改,以及輔助伺服器是否應該執行區域傳輸時,它將自己的序列號與主名稱伺服器的序列號進行比較。
如果輔助名稱伺服器的序列號高於主名稱伺服器的序列號,則不會進行區域傳輸。如果主名稱伺服器的序列號大於該序列號,則輔助名稱伺服器執行區域傳輸並更新自己的DNS資料庫。
其他數字欄位稱為TTL欄位。這些控制元件控制名稱伺服器相互輪詢以獲取資訊更新的頻率(例如,資料被快取多長時間等)。
Refresh — 告知輔助名稱伺服器輪詢主名稱伺服器的頻率以及檢查序列號更改的頻率。此間隔會影響在主名稱伺服器上進行的DNS更改傳播所需的時間。
Retry — 輔助名稱伺服器嘗試重新連線主名稱伺服器的每秒時間間隔,如果輔助名稱伺服器在「刷新」間隔時連線失敗。
Expire — 輔助名稱伺服器在無法重新連線到主名稱伺服器時需要「過期」主名稱伺服器資料的秒數。
TTL — 應用於名稱伺服器上的DNS資料庫中的所有記錄的預設值。每個DNS資源記錄都可以配置一個TTL值。僅當特定資源記錄未配置顯式值時,才會使用SOA記錄的預設TTL。此值由授權名稱伺服器(特定區域的主要和輔助名稱伺服器)在響應DNS查詢時提供。
每個單獨命名的子域必須至少有一個對應的名稱服務(NS)記錄。名稱伺服器使用NS記錄相互查詢。
NS記錄採用以下格式:
DOMAIN.NAME. IN NS Hostname.Domain.Name.
域的NS記錄的值是該域的名稱伺服器的名稱。您需要為域的每個主或輔助名稱伺服器列出一個NS記錄。
地址記錄(A記錄)產生與主機名對應的IPv4地址。可以有多個IP地址對應於一個主機名,也可以有多個主機名,每個主機名對映到同一個IP地址。
「A」記錄採用以下格式:
Host.domain.name. IN A xx.xx.xx.xx(IPv4 address)
DNS中必須為Host.domain.name提供有效的「A」記錄,以便命令(例如telnet host.domain.name 命令)起作用(或者必須存在指向具有有效「A」記錄的主機名的CNAME)。
注意:支援IPv6地址的DNS擴展由RFC 1886處理 。
可以設定主機資訊(HINFO)記錄以給出有關每個主機的硬體型別和作業系統(OS)資訊。它的存在是可選的,但擁有可用的資訊會很有用。
每個主機名只能有一個「HINFO」記錄。
「HINFO」記錄採用以下格式:
Host.DOMAIN.NAME. IN HINFO "CPU type" "Operating System"
附註: CPU型別和作業系統欄位均為必填欄位。如果要將其中一個欄位留空,請將其指定為" "(用雙引號括起來的空格)。 不能只使用一對雙引號[""]。
注意:HINFO所需的官方電腦名稱可在RFC 1700中找到 。RFC 1700列出有用的資訊,例如/etc/services值、乙太網路製造商硬體位址和HINFO預設值。
文本(TXT)記錄允許您將任意文本與主機名相關聯。bind命令的一些次標準實現不支援「TXT」記錄。但是,bind命令的一些次標準實現支援名為「UINFO」的偽記錄型別,該型別執行相同操作。思科建議您僅使用「TXT」記錄型別。
對於單個主機名,可以有多個「TXT」記錄。
「TXT」記錄採用以下格式:
Host.DOMAIN.NAME. IN TXT "system manager: melvin@host.domain.name" IN TXT "melasu"
一個區域可以有一個或多個郵件交換(MX)記錄。這些記錄指向代表主機接受郵件消息的主機。主機本身可以是「MX」。MX記錄不需要指向同一區域中的主機。
「MX」記錄採用以下格式:
Host.domain.name. IN MX nn Otherhost.domain.name. IN MX nn Otherhost2.domain.name.
「MX」首選項編號nn(值0到65535)表示郵件傳送者在嘗試將郵件傳送到主機時選擇「MX」記錄的順序。MX編號越小,主機的優先順序越高。
規範名稱(CNAME)記錄用於定義別名主機名。
CNAME記錄採用以下格式:
alias.domain.name. IN CNAME otherhost.domain.name.
此命令將alias.domain.name定義為規範(標準)名稱為otherhost.domain.name的主機的別名。
注意:作為CNAME存在的主機名不能應用任何其他DNS記錄。例如,如果您的域名為philosophy.arizona.edu,且其名稱是單獨命名的(因此它有自己的SOA和NS記錄),則不能為philosophy.arizona.edu提供CNAME記錄。若要將電子郵件傳送到anyuser@philosophy.arizona.edu,您需要使用MX和/或A記錄。
指標記錄與A Records相反,用於反向對映區域檔案中將IP地址對映到主機名。與其他SOA記錄不同,指標(PTR)記錄僅在反向(IN-ADDR.ARPA)域中使用。每個Internet地址必須正好有一個PTR記錄。例如,如果主機gadzooks.poetry.arizona.edu的IP地址為128.196.47.55,則必須具有此格式的PTR記錄:
55.47.196.128.IN-ADDR.ARPA. IN PTR gadzooks.poetry.arizona.edu.
Berkeley r實用程式使用PTR記錄的值進行主機名驗證。雖然DNS指定主機名的大小寫不重要,但請注意,某些作業系統對主機名的大小寫敏感。