资源记录定义域名系统 (DNS) 中的数据类型。 RFC 1035 标识的资源记录在内部以二进制格式存储,供 DNS 软件使用。 但是,资源记录在执行区域传输时会以文本格式通过网络发送。本文档讨论一些更重要类型的资源记录。
注意: 还有许多其他记录类型不再受到积极支持。这些信息包括邮件目标(MD)、邮件转发器(MF)、邮件组(MG)、邮箱或邮件列表信息(MINFO)、邮件重命名(MR)和NULL。您可以从IANA DNS参数获取DNS记录类型的完整列表 。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
在域的顶级,名称数据库必须包含授权开始(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记录的类型,本示例中的Start of Authority。
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字段。这些控制名称服务器相互轮询以获取信息更新的频率(例如,数据缓存的时间等)。
刷新 — 告知辅助名称服务器轮询主名称服务器的频率以及检查序列号更改的频率。此间隔会影响在主名称服务器上进行的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中必须有有效的“A”记录,Host.domain.name才能使命令(如telnet host.domain.name命令)工作(或者必须有CNAME指向具有有效“A”记录的主机名)。
注意:用于支持IPv6地址的DNS扩展由RFC 1886处理 。
可以设置主机信息(HINFO)记录,以提供有关每台主机的硬件类型和操作系统(OS)信息。它的存在是可选的,但信息可用是有用的。
每个主机名只能有一个“HINFO”记录。
“HINFO”记录采用以下格式:
Host.DOMAIN.NAME. IN HINFO "CPU type" "Operating System"
注意: CPU类型和OS字段都是必填项。如果要将其中一个字段留空,请将其指定为“ ”(双引号引起的空格)。 不能只使用一对双引号[""]。
注意:RFC 1700中提供了HINFO所需的正式计算机名称 。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记录。例如,如果您的域名称为phiscol.arizona.edu,并且它是单独命名的(因此它有自己的SOA 和NS 记录),则不能为phiscol.arizona.edu提供CNAME记录。要向anyuser@philosophy.arizona.edu发送电子邮件,您需要使用MX和/或A记录。
指针记录与A记录相反,在反向映射区域文件中用于将IP地址映射到主机名。与其他SOA记录不同,指针(PTR)记录仅在反向(IN-ADDR..ARPA)域中使用。每个Internet地址必须只有一个PTR记录。例如,如果主机gadzooks.poety.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指定主机名中的大小写不重要,但请注意,某些操作系统对主机名大小写很敏感。