DNS域名系统

【本文导航】
DNS域名系统
DNS域名系统
DNS解析类型
DNS查询类型
DNS服务器类型
资源记录
   SOA记录
   NS记录
   MX记录
   A记录与泛域名
   PTR记录
   CNAME记录
   AAAA记录
子域
区域传送

 

DNS【域名系统】:

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP。

DNS【域名结构】:

    【域名】是由点号". "将各级域的名称(lables)隔开组成(如www.178linux.com)。各lables由“数字”“字母”“-”其中的一种或多种组成。各lable长度应该在63个字符之内, 而且总长度应该不超过25563个字符,且域名最多不能超过127层。
    一个【全域名】(FQDN),即完整的完全合格域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。

DNS域名系统01.png

    常见域:
    根域:用“.”表示;
    顶级域(一级域):常见顶级域有com、edu、mil、gov、net、org、int等;
    二级域:如178linux、google等;
    三级域:如www、bbs等;
    全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统,由CANN(互联网名称与数字地址分配机构)负责管理。

DNS【解析类型】:

    根据DNS的查询类型非为正向解析与反向解析
    通过主机名,查询得到该主机名对应的IP地址的过程叫做【正向解析】(FQDN –> IP)。
    反过来,如果是通过主机IP查询得到域名的过程叫【反向解析】(IP –> FQDN),反向解析的作用为服务器的身份验证,一般用在邮箱系统上面。
    正反向解析是两个不同的名称空间,是两棵不同的解析树,理论上不能运行在同一服务上(现在技术允许,只需配置不同查询数据库)。
  DNS一次完整的查询请求流程:
    客户端 –>hosts文件 –>本地DNS服务器缓存–> DNS 服务器递归 (recursion) –> 服务器缓存 –> 迭代(iteration) –> 根–> 顶级域名DNS–>二级域名DNS… 

DNS解析.png

DNS【查询类型】:

    【递归查询】是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。即上图右边部分客服机向DNS服务器查询的过程。
    【迭代查询】又称重指引,当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。即上图左边部分DNS服务器帮忙客服机查询的过程。

DNS【服务器类型】:

    【主DNS服务器】:用来管理和维护所负责解析的域内解析库的服务器,正常情况下,一个域只有一个主DNS服务器。
    【从DNS服务器】:从主服务器或从服务器“复制”(区域传输)解析,主要起到分流作用,从服务器可以有多个。
    【缓存DNS服务器】(转发器):本身不提供DNS解析,仅提供DNS信息查询和缓存操作。

【资源记录】

    区域解析库由多个资源记录组成(Resource Record, RR),主要类型有A, AAAA, PTR, SOA, NS, CNAME, MX。

