什么是DNS,其解析过程有哪些

什么是DNS,其解析过程有哪些,第1张

域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。
那么DNS如何解析呢,其解析过程有哪些呢?下面让我们举一个例子演示整个解析过程:
假定域名为mxyzcom的主机想知道另一个主机yabccom的IP地址。例如,主机mxyzcom打算发送邮件给yabccom。这时就必须知道主机yabccom的IP地址。下面是上a的几个查询步骤:
1、主机mabccom先向本地服务器dnsxyzcom进行递归查询。
2、本地服务器采用迭代查询。它先向一个根域名服务器查询。
3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dnscom的IP地址。
4、本地域名服务器向顶级域名服务器dnscom进行查询。
5、顶级域名服务器dnscom告诉本地域名服务器,下一步应查询的权限服务器dnsabccom的IP地址。
6、本地域名服务器向权限域名服务器dnsabccom进行查询。
7、权限域名服务器dnsabccom告诉本地域名服务器,所查询的主机的IP地址。
8、本地域名服务器最后把查询结果告诉mxyzcom。
为了提高DNS查询效率,并减轻服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
例如,在上面的解析过程中,如果在mxyzcom的主机上不久前已经有用户查询过yabccom的IP地址,那么本地域名服务器就不必向根域名服务器重新查询yabccom的IP地址,而是直接把告诉缓存中存放的上次查询结果(即yabccom的IP地址)告诉用户。
由于名字到地址的绑定并不经常改变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并处理超过合理时间的项。当域名服务器已从缓存中删去某项信息后又被请求查询该项信息,就必须重新到授权管理该项的域名服务器绑定信息。当权限服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名解析的正确性。

域名服务(DNS)是一种Internet服务,可将IP地址和标准域名(FQDN)相互映射。这样,DNS减轻了记住IP地址的需要。运行DNS的计算机称为名称服务器。Ubuntu附带了BIND (Berkley Internet Naming Daemon),BIND是用于在Linux上维护名称服务器的最常用程序。

在终端提示符下,输入以下命令安装 dns:

dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容:

有许多方法可以配置BIND9。一些最常见的配置是缓存名称服务器,主服务器和辅助服务器。

DNS配置文件存储在 /etc/bind 目录中。主要配置文件是 /etc/bind/namedconf ,在软件包提供的布局中仅包括这些文件。

可以将同一服务器配置为缓存名称服务器,主要和辅助名称服务器:这都取决于它所服务的区域。服务器可以是一个区域的授权开始(SOA),同时为另一区域提供辅助服务。同时为本地LAN上的主机提供缓存服务。

默认配置充当缓存服务器。只需取消注释并编辑 /etc/bind/namedconfoptions 即可设置ISP的DNS服务器的IP地址:

要启用新配置,请重新启动DNS服务器。在终端提示下:

在本节中,将BIND9配置为域的主服务器 examplecom 。只需 examplecom 用您的FQDN(完全合格的域名)替换即可。

要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 /etc/bind/namedconflocal :

现在,使用现有的区域文件作为模板来创建 /etc/bind/dbexamplecom 文件:

编辑新的区域文件, /etc/bind/dbexamplecom 然后更改 localhost为服务器的FQDN,在末尾保留其他文件。更改 127001 为名称服务器的IP地址和 rootlocalhost 有效的电子邮件地址,但用 代替通常的 @ 符号,并再次在末尾保留。更改注释以指示此文件所针对的域。

为基本域创建 A 记录 examplecom 。此外,创建一个 A 记录的 nsexamplecom ,在这个例子中,域名服务器:

每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更改,只需增加一次串行。

现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请 参阅公共记录类型 。

对区域文件进行了更改之后,需要重新启动BIND9以使更改生效

现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。

编辑 /etc/bind/namedconflocal 并添加以下内容:

现在创建 /etc/bind/db192 文件:

接下来编辑 /etc/bind/db192 ,更改与 /etc/bind/dbexamplecom 相同的选项:

每次更改时,“反向”区域中的序列号也需要增加。 对于您在 /etc/bind/dbexamplecom 中配置的每个A记录(即针对另一个地址),您需要在 /etc/bind/db192 中创建一个PTR记录。

创建反向区域文件后,重新启动BIND9

一旦配置了主服务器,强烈建议使用辅助服务器,以在主服务器不可用时维持域的可用性。

首先,在主服务器上,需要允许区域传输。将 allow-transfer 选项添加到示例正向和反向区域定义中 /etc/bind/namedconflocal :

在主服务器上重新启动BIND9:

接下来,在辅助服务器上,以与主服务器相同的方式安装bind9软件包。然后编辑, /etc/bind/namedconflocal 并为正向和反向区域添加以下声明:

在辅助服务器上重新启动BIND9:

在其中, /var/log/syslog 您应该看到类似以下内容的内容(为了适应本文档的格式,对某些行进行了拆分):

测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的 nameserver 一行 /etc/resolvconf 应指向, 1270053 并且您应该 search 为您的域指定一个参数。像这样:

要检查您的本地解析器正在使用哪个DNS服务器,请运行:

如果安装了dnsutils软件包,则可以使用DNS查找实用程序dig测试设置:

安装完BIND9之后,请对环回接口使用dig来确保它正在侦听端口53。从终端提示符下:

您应该在命令输出中看到类似于以下内容的行:

如果您已将BIND9配置为缓存名称服务器,则“挖掘”外部域以检查查询时间:

注意查询时间接近命令输出的末尾:

经过第二次挖掘后,应该有所改进:

现在演示应用程序如何使用DNS解析主机名,使用ping实用程序发送ICMP回显请求:

这测试名称服务器是否可以将名称解析为 nsexamplecom IP 地址。 命令输出应类似于:

测试区域文件的一种好方法是使用 named-checkzone 与bind9软件包一起安装的实用程序。使用此实用程序,可以在重新启动BIND9并使更改生效之前确保配置正确。

要测试我们的示例正向区域文件,请从命令提示符处输入以下内容:

如果一切配置正确,您应该会看到类似以下的输出:

同样,要测试反向区域文件,请输入以下内容:

输出应类似于:

BIND9有多种可用的日志记录配置选项,但是两个主要的选项是 channel 和 category ,它们分别配置日志的去向和要记录的信息。

如果未配置任何日志记录选项,则默认配置为:

让我们将BIND9配置为将与DNS查询相关的调试消息发送到单独的文件。

我们需要配置一个通道以指定要将消息发送到的文件,以及一个category。在此示例中,类别将记录所有查询。编辑 /etc/bind/namedconflocal 并添加以下内容:

由于命名守护程序以绑定用户身份运行,因此 /var/log/named 必须创建目录并更改所有权:

现在重新启动BIND9,以使更改生效:

您应该看到文件中 /var/log/named/querylog 填充了查询信息。这是BIND9日志记录选项的简单示例。

可以通过发送短信进行申请,更改密码也可以通过进入个人中心输入密保卡进行更改。工具——首选项——高级——网络单击“代理服务器”可输入必需的信息。所有指定协议上的流量都将会通过您指定的代理服务器。要使用代理服务器,您需要指定:协议(例如>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10569032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存