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

作者:Tom Adelstein

好的,我们从上次查看 BIND 的区域文件 pri.example.org 后已经休息了很长时间。现在是时候完成它,并了解这些记录的含义了。

稍微跑题一下,最近,我的任务是设置两台 OpenLDAP 服务器,并为一个项目搭建测试环境,该项目有几位开发人员和几个应用程序,包括一些 LAMP 应用程序。如果没有 DNS 的工作知识,这个项目就会陷入混乱。

因此,我认真对待 DNS,并认为它是 Linux 系统管理员必备的技能。如果您正在从事服务器端的工作,或者有这方面的目标,请了解这个领域。

现在,回到正题。

MX 记录

这些记录指定了域如何从其他邮件传输代理 (MTA) 接收电子邮件。要在 example.org 上接收电子邮件,我们列出该域的邮件交换器。这可以通过 MX 记录完成

                   MX 10 server1.example.org.

此记录表示 example.org 的电子邮件应传递到 server1.example.org(它是该域的邮件服务器),优先级为 10。您可以列出多个邮件交换器

                   MX 10 server1.example.org.
                   MX 20 mail.someotherdomain.com.

现在,如果邮件发送到 example.org,则始发 MTA 会尝试连接到 server1.example.org,因为 DNS 目录表明其优先级为 10。

如果无法访问 server1.example.org(无论出于何种原因),则始发 MTA 将使用下一个服务器 mail.someotherdomain.com。请注意,它的优先级为 20。这可能看起来不直观,但 MX 记录右侧的数字越大,该服务器接收的优先级越低。在本例中,10 高于 20。

到目前为止,我们已经为发送到 user@example.org 的电子邮件定义了 MX 记录。假设我们想将电子邮件路由到公司中的不同部门或政府机构内的不同部门。我们可以通过向邮件记录添加子域来做到这一点。

user@accounting.example.org 只需要另一个 mx 记录

subdomain.example.org.        MX 10 server1.example.org.

请注意 subdomain.example.org 末尾的“.”。如果您不添加句点,则区域的来源将附加到名称。例如,如果您写了

subdomain.example.org         MX 10 server1.example.org.

没有“.”,这将转换为

subdomain.example.org.example.org。

A 记录

到目前为止,我们已经使用了域名 example.org、server1.example.org 和 server2.example.org,但我们没有指定这些名称应映射到的 IP 地址。我们使用 A 记录来完成映射。许多观察家认为它们是最重要的 DNS 记录;因为您可以使用它们创建主机地址,例如 www.example.org,其中 www 是主机。

让我们创建我们的第一个 A 记录

example.org.   A   70.253.158.42

这意味着 example.org 的 IP 地址为 70.253.158.42。

请记住使用句点。

现在在浏览器中,您习惯于输入 www.example.org 而不是 example.org,不是吗? www.example.org 在技术上与 example.org 完全不同,但显然您希望看到两个网站的内容相同。因此,我们创建了此记录

www                A   70.253.158.42

与此相同

www.example.org.   A   70.253.158.42

最后,我们指定 server1.example.org 和 ns0.example.org

server1            A   70.253.158.42
server2            A   70.253.158.45

server2.example.org 指向不同的 IP 地址,这是有道理的,因为它是我们的辅助名称服务器,在我们的主名称服务器发生故障时,它应该位于不同的系统上。

引导问题 - Glue 记录

您可能想知道,如果 server1.example.org 和 server2.example.org 位于要查找的区域中,它们如何用于查找 example.org 的记录。当 org 的 TLD 服务器告诉我们 example.org 的名称服务器时,它们通常会给我们一个名称而不是 IP 地址(server1.example.org 而不是 70.253.158.42)。

对于权威 DNS 服务器存在于查找区域中的情况,TLD 服务器上存在 Glue 记录,该记录将名称映射到 IP 地址(在我们的例子中,server1.example.org 映射到 70.253.158.42),并且 TLD 服务器传递 IP 地址而不是名称服务器的名称。所以我不必先找到你才能问你在哪里。

CNAME 记录

CNAME 是“规范名称”的缩写,您可以将其视为 A 记录的别名。例如,

ftp                CNAME www

意思是,ftp.example.org 是 www.example.org 的别名,因此 ftp.example.org 指向与 www.example.org 相同的机器。您可能会遇到一些情况,尤其是在下载 Linux 软件包时,存储库看起来像 http://ftp.mirrors.kernel.org。这允许某人使用浏览器访问 ftp 站点并下载文件。CNAME 允许您完成此操作。

CNAME 必须始终指向 A 记录;而不是另一个 CNAME。除此之外,您不得将 CNAME 记录用于 MX 和 SOA 记录。例如,不允许使用 MX 10 ftp。

CNAME 的使用有优点和缺点。许多 DNS 专家认为 CNAME 已被弃用。尽管如此,您可能会发现 CNAME 记录仍然有一些用处。例如,如果您的 DNS 目录包含许多写为 A 记录的名称,这些名称都指向相同的 IP 地址。

如果您迁移到使用不同 IP 地址的另一个托管服务,则必须更新每个 A 记录。如果您只有一个 A 记录,并且您的所有其他记录都使用 CNAME,那么您只需更新一个 A 记录。因此,我们仍然认为它们在 DNS 层次结构中占有一席之地。

TXT 记录

TXT 记录使您能够为区域分配文本。人们主要将 TXT 与 SPF(发件人策略框架)记录一起使用。管理员使用 SPF 来控制来自发起 MTA 的电子邮件。

从技术上讲,您可以从任何机器发送电子邮件,但较大的电子邮件提供商(如 Yahoo 或 Hotmail)现在严重依赖 SPF 记录来确保发送域具有 SPF 记录。如果电子邮件来自未在 SPF 记录中列出的机器,则 MTA 可能会将您的邮件归类为垃圾邮件。

http://www.openspf.org/wizard.html?mydomain=&x=26&y=8 上有一个用于创建 SPF 记录的向导。我们使用此向导为 example.org 创建了一个 SPF 记录,并将其添加到我们的区域文件中

example.org.                  TXT "v=spf1 a mx ~all"
server1.example.org.          TXT "v=spf1 a -all"

整合在一起

现在让我们看一下我们的区域文件 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.253.158.42
www                A 70.253.158.42
server1            A 70.253.158.42
server2            A 70.253.158.45
ftp                CNAME www
example.org.                  TXT "v=spf1 a mx ~all"
server1.example.org.          TXT "v=spf1 a -all

加载 Disqus 评论