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内容如下:

wKioL1Md5sezPbvHAABIgSBQYr0417.jpg

   order hosts,bind    #名称解释顺序

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

   nospoof on          #禁止IP地址欺骗

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

   /etc/hosts内容如下:

wKiom1Md6Eeh9kM5AAEkpq8gdnk741.jpg

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

   /etc/resolv.conf

wKioL1Md6n_AzSTLAACkgjB5_0c168.jpg

   DNS列表:

       nameserver 101.104.223.21  主DNS服务器地址

       nameserver 175.188.96.14    辅助DNS服务器地址

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

   递归解析

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

   ②如果查询请求不是本机所负责区域中的数据的话,就查询缓存。
   ③如果缓存没有答案,则向根发起查询请求,层层下向的方式去申请,直至找到,并一级一级的返回,最络响应给本地的DNS服务器,由本地的DNS将请求结果,发给客户端。
         递归查询(只有那些可以递归的才可以写入到/etc/resolv.conf文件中)

wKiom1Md61_RKhO5AAGnqSEGDMI464.bmp

迭代解析

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

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

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

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


wKiom1Md7k-hWL-4ABrMOP_xL2U706.bmp


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

DNS的安装与配置文件说明

   1、安装包说明

wKiom1Md9i-gDCcYAALdWuYW9s8816.jpg

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

wKioL1Md-cPQTZpKAAHewztspRA303.jpg

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

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










本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1372123,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
32 2
|
1天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
1天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
13 0
|
1天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
3 0
|
3天前
|
资源调度 JavaScript Ubuntu
Linux系统之部署briefing视频聊天系统
【4月更文挑战第21天】Linux系统之部署briefing视频聊天系统
37 2
|
7天前
yolo-world 源码解析(六)(2)
yolo-world 源码解析(六)
18 0
|
7天前
yolo-world 源码解析(六)(1)
yolo-world 源码解析(六)
12 0
|
8天前
yolo-world 源码解析(五)(4)
yolo-world 源码解析(五)
19 0
|
8天前
yolo-world 源码解析(五)(1)
yolo-world 源码解析(五)
31 0
|
8天前
yolo-world 源码解析(二)(2)
yolo-world 源码解析(二)
21 0

相关产品

  • 云解析DNS