DNS域名系统03.png
                  (linux.com.区域的部分资源记录文件)

    SOA: Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录;
    A:——internet Address,将FQDN映射为IP
    AAAA:—将FQDN映射为IP IPv6
    PTR:—-PoinTeR,将IP映射为FQDN
    NS:—–Name Server,专用于标明当前区域的DNS服务器
    CNAME:–Canonical Name,别名记录
    MX:—–Mail eXchanger,邮件交换器

  资源记录【语法】: name  [TTL]  IN  RR_type  value

    (1) TTL可从全局继承;
    (2) @可用于引用当前区域的名字;
    (3) 同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询方式响应;
    (4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机; 

  【SOA记录】

    name: 当前区域的名字,也可简写为@,例如“linux.com”
    value: 有多部分组成
   (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
   (2) 当前区域管理员的邮箱地址;地址中不能使用@符号,用“.”替换例如jev.linux.com.
   (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
  例如:

DNS域名系统04.png

    linux.com  86400  IN  SOA  dns1.linux.com.  jev.linux.com. (
          2    ;serial number,序列号,十进制数字,不能超过10位,通常使用日期
          86400 ;refresh time,刷新时间,每隔多久跟主服务器同步检查一次
          3600  ;retry time,重试时间,应该小于refresh time
          604800;expire time,过期时间
          7200 ;negat answer ttl,否定答案的TTL值
          )

  【NS记录】

    name: 当前区域的名字
    value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.
    注意:一个区域可以有多个NS记录;

  例如:

    linux.com.  86400  IN  NS  dns1
    linux.com.  NS  dns2

    注意:
    (1)相邻的两个资源记录的name相同时,后续的可省略;
    (2)对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;

 【MX记录】

    name: 当前区域的名字;
    value: 当前区域的某邮件服务器(smtp服务器)的主机名;
    一个区域内, MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;

  例如:

    linux.com.  86400  IN  MX  0  mailsrv1
    linux.com.  MX  8  mailsrv2

    注意:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录; 

  【A记录】泛域名

    name: 某主机的FQDN,例如www.magedu.com.
    value: 主机名对应主机的IP地址;

  例如:

    www.linux.com.  86400  IN  A  1.1.1.1
    bbs.linux.com.   A  2.2.2.2
    mx.linux.com.  A  3.3.3.3

    如果有多条,且域名与IP存在一定对应关系,可以通过下面方式写A记录:

    $GENERATE  1-254  HOST$  A  1.2.3.$

    即:HOST1  A  1.2.3.1、HOST2  A  1.2.3.2  . . . HOST254  A  1.2.3.254
    避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址:

    *.linux.com.  A  1.1.1.1

    即:只要用户输入的后缀是.linu.com.,不管前面是什么,都解析为1.1.1.1 

  【PTR记录】

DNS域名系统05.png

    name: IP,有特定格式,把IP地址反过来写, 1.2.3.4,要写作4.3.2.1;而有特定后缀: in-addr.arpa.,所以完整写法为: 4.3.2.1.in-addr.arpa.
    value: FQDN

  例如:

    4.3.2.1.in-addr.arpa.  86400  IN   PTR   www.linux.com.

    如1.2为网络地址,可简写成:

    4.3  86400  IN   PTR  www.linux.com.

    注意:网络地址及后缀可省略;主机地址依然需要反着写;  

  【CNAME】别名记录
    name: 别名的FQDN
    value: 真正名字的FQDN
  例如:

    www.linux.com.  86400  IN   CNAME  websrv

  【AAAA记录】
    name: FQDN
    value: IPv6
  例如

    www.linux.com.  86400  IN  AAAA  fe80::20c:29ff:fe29:b0bf

 【子域】

    子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权;如:
    根域对com子域的授权

DNS域名系统06.png

    com域对linux.com子域的授权

DNS域名系统07.png

 区域传送】

  辅助DNS服务器跟主服务器从主DNS服务器或其他辅助DNS服务器请求传输数据的过程;分为完全区域传送、增量区域传送;完全区域传送(AXFR),即每次同步传送区域所有数据;增量区域传送(IXFR),即每次只传送区域中改变的部分数据。

【相关链接】:DNS域名解析系统搭建

 

 

 

 

 

 

 

 

 

原创文章,作者:Jev Tse,如若转载,请注明出处:http://www.178linux.com/64885

(1)
Jev TseJev Tse
上一篇 2016-12-26
下一篇 2016-12-26

相关推荐

  • 破解root口令

    这里主要介绍一下centos6和7root密码的破解方法 这里先说一下centos7的口令破解方法 破解CentOS7的root口令方法一 启动时任意键暂停启动  按e键进入编辑模式  将光标移动linux16开始的行,添加内核参数rd.break 按ctrl-x启动 这是进来之后的界面 然后查看用户的登录信息 echo $UID 显示结…

    2017-07-14
  • 马哥linux0803作业内容

    1. 创建sysadmins组 将用户user1,user2,user3加入sysadmins组中 将user3设置为sysadmins的管理员 用user3登录,将user2从组中移除 设置sysadmins的密码centos 设置user1 在创建新文件时,文件的所属组为sysadmins 删除user1…3 删除sysadmins 2、三种权限rwx对…

    Linux干货 2016-08-04
  • 文件系统管理_设定文件系统的配额

    认识配置配额系统 :为控制用户使用的空间的大小,在linux可以实现对分区的大小控制,控制用户在这个分区内使用空间的大小同时还可以对用户的文件个数实现控制。 在linux系统中其遵循文件分区来实现控制 磁盘的配额只针对单个分区来实现控制,不能对单块磁盘(硬盘)来实现控制的 【搭建试验环境 1】 怎样把某一个文件夹(/home)单独放到(迁移)一个独立的分区中…

    Linux干货 2017-04-24
  • 设计模式 ( 二十 ) 访问者模式Visitor(对象行为型)

    特此说明:对访问者模式理解不是特别透彻,若有误,请指正,谢谢! 1.概述 在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同。 例子1:顾客在超市中将选择的商品,如苹果、图书等放在购物车中,然后到收银员处付款。在购…

    Linux干货 2015-04-07
  • Linux发展史

    Linux发展史 操作系统出现前:   1946年第一台计算机诞生–20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片…

    Linux干货 2016-10-14
  • crm命令行命令详解

    crm -status 显示当前集群状态 -configure 配置集群 a.show xml 显示当前集群配置信息(xml格式) b.property 显示集群可用的全局属性(键入之后按两下Tab) -verifiy 校验 -commit 提交 -node a.online 设置当前节点上线 b.show 显示当前节点状态 c.standby 将当前节点设…

    Linux干货 2017-11-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-27 15:18

    条理清晰,知识点全面,很优秀的文章,标题有问题哦,DNS,nds?细心点哦