今天继续给大家介绍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

Linux DNS服务详解——DNS基础知识相关推荐

  1. Linux vsFTPd服务详解——vsFTPd基础知识

    今天继续给大家介绍Linux运维相关内容,本文主要内容是Linux的vsFTPd服务. 一.vsFTPd服务简介与安装 FTP服务,即File Transfer Protocol.文件传输服务,用于在 ...

  2. Linux DNS服务详解——DNS服务搭建细节

    前几天,我陆续给大家介绍了DNS服务的相关内容,今天,我给大家补充介绍一下DNS服务中一些小问题. 前文链接: Linux DNS服务详解--DNS基础知识 Linux DNS服务详解--DNS实战配 ...

  3. Linux DNS服务详解——DNS实战配置

    今天继续给大家介绍Linux基础知识,本文主要内容是DNS的实战配置. 一.DNS安装与配置文件 如果采用YUM的安装方式,DNS设计到三个包,相关命令如下: yum install -y bind ...

  4. 奇小葩讲设备树(1/5)-- Linux设备树详解(一) 基础知识

    关于设备树,之前就经过详细的系统培训,但是本着会用就行的原则,对各个知识点都没有进行系统的总结.都是用到哪里学哪里,时间长了,基本也忘记了.所以对于后期知识各个知识点进行总结,本章主要讨论一下内容,能 ...

  5. DNS服务详解(解析+搭建)

    文章目录 详解DNS服务的搭建与解析 参考阅读 前言 一.解析过程 1.1 层级架构 1.2 解析过程 二.DNS服务器的搭建 2.1 配置文件 2.2 搭建步骤 [基础-DNS服务器] [进阶-主从 ...

  6. Linux Socket详解 大全 基础知识

    1. Socket基础概念: 1.1:形象类比: Socket和电话网络的概念可以做一个很好的类比: Linux 编程中所说的socket就如同一个端点,类比到电话网中,它就如同一个电话机. 而Soc ...

  7. linux网络服务详解,Linux网络服务器配置基础详解 (3)

    Linux网络服务器配置基础详解 (3) Linux网络服务器配置基础详解 (3) 第三步:编辑"inetd.conf"文件(vi /etc/inetd.conf),禁止所有不需要 ...

  8. DNS服务详解及正向解析与反向解析

    现在想想,我们平时在浏览器上浏览网页时,一般是不是使用的域名去访问的呢,为什么要使用域名呢,使用域名的好处是什么呢,带着这些问题,深入思考才能真正的学好DNS. 要想了解DNS,就必须先知道域名这个概 ...

  9. java jdbc_详解Java基础知识——JDBC

    JDBC Java DataBase Connectivity,java数据库连接,为了降低操作数据的难度,java提供jdbc,按照java面向对象特点,对操作进行了很多封装. JDBC提供了很多接 ...

  10. php读音量大小,Android_Android中实时获取音量分贝值详解,基础知识 度量声音强度,大 - phpStudy...

    Android中实时获取音量分贝值详解 基础知识 度量声音强度,大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位,计算公式如下: 分子是测量值的声压,分母是参考值的声压 ...

最新文章

  1. python 语言-Python的语言特点
  2. CTFshow 命令执行 web31
  3. javascript函数调用的几种方式
  4. mysql句柄是什么_MySQL与句柄
  5. Vue—基础概念—实例
  6. Kotlin与Java之争
  7. ADAS视觉方案盘点下篇:11家创业公司完全解读
  8. 投资股权众筹项目,至少需要关注6个方面
  9. 2017年高考改革地区:浙江、上海
  10. Bootstrap面包屑导航
  11. 换个思路理解Javascript中的this
  12. 移动端ajax分页,移动端分页加载 - 花乐天的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. 查看sqlserver信息
  14. 基于CANape开发的XCP测量
  15. Sphero SPRK+,和星战的 BB-8 一样,这个球也是机器人 | 新玩意 · Apple Store
  16. ubuntu10.10下安装五笔86输入法
  17. 生如夏花之绚烂,死如秋叶之静美---也传奇
  18. java铁三公路自行车_公路车、计时车、铁三车,到底都是什么鬼?
  19. 逻辑思维能力选择题30道
  20. 贴近摄影测量 | 重建花山岩画只需两步!

热门文章

  1. Window10上使用Git与Github远程仓库互连
  2. PLA算法(感知机)
  3. LeetCode刷题——209. 长度最小的子数组
  4. Java网络编程进阶:通过JSSE创建安全的数据通信
  5. 深入浅出Java反射机制
  6. ant vue 设置中文_ant design vue导航菜单与路由配置操作
  7. java单链表删除重复元素_用加头节点实现链表的删除重复元素、分割、翻转(Java实现)...
  8. 力扣-525 连续数组
  9. Futter基础第15篇: 实现类似闲鱼App底部导航凸起按钮
  10. Visio—如何画虚线?