Linux笔记 DNS服务

一、DNS相关概念
1、DNS介绍
        DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。利用 TCP 和 UDP 的53号端口
 
2、DNS域名空间
    DNS是一种分布式、分层次的主机名管理架构,通过配置DNS服务器地址,主机不需要知道对应的ip地址就可以通过主机名的形式访问互联网。DNS同根文件系统一样都是倒状的树状形状,最顶层是 根服务器,主要负责顶级域名的管理,顶级域名就像是.com,.cn,.net,.edu等等,在下面的 顶级域名服务器则负责所对应的二级域名。如.baidu.com,.qq.com等,接下来 二级域名服务器负责对应的主机名称解析或者其三级域名解析。三级域名如,.game.qq.com,www.qq.com等,以此类推 。      
 
以百度(www.baidu.com)和百度贴吧(tieba.baidu.com)来举例
>>>域名:不论是www.baidu.com还是tieba.baidu.com,它们的域名都是baidu.com,严格地说是"baidu.com."。这是百度所购买的com域下的一个子域名。
>>>主机名:对于www.baidu.com来说,主机名是www,对于tieba.baidu.com来说,主机名是tieba。其实严格来说,www.baidu.com和tieba.baidu.com才是主机名,它们都是baidu.com域下的主机。一个域下可以定义很多主机,只需配置好它的主机名和对应主机的IP地址即可。
>>>FQDN(Full Qulified Domain Name):完全合格域名,是指包含了所有域的主机名,其中包括根域。FQDN可以说是主机名的一种完全表示形式,它从逻辑上准确地表示出主机在什么地方。
 
3、域的分层授权
    域是从上到下授权的,每一层都只负责自己的直辖下层,而不负责下下层。例如根域给顶级域授权,顶级域给普通域授权,但是根域不会给普通域授权。和现实中的行政管理不一样,域的授权和管理绝对不会向下越级,因为它根本不知道下下级的域名是否存在。
   
4、DNS查询过程
 
  两种查询过程:递归查询、迭代查询
>>>递归查询:主机先寻找根域(.),根域向下询问顶级域名(com),顶级域名继续向下询问二级域名(baidu),二级域名服务器中保存有正向解析文件(域名 > ip),文件中记录有A记录(域名和IP的映射关系),因此二级域名服务器可以直接查询到该域名(www.baidu.com.)的ip地址。随后二级域名返回给顶级域名,顶级域名返回给根域,根域再返回给主机。

>>>迭代查询:主机先查找到根域(.),根域将顶级域名(com)服务器地址返回给主机,主机访问顶级域名,顶级域名返回二级域名(baidu)服务器地址,主机继续访问二级域名,二级域名服务器根据正解文件返回ip地址。

 
 
  实际查询过程分析
   

1、本地主机查询本地host文件查看是否有www.baidu.com主机与ip的对应关系,若有,则直接给与使用;若无则进行第二步;

2、 此时本机将向指定的dns server(假设为NS1)发起查询请求。NS1在收到来自客户端的请求后,会及时的去查询NS1上的缓存记录,查看是否有baidu.com的解析记录,若有则直接反馈给客户端,若没有,则进行第三步;

3、此时NS1会主动向根域名服务器发起查询WWW.baidu.com的请求。但是根服务器只记录了.com的相关信息,此时会告知NS1:我这没有WWW.baidu.com的记录,你可以去向.com去查询,并告知NS1.com的地址;

4、于是NS1就根据根服务器告知的.com地址去向发起查询www.baidu,com的请求,但是.com只记录了baidu.com的记录,没有www的主机记录,就告知NS1服务器:我没有www.baidu.com的具体解析记录,但我知道baidu.com的地址,你可以去找他查询,并告知地址

5、紧接着NS1就向baidu.com发起www.baidu.com的查询请求,于是baidu.com就去查询本地的记录,找到www主机对应IP地址123.125.115.110,于是就将www.baidu.co的IP地址反馈给NS1;

6、NS1在收到具体结果后,会先将结果储存在本地的DNS缓存中,以方便如有下次相同的解析请求能够快速的响应,之后将结果直接反馈给客户端,完成解析。

在www.baidu.com解析过程中有两个阶段:1、客户端将解析请求发送给NS1之后只需等待结果就行了;2、NS1在接到客户端的请求后,全面负责查找www.baidu.com,查找的每个过程都是NS1去请求的。这两个过程的查找方式是明显不同的,前者我们称之为递归查询,后者为迭代查询

5、正解/反解区域
        正解:主机名到ip解析
            正解区域 pl.com  
            
        反解:ip到主机名解析
            反解区域 1.1.10.in-addr.arpa
            
 
6、资源记录类型(RR TYPE)
       
>>> SOA:start of authority,起始授权机构。
 格式         
域 IN  SOA 域内dns服务器FQDN 管理员邮箱地址(@用.代替)    (
serial  
refresh
retry 
expire
negative ttl
)

                   serial

                        第一个值是区域数据文件的序列编号serial,每次修改此区域数据文件都需要修改该编号值以便让slave dns服务器同步该区域数据文件
                    refresh
                        表示slave dns服务器找master dns服务器更新区域数据文件的时间间隔
                    retry
                        表示slave dns服务器找master dns服务器更新区域数据文件时,如果联系不上master,则等待多久再重试联系,该值一般比refresh时间短,否则该值表示的重试就失去了意义。
                    expire
                        表示slave dns服务器上的区域数据文件多久过期。
                    negative ttl
                        表示客户端找dns服务器解析时,否定答案的缓存时间长度
 
 
>>>NS:存储的是该域内的dns服务器相关信息。即NS记录标识了哪台服务器是DNS服务器
格式:
pl.com  IN  NS  dns1.pl.com.
域名 IN NS FQDN

  

>>>A:address,存储的是域内主机名所对应的ip地址
格式:        
主机名/FQDN IN A IP
www.pl.com.  IN   A   172.16.200.181
www          IN   A   172.16.200.181
 
*以上三种为正解文件或反解文件必须类型
 
>>>PTR:pointer,和A记录相反,存储的是ip地址对应的主机名,该记录只存在于反向解析的区域数据文件中(并非一定)
格式:
181       IN PTR www.pl.com
IP最后一段 IN PTR FQDN

  

>>>MX:域邮件服务器
 
 
>>>CNAME:canonical name,表示规范名的意思,其所代表的记录常称为别名记录。
格式:
www1.pl.com IN CNAME www.pl2.com 

  

猜你喜欢

转载自www.cnblogs.com/dumpling-z/p/11519201.html