英文:dzone,译者:开源中国
每个 IP 地址都可以有一个主机名,该主机名由一个或多个以小数点分隔的字符串组成。 有了主机名,就不要死记硬背每个IP设备的IP地址了。 只要记住比较直观、有意义的主机名即可。 这就是 DNS 协议的作用。
今天我们将讨论 DNS 服务器,特别是 Linux DNS 服务器,以及如何安装、配置和维护它。
/etc/hosts 文件
在没有 DNS 服务器的情况下,每个系统在本地网络上保留其主机名列表和相应 IP 地址的副本是有意义的 - 特别是在没有 连接的较小站点上。
在 Linux 系统中,该列表是 /etc/hosts 文件。 即使您没有 DNS 服务器或 DNS 服务器不可用,此文件也可以使用 /etc/hosts 文件将 IP 地址转换为名称。
也许您已经有一个 DNS 服务器,但您可能出于其他原因想要保留此文件。 例如,系统在外部查询之前可能需要先在本地查找DNS服务器的IP地址; 这意味着系统会在查询 DNS 服务器之前检索该文件。 如果找到对应的域名,则不需要查询任何DNS服务器,直接转换为IP地址。
尝试编辑 /etc/hosts 文件并添加以下信息:127.0.0.1。
然后,返回浏览器,输入内容,看看会发生什么。 如果它安装在您的系统上并在本地主机上运行,则浏览器将显示索引页面而不是页面。
作为确认,您可以将任何其他 IP 地址映射到任何网站并查看结果。
因此,该文件的作用是将 IP 地址转换为名称,但仅限于同一互连网络内。 那么外部网络和众多系统的所有记录是如何维护的呢?
每个人都需要维护自己的 /etc/hosts 文件并自行更新吗?
更强大的域名服务是 DNS 服务器。
域名
当您访问网站时,您可以输入 FQDN(Fully Name,完全限定域名)或类似 或 的域名。 域名中从右到左两点之间的每个文本分别是顶级域组件、二级域组件和三级域组件。
因此,com是顶级域名组件; 它是二级域组件; www 是三级域名组成部分。
事实上,当您访问任何网站时,浏览器默认会在域名末尾添加一个不可见的点,因此域名看起来是一样的。 该点称为根域。
该点由一组称为根名称服务器的特殊服务器管理。 截至本文发表,全球共有13个根域名服务器。 你可以把它们想象成互联网的大脑——如果它们失败了,就不会有互联网了。
为什么是13? 由于世界某个地方的地震可能会摧毁根服务器,因此其他服务器可以继续提供服务,直到受影响的服务器重新上线。
这些根名称服务器按字母顺序命名,例如 、 等。
顶级域名(也称为一级域名 TLD)
我们已经看到了 等顶级域名的组成部分。 可以认为顶级域名为DNS命名空间提供了分类组织。
顶级域名 (TLD) 根据地理或功能方面分为几类。
截至撰写本文时,互联网上已有 800 多个顶级域名。
顶级域名类别包括:
子域
当你访问这样的网站时,这里的邮件就是子域名。
只有名称服务器知道其下存在的所有主机,因此它会回复是否存在名为mail的子域。 根名称服务器不知道这一点。
DNS 服务器的类型
DNS 服务器分为三种类型。
主 DNS 服务器
这些服务器上存储着特定域名的配置文件,并据此权威指定特定域名的地址。 主 DNS 服务器知道其管辖下的所有主机和子域的地址。
辅助 DNS 服务器
这些服务器作为主DNS服务器的备份,也承担一定的负载。 主服务器知道辅助 DNS 服务器的存在,并将向它们推送更新。
缓存 DNS 服务器
特定域名的配置文件不存储在这些服务器上。 当客户端请求缓存服务器解析域名时,服务器会首先检查其本地缓存。 如果未找到匹配项,则查询主服务器。 然后该响应将被缓存。 您还可以轻松地使用自己的系统作为缓存服务器。
搭建Linux DNS服务器
Linux下实现DNS功能的包有很多,但我们只关注BIND DNS服务器。 它被用于世界上大多数 DNS 服务器。
例如,如果您使用基于 Red Hat 发行版的 Linux,则可以像这样安装它: $ dnf -y bind
如果您使用的操作系统基于,例如:$ apt-get bind9
安装完成后就可以启动它,让它随电脑启动而启动。
$
$
配置绑定
该服务使用/etc/named.conf作为配置文件。
BIND 在该文件中使用一些如下所示的语句:
从语句中可以看到BIND的工作目录是/var/named。
zone语句可用于定义DNS区域,例如域名,其中包含子域名和。
以上三个域名(主域名和子域名)都有一个由zone语句定义的区域。
定义主域服务器
我们知道DNS服务器类型包括主域名服务器、辅助域名服务器和缓存域名服务器。 与缓存域名服务器不同,主域名服务器和辅助域名服务器在响应过程中是平等的。
在 /etc/named.conf 配置文件中,您可以使用以下语法定义主域服务器:
区””{
;
。D b
};
包含主区域信息的文件存储在/var/named 目录中。 可以看出这是一个工作目录。
注:软件服务器或主机面板会根据您的域名自动为您创建主域服务器信息的文件名。 因此,如果您的域名是 ,那么您的主域服务器信息文件将为/var/named/.db。
类型为,表示这是主域服务器。
定义二级域服务器
就像定义主域服务器一样,辅助域服务器的定义略有变化:
区””{
;
;;
。D b
};
对于辅助域服务器,其域名与主域服务器相同。 上述语法中的slave类型表示这是一个辅域服务器,“”表示辅域服务器中的区域文件中的信息是从主域服务器中的区域文件中的信息复制过来的。
定义缓存服务器
即使您已经配置了主域服务器或辅助域服务器,仍然有必要(但不是必需)定义缓存服务器,因为这样可以减少对 DNS 服务器的查询次数。
在定义缓存服务器之前,您需要定义三个区域选择器,第一个:
区域"."IN{
;
文件“root.hint”;
};
区域"."IN{
;
文件“root.hint”;
};
区域"."IN{
;
文件“root.hint”;
};
区域""IN{
;
文件“.db”;
};
第三个区域被定义用于反向查找本地主机。 此反向查找将本地 IP 地址定向到本地主机。
区域“0.0.127.in-addr.arpa”IN{
;
文件“127.0.0.rev”;
};
将这三个区域信息放入/etc/named.conf 文件中,您的系统就可以作为缓存服务器工作。 但是如何引用 .db、.db 和 127.0.0.rev 等文件的内容呢?
这些文件包含每个区域的 DNS 记录类型以及某些选项。 那么,这些 DNS 记录类型是什么以及它们是如何编写的?
DNS 记录类型
数据库文件包含 SOA、NS、A、PTR、MX、CNAME 和 TXT 等记录类型。
让我们看看每种类型是如何记录的。
SOA:启动权限记录
SOA 记录开始描述站点的 DNS 条目,如下所示:
..(
;
86400;,
7200;重试,
;,
86400;,
第一行以域名开头,以句点结束——此语句与/etc/named.conf 文件中的区域定义一致。 我们必须始终记住,DNS 配置文件非常挑剔。
IN告诉域名服务器:这是一条网络记录。
SOA 告诉名称服务器:这是原始权限记录。
。 是文件所在域的域名服务器的完全限定域名(FQDN:Fully Name)。
。 是域管理员的电子邮件地址。 您会注意到这个电子邮件地址没有“@”符号,而是被句点代替,并且末尾有一个句点。
第2行是序列码,用于告诉域名服务器文件何时升级。 因此,如果更改区域代码,则必须增加序列代码。 该序列号的格式为xx从00开始。
第 3 行是每秒的刷新率。 该值用于告诉辅助名称服务器查询主服务器以查看记录是否已更新的频率。
第 4 行是每秒重试的频率。 如果第二服务器多次尝试连接主域名服务器进行更新检测但无法连接,则第二服务器每秒会重试指定的次数。
第5行是超时指示。 目的是让第二个服务器缓存区域数据。 该值告诉这些服务器如果无法连接到主服务器进行更新,则在指定的秒数后丢弃该值。
第 6 行告诉缓存服务器,如果它们无法连接到主名称服务器,则在超时之前应等待多长时间。
NS:名称(名称服务器记录)
NS 记录用于指定哪个名称服务器维护域的记录。
你可以这样写 NS 记录:
。
。
不需要有 2 条 NS 记录,但通常最好有备份名称服务器。
A和AAAA:(地址记录)
A 记录用于提供从主机名到 A 192.168.1.5 中的 IP 地址的映射。
如果您的主机地址为 192.168.1.5,则可以按照上面的示例进行输入。
请注意,我们所写的主机没有句号。
PTR:(指针记录)
PTR记录用于执行反向名称解析,允许某人指定IP地址,然后找出相应的主机名。
这与 A 记录的作用相反: 192.168.1.5 IN 。
在这里,我们输入带有句点的完整主机名。
MX:Mail(邮件交换记录)
MX 记录告诉其他站点您的域的邮件服务器地址: 。 在 MX 10 邮件中。
当然,该字段以句点结尾。 数字 10 是邮件服务器重要性的标志,如果您有多个邮件服务器,则数字越小,重要性越低。
CNAME:名称(权威名称记录)
CNAME 记录允许您为主机名创建别名。 当您想要提供易于记住的名称时,这非常有用。
假设某个站点有一个带有主机名的 Web 服务器,并且由于该系统是一个 Web 服务器,因此您可以为名为 www 的主机创建 CNAME 记录或别名。
您可以为以下域名创建 CNAME 记录:
-.168.1.5
-
第一行通知 DNS 服务器有关别名的位置。 第二行创建一个指向 www 的别名。
TXT记录
扫一扫在手机端查看
-
Tags : dns 域服务器 linux dns配置
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。