DNS基础



DNS(Domain Name Server)域名解析服务php


www.baidu.com 称为FQDN(Full Qualified Domain Name)彻底限定域名又叫作主机名mysql


baidu.com(域名) .com(域明) sql


Nsswitch:为多种须要进行解析的机制提供一个名称解析的平台;如端口--服务(80--http、23--telete、ssl--2二、https--44三、php--9000、mysql--3306等),root--rootID等数据库

注:Nsswitch仅仅提供了一个平台,而不是本身进行解析缓存


Nsswitch框架经过/etc/nsswitch.conf配置文件进行展现安全

如:hosts: files dns 表示进行域名解析时先找/etc/hosts文件,若是没有在查找DNS服务器服务器


通常来讲应用程序经过Nsswitch品台调用libnss_files.so和libnss_DNS.so这两个库进行域名解析框架


stub resolve(名称解析器)这个程序会在Nsswitch.conf文件中根据配置找files和dns进行解析分布式


例:ide

ping www.baidu.com

  1. stub resolve 会先根据nsswitch.conf中的files找/etc/hosts文件

  2. 若是不能找到www.baidu.com的IP,则找DNS服务器进行解析


IANA(互联网地址分配机构)

ICANN(管理顶级的域,名称)


IANA和ICANN有本身的DNS服务器,并且它采起向下受权和分布式数据库进行DNS的管理


. 表明根域,全球共有13台根服务器 a.root-server.net -- m.root-server.net(亚洲只有日本有一台)


.net .org .com .cn 这些属于顶级域


baidu 163 google 这些属于二级域名


www 通常为主机名,全球叫www的主机名太多了


顶级域又有:


国家域: .cn , .hk , .jp等


组织域: .com,.org, .net等


反向域:将ip 转换为FQDN


注:. .com .net 这些DNS服务器为了安全通常来讲不给任何人进行DNS查询(不进行递归),且通常来讲上级只知道它的直接下级是谁,而下级只知道根


递归: A找B,B在找C,B从C出获得结果在返回给A

迭代: A找B,B让A找C,A去找C获得结果


而对DNS查询来讲:从客户端到DNS服务器(本地NS)为递归,而从本地NS日后为迭代


例:st.ibm.com. 要找 www.baidu.com.的IP

  1. st先去找本地的NS

  2. 本地NS收到st的请求后去找.

  3. .将.com的IP告诉st本地的NS

  4. st本地的NS去找.com

  5. .com将baidu的NS的IP告诉st的NS

  6. st本地的NS去找baidu的NS

  7. baidu的NS知道本身管理着一台叫www的主机,从而将www.baidu.com.的ip和ttl返回给st的NS

  8. st的NS将www.baidu.com的IP返回给st.ibm.com这个主机




DNS服务器:

  1. 接受本地客户端的查询请求(进行递归操做)

  2. 接受外部客户端请求本地管理的客户端的IP(即外部客户端请求本地NS的权威答案)

    注:只有本地NS知道本地管理的服务器的IP(即权威答案)

      而权威答案有分为:确定答案(本地有你要找的主机)+ttl;否认答案(本地没有你找的主机)+ttl(防止不断的强求问本地NS有没有它找的主机)

  3. 接受外部的非权威答案(本地主机请求的不是本地的NS,而是其余外部的NS)



主从DNS:主DNS服务器--进行数据修改

从服务器:请求主DNS服务器进行数据同步


此外还有

缓存DNS服务器:只缓存DNS解析,不提供任何权威答案


转发器:不提供任何权威答案,也不进行DNS解析缓存,只进行请求的转发

如:有一个主机要请求

www.baidu.com的ip,但它既不能上网也连不到本地的NS,这是只能先将DNS解析请求转发的转发器,再由转发器将请求转发到本地NS,获得结果后在将结果转发给这台主机




数据库中DNS资源的记录格式


Name    TTL  IN  RRT(资源记录类型) Value


资源记录类型又分为

A: FQDN--> IPV4

AAAA: FQDN-->IPV6

PTR(pointer):IP-->FQDN 反向解析


www.zxl.com. 600  IN  A   1.1.1.1 这是一个正向解析的A记录



1.1.1.1     600  IN  PTR   www.zxl.com 这是一个反向解析


NS(Name Server)管理一个或者多个域: zone name --> FQDN

注:每一个NS类型的记录都要有一个A记录


例:


baidu.com.   600  IN   NS  ns.baidu.com

ns.baidu.com.  600  IN  A   2.2.2.2


MX(mail exchange)邮件记录:zone name -->FQDN

注:MX记录也要有A记录,且MX记录有优先级(0--99),数字越小级别越高(即最早找这台主机)


例:

google.com.    600  IN  MX  10(优先级为10) mail.google.com.

mail.google.com  600  IN  A              3.3.3.3


SOA(start of authority):标示一个区域中主从服务器之间如何同步数据及起始受权对象是谁


Zone Name  TTL   IN  SOA  FQDN  管理员邮箱(  版本号

                                  刷新时间

                                   重试时间

                                   过时时间

                                   否认答案的TTL)




例:


baidu.com.   600  IN   SOA    ns1.baidu.com.   admin.baidu.com(

                                              2017022001

                                              1H

                                              5M

                                              1W

                                              1D)


版本号(2017022001):从服务器每隔一段时间检查本身与主服务器的版本号,若是不一致就对数据进行跟新


Refresh(1H):刷新时间,告诉从服务器每隔多久检查一次版本号


Retry(5M):重试时间,若是从服务器超过刷新时间仍然没法访问主服务器,则从服务器每隔多长时间再从新访问一次主服务器


expire(1W):过时时间,过时时间超事后,从仍然链接不上主,则从转换为主


nagative answer ttl(1D):否认答案的ttl,防止告诉对方本地没有它要找的主机后,一直不断的进行询问



邮箱格式:admin@baidu.com 要写成 admin.baidu.com


ttl单位: M(分钟) H(小时) D(天) W(周) 默认为秒



CNAME(正式名称|别名记录): FQDN-->FQDN


例:

www1.baidu.com  600   IN CNAME  www.baidu.com


表示www2的正式名称为www,www有一个别名叫www2


DNS的创建(创建两个区域文件)

正向区域文件

baidu.com.  600   IN   SOA   ns1.baidu.com  admin.baidu.com( 2017022101

                                            1H

                                            5M

                                            1W

                                            1D)

www.baudu.com.     600   IN    A   192.168.139.1


www(简写)       600   IN    A   192.168.139.1


反向区域文件


139.168.192.in-addr.arpa  600   IN   SOA   ns1.baidu.com  admin.baidu.com( 2017022101

192.168.139.0网段的反写                                      1H

                                                     5M

                                                     1W

                                                     1D)

1.139.168.192.in-addr.arpa 600   IN   PTR   www.baidu.com 


1(简写)            600   IN   PTR   www.baidu.com



注:A、AAAA、MX只适用于正向,PTR只适合于反向,NS能够正向也能够反向,SOA必须为开始



区域传送:主DNS的记录一旦发生改变,马上通知从DNS服务器进行数据同步(无论是否是刚刚同步完)


区域传送类型

axfr(彻底区域传送):从服务器上什么记录也没有,将主的全部记录都传送过去

ixfr (增量区域传送):从服务器只传送主服务器上发生改变的记录


区域类型

主区域:master

从区域:slave

提示区域:hint(定义根在哪里)

转发区域:forward

相关文章
相关标签/搜索