我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

本文包括了解DNS所需的基础知识以及Linux DNS服务器的安装、配置和维护相关的具体操作。

1. DNS 域名结构和域名服务器 域名系统 DNS(Name)是 使用的一种命名系统,用于将易于人们使用的机器名称转换为 IP 地址。 域名系统实际上是一个名称系统。 为什么不称其为“名称”而称其为“域名”? 这是因为这个互联网命名系统中使用了很多“域()”,所以出现了“域名”这个术语。 “域名系统”明确表明该系统用于互联网。

1. 域名结构

在了解DNS服务器之前,需要先了解互联网上的域名空间结构,如下图所示:

顶级域名是域名的最后部分,即域名最后一个点之后的字母。 例如,在该域名中,顶级域是.com(或.COM),并且大小写被认为是相同的。

二级域名是域名的倒数第二部分。 比如这个域名中,二级域名是。 等等。

2、域名服务器

上的 DNS 服务器是分层排列的。 根据不同级别域名服务器所扮演的角色,域名服务器可以分为四种不同类型。

【根域名服务器】

最高级别的域名服务器(就像总理一样)也是最重要的域名服务器。 全球共有13个根域名服务器名称,分别是(按字母顺序排列):

当然,名称并不对应于物理服务器的地址。 根服务器的名称可以作为入口,对应一组服务器集群,提供域名解析服务。

【顶级域名服务器】

就像总理领导下的省长一样,他们对省级单位有管辖权。 在DNS中,它们负责管理在顶级域名服务器上注册的下一级域名(二级域名)。 所有顶级域名服务器的名称和IP地址都注册到根服务器上。 也就是说,根域名服务器知道所有顶级域名服务器的名称和IP地址。

【权威域名服务器】

负责一个区的域名服务器的有市长、镇长、乡长以及省长以下的其他行政官员。 顶级域名服务器也可以算作权威域名服务器,但由于其特殊性,我们特地将其分为一类。 因此,权威域名服务器通常是指管理顶级域名以下的二级、三级、四级域名的服务器。

上述三台服务器之间的关系可以用下图表示:

[本地域名服务器]

此类服务器不属于上述层次结构。 当主机(个人计算机)发出DNS请求时,查询请求被发送到本地域名服务器。 本地域名服务器负责回答查询,或者代表主机访问不同级别的域名空间。 权威域名服务器进行查询,然后将查询结果返回给主机。

下图展示了域名的解析过程以及各类域名服务器的位置。

3. 为什么要使用DNS服务器?

域名服务器提供从域名到IP地址的解析服务。 互联网上有大量的域名。 不可能所有域名信息都存储在域名服务器中,也不可能上述每个节点都使用域名服务器。 在实际的公网DNS系统中,域名服务器是按分区管理的。

服务器负责的范围称为区域。 如果把域名空间结构中的根比作国家,顶级域名比作省级行政单位,二级域名比作市级单位,三级、四级域名比作国家。级别域名。 看到乡镇,我们自然会想到总理是治理国家的人,省长是治理省级单位的人,下面还有市长、镇长等。

假设域的层次结构分布如图所示。

如果采用方法(a),那么从下面的abc节点开始的整个子树就成为一个区域,由一个(通常是一组)域名服务器管理,就像一个北京城市,接下来的事务都有市长北京的。 拥有最终决定权;

如果采用方法(b),则将abc节点下面的单词数分为两个区域:x节点下面的子树和y节点下面的子树。 这两个子树分别由x和y对应的域名服务器管理。 ,就像一个福建省,x是福州市,y是厦门市,福建省省长只管理福州市和厦门市的市长,但不会直接管理福州市和厦门市以下的单位。 福州市、厦门市以下的单位分别由福州市市长、厦门市市长管辖。

这种将一个域中的部分子树分配给另一个域名服务器的方式称为“授权委托”。 做了“授权委托”后,域名服务器的管理范围明显变小了,其子节点都由域名服务器控制。 委托下级域名服务器管理。

