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,如需转载请自行联系原作者
目录
相关文章
|
网络协议 安全 区块链
DNS+:互联网的下一个十年,为什么域名系统正在重新定义数字生态? ——解读《“DNS+”发展白皮书(2023)》
DNS+标志着域名系统从基础寻址工具向融合技术、业态与治理的数字生态中枢转变。通过与IPv6、AI和区块链结合,DNS实现了智能调度、加密传输等新功能,支持工业互联网、Web3及万物互联场景。当前,中国IPv6用户达7.6亿,全球DNSSEC支持率三年增长80%,展现了其快速发展态势。然而,DNS+仍面临安全威胁、技术普惠瓶颈及生态协同挑战。未来,需推动零信任DNS模型、加强威胁情报共享,并加速标准制定,以筑牢数字时代网络根基,实现更安全、高效的数字生态建设。
785 4
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
3500 12
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
272 20
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
382 15
|
存储 Linux
Linux内核中的current机制解析
总的来说,current机制是Linux内核中进程管理的基础,它通过获取当前进程的task_struct结构的地址,可以方便地获取和修改进程的信息。这个机制在内核中的使用非常广泛,对于理解Linux内核的工作原理有着重要的意义。
661 11
|
机器学习/深度学习 文字识别 监控
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
653 3
|
5天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
409 125
|
7天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
696 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多