文章目录
Linux中怎么搭建主DNS、辅助DNS、缓存DNS服务器
一、认识DNS:
首先我们要了解一下什么是域名,当我们在没有DNS域名解析服务器去访问某台服务器的时候,我们只能基于IP去访问,但由于IP难记且不方便。我们需要一种来取代它,就是域名,好比www.baidu.com(对应的IP地址是119.75.217.109)这就是一个域名。当我们访问这个网站时就不需要输入它的IP地址那么麻烦了。那问题来了,是什么在域名与IP地址之间搭建了一个桥梁,使得访问域名的时候,就可以访问IP地址了。这就是接下来要说的DNS域名解析服务器。
题外话:注册域名时需要购买域名、空间、数据库。可以注册.中国这样的域名,域名付费会随着时间的推移所要交的钱更多。
1、DNS概述:
DNS是域名系统(Domain Name System)的缩写,它是由解析器和域名服务器组成的。
(1) 域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
(2)其中一个域名一般对应一个IP地址(特殊情况下一个域名会对应多个IP,相当于负载均衡,应答时可以做到随机应答起到分流作用),而一个IP地址不一定只对应一个域名。
(3)域名系统采用类似目录树的等级结构,如下图。域名服务器为 客户机/服务器模式 中的服务器方,它主要有两种形式: 主服务器和转发服务器 。
我们假如在访问百度的时候,输入的域名是:www.baidu.com. 注意com后还有一个 . 这个.就是根,这个根在搜索的时候被会被自动补充上。在访问万维网的时候这个根必须要有,访问在中国的时候不需要。世界上有13台根域名解析服务器,专门用作于全世界网络的解析。
域名 | 对应的字符 |
---|---|
根 | . |
顶级域名 | .com |
二级域名 | baidu.com |
三级域名 | www.baidu.com |
其中www代表的是主机名,比如说实现的是新闻、邮件或者是门户网站的访问。
2、DNS查询过程:
这里图片以一台主机访问www.google.com为例,阐述整个DNS查询过程是怎样的。
这里需要补充的是:
(1)本地主机在上网时先查询一下本地:本地磁盘(C)\Windows\System32\drivers\etc\hosts文件中有没有域名对应的IP。如果没有,会向本地域名服务器发出请求。对于Linux系统来说,是在/etc/hosts 这个文件。
(2)本地域名服务器首先会在自己的DNS高速缓存区中查找IP和对应的域名,以便于第2次收到相同的请求时,能在第一时间对主机做出应答。如果没有查到就会向其它服务器进行以下两种方式的查询。
(3)这里用到的两种查询方式:
迭代查询:A服务器向B服务器发出请求,B服务器给A服务器做出提示。A服务器根据提示再去向其他服务器发出请求,再重复之前的步骤。
递归查询:主机向本地域名服务器服务器要结果,本地域名服务器在自己不知道的情况下,通过层层查询多个服务器后,最终层层返回结果,最后给主机。
总结一下DNS查询过程:本地hosts文件 ——> 本地DNS缓存 ——> DNS服务器
3、DNS常见名词:
(1)区 :区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。一个域名对应一个区。
(2)全域名 :是指主机名加上全路径,全路径列出了序列中所有域成员。
(3)区文件 :包含区资源记录的文件,选择DNS服务器为授权服务器,管理该区域。
(4)DNS缓存 :DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则会询问其他DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存。
(5)正向解析 :通过域名解析IP
(6)反向解析 :通过IP解析域名
(7)资源记录 :DNS服务器的信息数据,按照 分类 进行存储,能够解析客户端的DNS请求。下面是类别:
①SOA资源:
起始授权记录,定义 全局参数 ,对整个域的管理进行设置。一个区域文件只允许在唯一的SOA记录。
记录的信息包含:区域名(当前)、记录类型SOA主域名服务器(FQDN)、管理员邮件地址(序列号、刷新间隔、重试间隔、过期间隔、TTL)
Ⅰ刷新间隔:相对于辅助域名服务器来说,多长时间辅助域名服务器向主域名服务器之间来同步一次。
Ⅱ重试间隔:刷新之后要同步过来,如果失败了,就需要重试,隔多长时间重试一次。
Ⅲ过期间隔:反复重试均失败了,超过过期间隔,那么就放弃。
②NS资源记录:
名称服务器(NS)资源记录表示 该区域授权服务器 ,它们表示SOA资源记录中制定的