Linux DNS服务详解——DNS基础知识

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Linux DNS服务详解——DNS基础知识

今天继续给大家介绍Linux运维相关知识,本文主要内容是Linux DNS服务详解。

一、DNS服务架构
DNS服务,即Domain Name Service,域名解析服务。主要是用于提供域名与IP地址的解析服务,DNS服务基于TCP和UDP的53端口,采取树状的逻辑结构。DNS本质上是一个分布式的数据库,命名采用层次结构,最大不可超过127层,每层最长63个字符。
DNS树状结构如下图所示:

(图片来源于网络,如有侵权,请联系删除)

二、DNS的域和域名
在上图中,DNS树的每个节点都代表一个域,从根域到最后的节点域进行反向排列,并使用“.”分隔,就形成了一个完整的域名。我们把符合上述条件构成的域名称为完全合格域名FQDN,除了上述构成方式之外,FQDN还有命名上的严格限制,其长度不能超过256字节,并且只允许使用数字、大小写字母和减号。
DNS的最上层为根域名,全球一共有13个根域名服务器,根域名向下为顶级域名,顶级域名一共三种类型。
1、组织域: 即一个组织使用的域名,通常使用三个字符,常见的有.com顶级商业域名,.edu顶级教育域名,.gov顶级政府机构域名,.org顶级非盈利机构域名等等。
2、地址域: 即一个国家或者地区使用的域名,通常使用两个字符,常见的有.cn表示中国,.us表示美国等等。
3、反向域: 特指in-addr.arpa,用于将IP地址映射为域名,反向查询时使用。

三、DNS区和辅助域名服务器
为了分散DNS服务器的符合,DNS服务器会根据实际情况将名称空间划分成区域来进行管理。一个区域的DNS服务通常由一台主控DNS服务器和多台辅助DNS服务器来提供辅助服务器会与主控服务器保持同步并且当主控服务器宕机后接替其继续工作。

四、DNS查询方式
当一台机器要进行DNS解析时,首先需要先查看本地缓存,对于Linux系统,则查询/etc/hosts文件,对于windows系统,则查询C:\Windows\System32\drivers\etc文件。因此,我们可以通过修改该文件的方式,强制性将一域名与一个指定的IP地址相对应。但是在大多数情况下,该文件内不会有DNS的记录,需要向本地设置的DNS服务器发起DNS查询请求。当DNS收到该查新请求后,首先要查看本地缓存,如果缓存内有该域名的解析记录,则直接将IP地址应答客户端的请求,而如果本地缓存中没有该域名的解析记录,则需要从顶级服务器开始,一级一级向下查询,直到查询到该域名对应的IP地址,以解析www.163.com域名为例,上述过程如下图所示:

(图片来源于网络,如有侵权,请联系删除)
DNS的查询有两种方式,一种是递归查询,另一种是迭代查询。递归查询是指当DNS服务器收到客户端的DNS查询请求时,如果本地没有该DNS信息,那么需要该DNS服务器向顶级DNS服务器和其他DNS服务器查询该域名的信息,知道查询到该域名对应的IP地址,并将该IP地址反馈给客户端。因此,客户端通过一次DNS查询就可以得到该域名所对应的IP地址。迭代查询是指当DNSDNS服务器收到客户端的DNS查询请求时,如果本地没有该DNS信息,那么直接将存在该域名记录的DNS服务器的IP地址告知该客户端,由客户端向该服务器继续进行DNS查询。
因此,在上图中,本地DNS服务器是使用递归查询,而其他DNS服务器使用的是迭代查询的方式。

五、DNS资源记录
在DNS服务器中,通常由以下6种资源记录:
1、SOA资源记录。
SOA记录即Start of Authority Record,起始授权记录,该记录存在与每个区的开始处。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在一个SOA记录。
2、NS资源记录。
NS记录是指Name Server,即域名服务器记录,该记录用于指定该域名由哪个DNS服务器来进行解析。每个区在区根处至少包含一条NS资源记录。
3、A资源记录。
A资源记录用于记录FQDN与IP地址的映射关系,DNS依据此记录来解析域名。
4、PTR资源记录。
PTR资源记录用于反查寻,该记录是IP地址与FQDN的映射关系,通过该记录可以由IP地址找到相应的域名。
5、CNAME资源记录。
CNAME资源记录即别名记录。该记录可以将真实的FQDN替换为一个别名,利用该记录可以隐藏用户网络的实现细节,例如,我们在ping百度的网址时,就会发现反馈回的域名并不是真实的百度域名,如下所示:

而当我们ping CNSD网站时,返回的正是CSDN网站的域名,如下所示:

可以看出,百度使用了CNAME记录进行了真实域名的隐藏,而CSND没有进行真实域名的隐藏。
6、MX资源记录。
MX资源记录是邮件交换记录,为DNS域名指定邮件交换服务器。邮件交换服务器是指为DNS域名处理或转发邮件的主机。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121216647

目录
相关文章
|
23天前
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
104 19
|
21天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
22天前
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
238 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
67 6
|
3月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
98 17
|
3月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
58 5
linux系统服务二!
|
3月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
73 3
linux系统服务!!!
|
3月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
98 4
|
3月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
3月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手