互联网上的域名结构是呈树形分布的,因此DNS服务器也有相应的树形结构。 每个DNS服务器都可以提供从部分域名(其管辖的域名)到IP地址的解析。

4.DNS查询

查询方式

递归查询:客户端向自己的DNS服务器请求解析的方式

迭代查询:服务器查询服务器的方式

主机对本地域名服务器的查询一般采用递归查询。 所谓递归查询是:如果主机查询的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器将继续向其他根域名服务器发送查询请求消息DNS 客户端(即代表主机继续)。 查询),而不是让主机自己执行下一个查询。 因此,递归查询返回的查询结果要么是要查询的IP地址,要么报错,提示无法查询到所需的IP地址。

本地名称服务器到根名称服务器的迭代查询。 迭代查询的特点:当根域名服务器收到本地域名服务器发来的迭代查询请求消息时,要么给出要查询的IP地址,要么告诉本地服务器:“接下来应该查询哪个域名服务器” ?” 。 然后让本地服务器进行后续的查询。 根域名服务器通常将其所知道的顶级域名服务器的IP地址告诉本地域名服务器,并允许本地域名服务器查询顶级域名服务器。 顶级域名服务器收到本地域名服务器的查询请求后,要么给出要查询的IP地址,要么告诉本地服务器下一步应该查询哪个权威域名服务器。 最后,知道要解决的IP地址或错误,并将结果返回给发起查询的主机。

下图展示了这两个查询的区别

DNS解析的顺序:(由/etc/.conf决定)

1. 原生缓存

2.本地/etc/hosts文件

a) 格式:IP FQDN Alais

3.指定DNS服务器缓存

a) 清除缓存:rhdc flash

4.指定DNS服务器(/etc/.conf)

a) 格式:

#

#202.103.24.68

#202.103.149.50

DNS查询命令

1.

a) 是包装的一个组成部分

b) 通过hosts文件和DNS将主机名解析为IP

c) 将IP计算为8位十六进制在PXE中有特殊用途

2. 主持人

a) 仅通过 DNS 查询

b) 查询主机名到IP的解析

3.

a) 解析工具,Linux中常用,目前很少使用

b) 提供简单的正向、反向和反向解析查询

4.挖掘

a) Linux中强大的查询工具,可以查询更详细的信息,使用最广泛

b) 非权威DNS可追溯

5. DNS服务器的类型

DNS 服务器分为三种类型。

主 DNS 服务器

这些服务器上存储着特定域名的配置文件,并据此权威指定特定域名的地址。 主 DNS 服务器知道其管辖下的所有主机和子域的地址。

辅助 DNS 服务器

这些服务器作为主DNS服务器的备份,也承担一定的负载。 主服务器知道辅助 DNS 服务器的存在,并将向它们推送更新。

缓存 DNS 服务器

特定域名的配置文件不存储在这些服务器上。 当客户端请求缓存服务器解析域名时,服务器会首先检查其本地缓存。 如果未找到匹配项,则查询主服务器。 然后该响应将被缓存。 您还可以轻松地使用自己的系统作为缓存服务器。

2.Linux DNS服务器安装、配置和维护

1.设置Linux DNS服务器

Linux下实现DNS功能的包有很多,但我们只关注BIND DNS服务器。 它被用于世界上大多数 DNS 服务器。

例如,如果您使用基于 Red Hat 发行版的 Linux,则可以像这样安装它: $ dnf -y bind

如果您使用的操作系统基于,例如:$ apt-get bind9

安装完成后就可以启动它,让它随电脑启动而启动。

$

$

2. 配置绑定

该服务使用/etc/named.conf作为配置文件。

BIND 在该文件中使用一些如下所示的语句:

从语句中可以看到BIND的工作目录是/var/named。

zone语句可用于定义DNS区域,例如域名,其中包含子域名和。

上述三个域名(主域名和子域名)都有一个由zone语句定义的区域。

3.定义主域服务器

