架构师成长之路6.1 DNS理论

点击返回架构师成长之路

架构师成长之路6.1 DNS理论

1.DNS一些基本概念

①FQDN:Full Qualified Domain Name,完全限定域名,即每个域在全球网络都是唯一的;另外值得提到的一点是域并不是指诸如www.google.com这样的域名,而google.com才是域;

②域的分类

 根域:标识为(.)点 ,全球13组根域名服务器以英文字母A到M依序命名,域名格式为“字母.root-servers.net”。
            其中有11个是以任播技术在全球多个地点设立镜像站。
            比如中国大陆在北 京有两台编号为L的镜像,编号为F、I、J的镜像各一台,共5台;香港有编号为D、J的镜像各2台,编号为A、F、I、L的镜像各一台,共8台;台湾则有编号为F、I、J各一台,共3台。

 顶级域:顶级域(Top Level Domain,简称TLD)分为三类

  •   通用顶级域:诸如 .com(商业机构) .org(非营利性组织) .net(网络服务机构)等
  •   国家顶级域:诸如 .cn(中国) .uk(英国) .us(美国) .jp(小日本)
  •   反向域(基础建设顶级域):.arpa,即从IP到FQDN的反向解析

③ DNS服务器查询的类型:

  •  递归:客户端仅发出一次请求,让DNS服务器去查询返回结果;
  •  迭代:要发出多次请求去分别查询不同的DNS服务器;

④ DNS名称解析方式:

  • 正向解析:即将FQDN转化为IP。
  • 反向解析:即将IP转化为FQDN。

⑤ DNS服务器类型:

  • 主DNS服务器:就是一台存储着原始资料的DNS服务器。
  • 从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也成辅助DNS服务器。
  • 缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
  • 转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。

⑥ DNS返回的结果类型:

  • 肯定答案:查询的域存在,会被缓存下来。
  • 否定答案:不存在查询的域名,因此不存在与其查询的域名对应的IP;会被缓存下来。
  • 权威答案:所查询的域名的结果是由负责解析这个域的DNS服务器所返回的答案。
  • 非权威答案:在缓存中查询的结果。

⑦ DNS的监听端口:tcp的53号端口,udp的53号端口。

2.DNS解析过程

首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。

DNS服务器在收到客户机的请求后:

  • 检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
  • 若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
  • 若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
  • 若没有找到,则返回错误信息。

3.DNS记录类型

DNS域名数据库有资源记录和区文件指令组成,由SOA(Start Of Authority起始授权机构记录,SOA 记录说明了在众多NS记录里那一台才是主名称服务器) RR开始,同时包括NS RR;正向解析文件包括A (internet Address,作用,FQDN –> IP)RR MX (Mail eXchanger,邮件交换器)RR和 CNAME(Canonical NAME 别名) RR 等;反向解析文件包括PTR(PTR: PoinTeR,IP –> FQDN) RR

           RR 语法:name  [TTL]  IN  type  value (字段之间由空格和制表符隔开)

注意:

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

         named字段:

  • 根域以” . “结束,并且只有一个,没有上级域。而在Internet中,根域一般不需要表现出来。
  • @:默认域,文件使用$ORIGIN domain 来说明默认域。
  • ttl 全称”Time to Live “,以秒为单位记录该资源记录中存放高速缓存中的时间长度。通常此处设为空,表示采用SOA的最小ttl值。
  • IN:将该记录标志为一个Internet DNS资源记录。

         type字段:

  • A记录:主机名对应的IP地址记录,用户可将该域名下网站服务器指向自己的Web服务器,同时也可设置域名的二级域名。
  • MX记录:邮件交换记录可将该域下所有邮件服务器 指向自己的邮件服务器,只需在线填写服务器的IP地址。
  • CNAME记录:别名记录,可允许多个名字映射到同一计算机,通常用于同时提供Web和邮件服务器的计算机。
  • SOA记录:一个授权区的开始,配置文件的第一个记录必须是SOA的开始。
  • PTR记录:用于地址到主机名的映射。
  • HINFO记录:由一组描述主机的信息文件组成,通常包括硬件名称和操作系统名称。

         value字段:

  • A :存放IP地址。
  • CNAME:设置主机别名。
  • HINFO:通常为两行,分别对应Hareware(计算机硬件名称)和OS-type(操作系统名称)。
  • NS:域名服务器的名称。
  • PTR:主机真实名称。

SOA记录:   name: 当前区域的名字

    例如“carlos.com.”   value: 有多部分组成

  • 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
  • 当前区域管理员的邮箱地址;地址中不能使用@符号,一般用.替换 如linuxedu.carlos.com
  • 主从服务区域传输相关定义以及否定的答案的统一的TTL

    例如: carlos.com.  86400   IN   SOA   ns.carlos.com.

       nsadmin.carlos.com.   (

                           2018091101 ;

                      序列号 2H ;

                      刷新时间 10M ;

                      重试时间 1W ;

                     过期时间 1D ;

                     否定答案的TTL值

   )

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

      例如:carlos.com.   IN   NS  ns1.carlos.com.

         carlos.com.   IN   NS    ns2.carlos.com.

注意:

  • 相邻的两个资源记录的name相同时,后续的可省略
  • 对NS记录而言,任何一个ns记录后面的服务器名字 ,都应该在后续有一个A记录
  • NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。

MX记录(Mail eXchanger)

MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。

name: 当前区域的名字   value: 当前区域的某邮件服务器(smtp服务器)的主机名 , 一个区域内,MX记录可有多个;

  • 每个记录的value之前应 该有一个数字(0-99),表示此服务器的优先级;
  • 数字越小优,先级越高。

例如:

          carlos.com.   IN   MX   10   mx1.carlos.com.

                  IN   MX   20   mx2.carlos.com.

注意:

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

A记录(Addrss):  正向解析

A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这也是大多数客户端程序默认的查询类型。

name: 某主机的FQDN,例如www.heiye.com.   value: 主机名对应主机的IPv4地址

例如: www.carlos.com.   IN   A   1.1.1.1   

    www.carlos.com.   IN   A   2.2.2.2   

    mx1.carlos.com.    IN   A   3.3.3.3

    mx2.carlos.com.      IN    A   4.4.4.4

    *.carlos.com.      IN    A   5.5.5.5

    carlos.com.      IN   A    6.6.6.6   

避免用户写错名称时给错误答案,可通过泛域名解析进行解 析至某特定地址

AAAA:  name: FQDN   value: IPv6     

PTR(Pointer)反向解析:    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.   IN   PTR   www.carlos.com.

如1.2.3为网络地址,可简写成: 4   IN   PTR   www.carlos.com.

注意:

  • 网络地址及后缀可省略
  • 主机地址依然需要反着写

别名记录:CNAME记录(Canonical Name)别名    name: 别名的FQDN   value: 真正名字的FQDN

   例如: www.carlos.com.   IN   CNAME   websrv.carlos.com.

4. DNS命名规范

  •  26个英文字母
  • “0,1,2,3,4,5,6,7,8,9”十个数字
  •  “-”(英文中的连词号)
  •  最多63字节长度

注意:

  • 要不按照这个,bind支不支持,支持,合适么,不合适。
  • 非要不按照这个,怎么办?master-view文件上配置check-names ignore

 

 

 

 

 

 

 

 

 

 

 

 

 

 

….

posted on 2019-01-14 13:16 CARLOS_CHIANG 阅读() 评论() 编辑 收藏

版权声明:本文为yaoyaojcy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yaoyaojcy/p/10266235.html