系统管理:迈向 BIND 的又一步 - IV

作者:Tom Adelstein

在本节中,我们将查看 named.conf 文件中列出的区域文件。

让我们看看 pri.example.org。注意其中的 CNAME 和 SPF 文件。我们在第三部分的文件类型中没有列出它们,但我们将在下一节中演示它们的作用。

这是我们的区域文件

@ IN SOA server1.example.org. root.localhost. (
                        2006012103; serial
                        28800; refresh, seconds
                        7200; retry, seconds
                        604800; expire, seconds
                        86400 ); minimum, seconds
;
                   NS server1.example.org.;
                   NS server2.example.org. ;
;
                   MX 10 server1.example.org.
;

example.org.   A 70.158.253.42
www                A 70.158.253.42
server1            A 70.158.253.42
server2            A 70.158.253.45
ftp                CNAME www
example.org.                  TXT "v=spf1 a mx ~all"
server1.example.org.          TXT "v=spf1 a -all"

我们区域文件中的第一行如下所示

@ IN SOA server1.example.org. root.localhost. (

该行中的“@”符号指的是此区域文件的“origin”,即 server1.example.org。 DNS 仅使用此作为标签,用于指定定义域的任何区域文件开头处出现的授权起始 (SOA) 记录。不要对此想太多。如果你读过很多关于 DNS 的文章,你就会看到人们使用这个奇怪的术语“current origin”。很少有人解释这是什么意思。这只是另一种术语。

该行中的下一项“IN”代表 Internet。人们称之为类字段。存在三个类,包括用于 Hesiod 服务器的“HS”和代表 Chaosnet 服务器的“CH”。

您只会看到 Internet 服务器,但如果您纠结于细节,您可能想知道 HS 和 CH 协议几乎不存在。这些是追溯到 1970 年代的旧拓扑。如果你曾经使用它们,可能是在一个遥远角落的实验室里,和一些实验鼠一起。

IETF RFC 1035,《域名 - 实现和规范》中说

SOA 记录存储有关为区域提供数据的服务器的名称的信息;区域的管理员;数据文件的当前版本[序列号];辅助名称服务器在检查更新之前应等待的秒数;辅助名称服务器在重试失败的区域传输之前应等待的秒数;辅助名称服务器在必须刷新或过期之前可以使用数据的最大秒数;以及资源记录上生存时间文件的默认秒数。

下一步是什么?此文件中的管理员邮件地址是 root@localhost。显然,我的邮件服务器传递本地邮件,因此与此过程相关的消息将发送到 root 的邮箱。

如果您错过了,第一行只是 SOA 记录的一部分。它有其他字段。注意行尾的“(”。这是记录的其余部分。请记住,这些是为了从服务器的利益而存在的。

                        2006012103; serial
                        28800; refresh, seconds
                        7200; retry, seconds
                        604800; expire, seconds
                        86400 ); minimum, seconds

序列号是记录中唯一不引用秒的字段。

其余字段使用秒来表示它们的值。例如,辅助名称服务器在检查更新之前应等待的秒数位于刷新记录中。 28800 秒是 480 分钟或 8 小时。

另请注意,SOA 记录在最小生存时间 (TTL) 结束时结束。您可以看到关闭记录值的“)”符号。

NS 记录

接下来我们编写 NS 记录。此记录指定负责我们域的名称服务器。您可以根据需要列出任意多个,即使按照惯例使用两个。

                   NS server1.example.org.;
                   NS server2.example.org. ;

请注意:分号 (';') 不标记行的结尾;相反,它标记区域文件中注释的开头。 你可以写

NS server1.example.org.; This is my primary name server.

但是,如果您没有任何注释,您也可以编写

                   NS server1.example.org.

在下一节中,我们将分析区域文件的其余部分。现在,您可能想稍微休息一下。

加载 Disqus 评论