天天看点

linux系统之DNS原理解析(第一步)

前言

   现在,用户打开个网站页面只要输入该网站的网址,就可以访问该网站,而在Internet发展的早期,只能过IP地址才能访问网页。然而到了今天,访问各个网站都不再需要用到ip地址,只要通过网站中、英文网址,甚至只要部分关键就可以访问特定的网页。实现这一便捷功能的网络服务就是DNS域名解析服务,它实现了IP地址到域名的对应。

DNS是什么

   DNS(Domain Name Server,域名服务器),由伯克利大学发展出来的另一种层次式管理主机名到IP地址的系统,是为了便于访问Internet而采用的一种分布式的域名-->IP地址映射查询和管理方法。用户在不知道主机IP地址而只知道主机域名的情况下,也可以轻松的进行访问,这就是DNS的功劳。

DNS提供了那些服务

   DNS除了最主要的功能从主机名到IP地址的转换,还有提供了一些其它的服务。

   1、主机别名

   2、邮件服务器别名

   3、负载分担

DNS是怎样工作的

   DNS基本身是分为服务端与客户端的,提交域名查询请求的主机叫DNS客户端,而处理域名查询请求的主机叫DNS服务端,其实DNS的客户端同样拥有简单的查询功能,通过本地的配置文件(/etc/host.conf,/etc/hosts,/etc/resolv.conf)来实现的。

   当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序

   /etc/host.conf内容如下:

<a href="http://s3.51cto.com/wyfs02/M01/22/5E/wKioL1Md5sezPbvHAABIgSBQYr0417.jpg" target="_blank"></a>

   order hosts,bind    #名称解释顺序

   multi on            #允许主机拥有多个IP地址

   nospoof on          #禁止IP地址欺骗

   order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。

   /etc/hosts内容如下:

<a href="http://s3.51cto.com/wyfs02/M00/22/5D/wKiom1Md6Eeh9kM5AAEkpq8gdnk741.jpg" target="_blank"></a>

   第一列是主机的IP地址,第二列是FQDN(Fully qualified domain name,完全限定域名),第三列为别名.

   /etc/resolv.conf

<a href="http://s3.51cto.com/wyfs02/M02/22/5E/wKioL1Md6n_AzSTLAACkgjB5_0c168.jpg" target="_blank"></a>

   DNS列表:

       nameserver 101.104.223.21  主DNS服务器地址

       nameserver 175.188.96.14    辅助DNS服务器地址

   DNS服务端解析过程有递归与迭代之分

   递归解析

   ①当客户端发起查询请求时, 先查询本地数据文件(如果查询请求是本机所负责区域中的数据的话,要通过查询区域数据文件返回结果)

   ②如果查询请求不是本机所负责区域中的数据的话,就查询缓存。

   ③如果缓存没有答案,则向根发起查询请求,层层下向的方式去申请,直至找到,并一级一级的返回,最络响应给本地的DNS服务器,由本地的DNS将请求结果,发给客户端。

         递归查询(只有那些可以递归的才可以写入到/etc/resolv.conf文件中)

<a href="http://s3.51cto.com/wyfs02/M01/22/5D/wKiom1Md61_RKhO5AAGnqSEGDMI464.bmp" target="_blank"></a>

迭代解析

   1、查询本地数据文件(如果查询请求是本机所负责区域中的数据的话,要通过查询区域数据文件返回结果)

   2、如果查询请求不是本机所负责区域中的数据的话,就查询缓存。

   3、如果缓存没有答案,则向根发起查询请求。

   4、在迭代解析中,向根发起请求时(第一步),根不会为任何个区域解析,根只能返回是那一个一级域具体负责解析这个区域,由本地DNS自己去找到对应的一级区域(第二步),当DNS请求到一级的某一个区域时,该区域会返回一个“参考”答案,而本地的DNS根据此信息,再次向下一级请求,依此方法向下请求,直至找到后(第三步),DNS会将请求的结果响应给客户端(第四步)。

<a href="http://s3.51cto.com/wyfs02/M02/22/5D/wKiom1Md7k-hWL-4ABrMOP_xL2U706.bmp" target="_blank"></a>

   由此可见,递归一般发生在客户机和服务器之间,也就是说,客户端到本地的DNS服务器之间是递归查询,迭代则发生于本地DNS服务器与其它域之间。

DNS的安装与配置文件说明

   1、安装包说明

<a href="http://s3.51cto.com/wyfs02/M00/22/5D/wKiom1Md9i-gDCcYAALdWuYW9s8816.jpg" target="_blank"></a>

   2、安装后常用各文件说明

<a href="http://s3.51cto.com/wyfs02/M02/22/5E/wKioL1Md-cPQTZpKAAHewztspRA303.jpg" target="_blank"></a>

DNS原理就说到这里,明天将说明配置文件,正反向解析,主辅简单配置

===================================完===========================================

本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1372123,如需转载请自行联系原作者

继续阅读