我们知道DNS服务器类型包括主域名服务器、辅助域名服务器和缓存域名服务器。 与缓存域名服务器不同,主域名服务器和辅助域名服务器在响应过程中是平等的。

在 /etc/named.conf 配置文件中,您可以使用以下语法定义主域服务器:

区””{

;

。D b

};

包含主要区域信息的文件存储在/var/named目录中,我们可以看到这是一个工作目录。

注:软件服务器或主机面板会根据您的域名自动为您创建主域服务器信息的文件名。 因此,如果您的域名是 ,那么您的主域服务器信息文件将为/var/named/.db。

类型为,表示这是主域服务器。

4.定义二级域服务器

就像定义主域服务器一样,辅助域服务器的定义略有变化:

区””{

;

;;

。D b

};

对于辅助域服务器,其域名与主域服务器相同。 上述语法中的slave类型表示这是一个辅域服务器,“IP列表”表示辅域服务器中的区域文件中的信息是从主域服务器中的区域文件中的信息复制而来的。

5.定义缓存服务器

即使您已经配置了主域服务器或辅助域服务器,仍然有必要(但不是必需)定义缓存服务器,因为这样可以减少对 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 记录类型是什么以及它们是如何编写的?

6.DNS记录类型

数据库文件包含SOA、NS、A、PTR、MX、CNAME和TXT等记录类型。

让我们看看每种类型是如何记录的。

SOA:启动权限记录

SOA 记录以描述站点的 DNS 条目开头,如下所示:

。 SOA 中的 86400 ..(

;

86400;,

7200;重试,

;,

86400;,

第一行以域名开头,以句点结尾——此语句与 /etc/named.conf 文件中的区域定义一致。 我们必须始终记住,DNS 配置文件非常挑剔。

IN告诉域名服务器:这是一条网络记录。

SOA 告诉名称服务器:这是一个原始授权记录。

。 是文件所在域的域名服务器的完全限定域名(FQDN:Fully Name)。

。 是域管理员的电子邮件地址。 您会注意到这个电子邮件地址没有“@”符号,而是被句点代替,并且末尾有一个句点。

第2行是序列码,用于告诉域名服务器文件何时升级。 因此,如果更改区域代码,则必须增加序列代码。 该序列号的格式为xx从00开始。

第 3 行是每秒的刷新率。 该值用于告诉辅助名称服务器查询主服务器以查看记录是否已更新的频率。

第 4 行是每秒重试的频率。 如果第二服务器多次尝试连接主域名服务器进行更新检测但无法连接,则第二服务器每秒会重试指定的次数。

第5行是超时指示。 目的是让第二个服务器缓存区域数据。 该值告诉这些服务器如果无法连接到主服务器进行更新,则在指定的秒数后丢弃该值。

第 6 行告诉缓存服务器,如果它们无法连接到主名称服务器,则在超时之前应等待多长时间。

NS:名称(名称服务器记录)

NS 记录用于指定哪个名称服务器维护域的记录。

你可以这样写 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 PTR 。

在这里,我们输入带有句点的完整主机名。

MX:Mail(邮件交换记录)

MX 记录告诉其他站点您的域的邮件服务器地址: 。 在 MX 10 邮件中。

当然,该字段以句点结尾。 数字 10 是邮件服务器重要性的标志,如果您有多个邮件服务器,则数字越小,重要性越低。

CNAME:名称(权威名称记录)

CNAME 记录允许您为主机名创建别名。 当您想要提供易于记住的名称时,这非常有用。

假设某个站点有一个带有主机名的 Web 服务器,并且由于该系统是一个 Web 服务器,因此您可以为名为 www 的主机创建 CNAME 记录或别名。

您可以为以下域名创建 CNAME 记录:

- 在 192.168.1.5 中

www 在 CNAME 中 -

第一行通知 DNS 服务器有关别名的位置。 第二行创建一个指向 www 的别名。

TXT记录

二维码
扫一扫在手机端查看

本文链接:https://by928.com/1256.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线