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

简介: 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

目录
相关文章
|
15天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
19天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
4天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
11 0
|
10天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
25 0
|
11天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
15天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
20 3
|
19天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
22天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
22天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6
|
23天前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)