下一主题: 编写主文件 上一层: 运行 named 前一主题: named.boot 文件
named 包含的主文件,例如 named.hosts,总是关联一个域,这个域被称为origin(源)。这是通过 cache 和 primary 命令指定的域名。在主文件中,您可以在此域中指定相对的域名和主机名。配置文件中给定的名称,如果以单个点结尾,则被认为是绝对的,否则被认为是相对于源的。源本身可以用 ``@'' 来引用。主文件中包含的所有数据都分解为资源记录,简称 RR。它们构成了通过 DNS 可用的最小信息单元。每个资源记录都有一个类型。例如,A 记录将主机名映射到 IP 地址,而 CNAME 记录将主机的别名与其官方主机名关联起来。例如,请查看第
页上的图
,其中显示了虚拟啤酒厂的 named.hosts 主文件。
主文件中的资源记录表示形式共享一种通用格式,如下所示:
[domain] [ttl] [class] type rdata
字段由空格或制表符分隔。如果第一个换行符之前出现左大括号,并且最后一个字段后跟右大括号,则条目可以跨越多行。分号和换行符之间的任何内容都将被忽略。
- 域名(domain)
- 这是条目适用的域名。如果未给出域名,则假定 RR 应用于前一个 RR 的域名。
- ttl
- 为了强制解析器在一定时间后丢弃信息,每个 RR 都关联了一个 ``time to live''(生存时间),简称 ttl。ttl 字段指定信息从服务器检索后有效的秒数。它是一个十进制数字,最多八位。如果未给出 ttl 值,则默认为前一个 SOA 记录的 minimum 字段的值。
- class(类)
- 这是一个地址类,例如用于 IP 地址的 IN,或用于 Hesiod 类中对象的 HS。对于 TCP/IP 网络,您必须将其设置为 IN。如果未给出 class 字段,则假定为前一个 RR 的类。
- type(类型)
- 这描述了 RR 的类型。最常见的类型是 A、SOA、PTR 和 NS。以下部分描述了各种 RR 类型。
- rdata(资源数据)
- 这包含与 RR 关联的数据。此字段的格式取决于 RR 的类型。下面将分别针对每个 RR 进行描述。
以下是在 DNS 主文件中使用的 RR 的不完整列表。还有一些我们不会解释的。它们是实验性的,通常用途不大。
SOA- 这描述了授权区域(SOA 意味着 ``Start of Authority'',授权起始)。它表示 SOA RR 之后的记录包含域的权威信息。primary 语句包含的每个主文件都必须包含此区域的 SOA 记录。资源数据包含以下字段:
- origin(源)
- 这是此域的主域名服务器的规范主机名。它通常以绝对名称给出。
- contact(联系人)
- 这是负责维护域的人员的电子邮件地址,其中 `@' 字符替换为点。例如,如果 Virtual Brewery 的负责人是 janet,则此字段将包含 janet.vbrew.com。
- serial(序列号)
- 这是区域文件的版本号,表示为单个十进制数字。每当区域文件中的数据发生更改时,都应递增此数字。辅助域名服务器使用序列号来识别区域信息何时发生更改。为了保持最新,辅助服务器会定期请求主服务器的 SOA 记录,并将序列号与缓存的 SOA 记录的序列号进行比较。如果数字已更改,则辅助服务器会从主服务器传输整个区域数据库。
- refresh(刷新)
- 这指定辅助服务器在检查主服务器的 SOA 记录之间应等待的间隔(以秒为单位)。同样,这是一个十进制数字,最多八位。通常,网络拓扑不会经常更改,因此对于较大的网络,此数字应指定大约一天的间隔,对于较小的网络,甚至更长。
- retry(重试)
- 此数字确定辅助服务器在请求或区域刷新失败时应重试联系主服务器的间隔。它不能太低,否则服务器的临时故障或网络问题可能会导致辅助服务器浪费网络资源。一个小时,或者半小时,可能是一个不错的选择。
- expire(过期)
- 这指定服务器在无法联系主服务器后,最终应丢弃所有区域数据的时间(以秒为单位)。它通常应该非常大。Craig Hunt ([ GETST "hunt-tcpip" ]) 建议 42 天。
- minimum(最小值)
- 这是未明确指定 ttl 值的资源记录的默认 ttl 值。这要求其他域名服务器在一定时间后丢弃 RR。但这与辅助服务器尝试更新区域信息的时间无关。minimum 应该是一个较大的值,特别是对于网络拓扑几乎从不更改的 LAN。一周或一个月左右的值可能是一个不错的选择。如果单个 RR 可能更频繁地更改,您仍然可以为它们分配不同的 ttl。
- A
- 这会将 IP 地址与主机名关联起来。资源数据字段包含点分十进制表示法的地址。对于每个主机,必须只有一个 A 记录。此 A 记录中使用的主机名被认为是官方或规范主机名。所有其他主机名都是别名,必须使用 CNAME 记录映射到规范主机名。
- NS
- 这指向从属区域的主域名服务器。有关为什么必须有 NS 记录的解释,请参阅第 3.6 节。资源数据字段包含域名服务器的主机名。为了解析主机名,需要一个额外的 A 记录,即所谓的粘合记录,它给出了域名服务器的 IP 地址。
- CNAME
- 这会将主机的别名与其规范主机名关联起来。规范主机名是主文件为其提供 A 记录的主机名;别名只是通过 CNAME 记录链接到该名称,但没有自己的任何其他记录。
- PTR
- 此类型的记录用于将 in- addr.arpa 域中的名称与主机名关联起来。这用于将 IP 地址反向映射到主机名。给定的主机名必须是规范主机名。
- MX
- 此 RR 声明域的邮件交换器。拥有邮件交换器的原因在第 14 章的 14.4.1 节中讨论。MX 记录的语法是
[domain] [ttl] [class] MX preference host
主机名指定域的邮件交换器。每个邮件交换器都有一个与之关联的整数优先级。想要将邮件传递到域的邮件传输代理将尝试所有具有此域 MX 记录的主机,直到成功为止。首先尝试优先级值最低的主机,然后按优先级值递增的顺序尝试其他主机。 - HINFO
- 此记录提供有关系统硬件和软件的信息。其语法是
[domain] [ttl] [class] HINFO hardware software
hardware 字段标识此主机使用的硬件。有一些特殊的约定来指定这一点。``Assigned Numbers'' (RFC 1340) 中给出了有效名称的列表。如果该字段包含任何空格,则必须用双引号括起来。software 字段命名系统使用的操作系统软件。同样,应从 ``Assigned Numbers'' RFC 中选择一个有效名称。
Andrew Anderson
Thu Mar 7 23:22:06 EST 1996