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

相关推荐

  • linux 的套接字

    套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。 套接字的特性有三个属性确定,它们是:域(domain),类型(type),和协议(protocol)。套接字还用地址作为它的名字。地址的格式随域(又被称为协议族,protocol family)的不同而不同。每个协议族又可以使用一个或多个地址族定义地址格…

    Linux干货 2016-08-18
  • CentOS6删除/etc/fstab和/boot后恢复

    CentOS6删除/etc/fstab和/boot后恢复 背景: Linux CentOS系统和启动相关的文件都在/boot目录下,如果我们将/boot目录下所有的文件都删除,然后在恢复系统,那以后在遇到系统启动问题时就都可以解决了。在这基础上,在将/etc/fstab文件删除,这样更加大了修复的难度,不过这都是可以修复的,这里就将介绍如何修复。 实验环境:…

    2017-09-01
  • http协议(2.2&2.4)RPM搭建配置

    http协议(2.2&2.4)RPM搭建配置 httpd的程序环境: 主程序文件:/usr/sbin/httpd CentOS6系列(默认httpd2.2) 1)配置文件: /etc/httpd/conf/httpd.conf、  /etc/httpd/conf.d/*.conf 2)服务脚本: /etc/rc.d/init.d/…

    Linux干货 2016-10-17
  • 任务计划

    Linux 任务计划、周期性任务执行 未来的某时间点执行一次任务 at batch :系统 自行选择空闲时间去执行此处指定的任务 周期性运行某任务 cron [root@localhost ~]# rpm -q at (CentOS6中使用) at-3.1.10-48.el6.x86_64 [root@localhost ~]# rpm -ql at /et…

    Linux干货 2017-05-13
  • N21_第8周_网络

    N21_第8周_网络 作业题目: 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥:(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。       &nbs…

    Linux干货 2016-10-09
  • DNS实验

      建立DNS服务器(正向解析) linux没有缓存 windows有dns缓存 权威结果,非权威结果 无论是正向解析数据库还是反向解析数据中  写管理员邮件地址或完整域名(FQDN)都要再后面加上点。否则系统会自动不上区域名称。 实验环境先清理防火墙规则,关闭防火墙. centos7 systemctl disabl…

    Linux干货 2016-11-01

评论列表(1条)

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

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