码迷,mamicode.com
首页 > 其他好文 > 详细

BIND与dns解析 一

时间:2018-04-13 23:35:19      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:bind基础dns入门

1.常见的dns解析方式:

    正向解析:由主机名解析出IP地址

    反向解析:由IP地址解析出主机名

2.名称域:层级分布式数据库 (金字塔型)

    第一层:    根域 " . "表示

    第二层     顶级域(宏观上分为俩种)

                1.用于正向解析的组织域和地理域

                2.用于反向解析的反向域:in-addr.arpa

    第三层     二级域

            三级域

            四级域

            .....

    最后会解析到一个:完全合格域名(FQDN) ,也是主机名的完全名称。

注意:1.因为正向解析和反向解析用的是不同的顶级域,因此使用的不是一个数据库;

   2.主机名或域名的书写要从低级域到高级域写,如

    顶级域 com

    二级域 baidu

    三级域 www

    则其域名为 www.baidu.com. 因为根域是唯一的所以根域的 " ."一般可以省略

3.名字查询的类型

递归查询:要求有明确结果的查询;必须返回一个肯定的或否定的答案;

迭代查询:按照一定的顺序和步骤依次向不同服务器发出查询请求,尽量要求返回一个答案;

    查询结果的分类:

        权威答案:自己负责的区域,自己服务器数据库中有的

        非权威答案:自己没有数据库没有,但缓存服务器由,或者从其他服务器迭代得来的

    一次完整的名称解析:

1.服务器本地数据库中有结果,直接返回权威答案;

2.服务器不维护该域,但已经有缓存的结果,直接返回非权威答案;

3.服务器不维护该域,缓存中也没有结果,(递归后返回否定答案)于是开始迭代查询:

1) 询问根域的NS服务器;返回顶级域的NS服务器

2) 询问顶级域的NS服务器 返回二级域的NS地址;

3) 直到找到对应主机所在域的NS服务器,获得解析结果;

4) 缓存此次查询结果并用缓存中的数据响应客户端;

4.名字服务器:每个域下负责数据库管理的服务器

    包括:主名称服务器  从名称服务器  缓存名称服务器

各服务器区别:

    主名称服务器:是所维护的区域数据库文件的主体,对这些区域的文件数据具有,读写权限

    从名称服务器:也称为辅助服务器,从主服务器那儿复制数据到本地,没有写权限,只有读权限

    缓存名称服务器:不负责区域的数据库管理,缓存最近解析过的数据

   通常为了数据库安全考虑需要多个从服务器:同时也需要保证主从服务器数据的一致性

    如何保证主从数据库的一致性?

            1.序列号:数据库的版本号;每次数据库更新会变更版本号

2.刷新时间间隔:从服务器到主服务器检查序列号的变更情况的时间间隔;(若检测到数据库序列号变更,会请求主服务器的数据复制到从服务器)

3.重试时间间隔:从服务器到主服务器的序列号检查请求失败以后,再次尝试发送请求的时间间隔;通常来讲,重试时间间隔要远远小于刷新时间间隔;

4.过期时间:名称服务器始终无法联系主名称服务器,从服务器会代替主服务器工作,从名称服务器最大的连续工作时长;

5.否定答案的缓存时长:当服务器递归查询返回否定答案后,答案会存放在缓存中,需要用此项让其销毁

    要保证上述功能实现:需要保证主从服务器的时间保持一致

      

服务器的时间同步:

1.互联网中的时间服务器; 在/etc/ntp.conf 文件中添加时间服务器

2.局域网中自建时间服务器;用ntpdate同步区域内时间

6.主从服务器数据传输的类型

全量传送:

AXFR,将整个数据库文件传送至从服务器;

增量传送:

IXFR,仅传送自上次数据库传送以后发生变化的内容;

7.名称服务器数据库中用于我们解析的内容,称为资源记录 称作“RR”

       RR的格式:

        

资源记录的格式:

DN|FQDN [TTL] IN RR_TYPE VALUE

        其中FQDN 和TTL 可以用全局定义的宏继承,一般可以省略不写

        如:FQDN :继承$ORIGIN 

           TTL:继承$TTL

        资源记录的类型及格式:

    ① SOA:Start Of Authority,起始授权记录;此记录在数据库中只能有一条,且必须放在第一条

        内容:

                域名;

数据缓存的时间;

NS服务器的主机名;

管理员的邮箱地址;

序列号,刷新时间间隔,重试时间间隔,过期时间及否定答案的缓存时间;

       格式示例

         我们先定义宏:

            $ORIGIN baidu.com.  (定义时根域的点一定写) 

            $TTL 86400

        baidu.com     86400    IN    SOA    ns1.baidu.com. root.baidu.com. 111 1H 5M 1W 1D

        (FQDN)    (ttl)          (RR)      (名称服务器)  (管理员邮箱地址) (主从时间配置)

     其中  @              IN     SOA    ns1.baidu.com. root.baidu.com. 111 1H 5M 1W 1D   主机名可以用@继承,TTL可以省略

       ②NS记录:标识当前域中被授权的名称服务器

        格式

        baidu.com    IN    NS    ns1,baidu.com.

       ③MX记录:标识域中的邮件服务器的主机名称,标识从域名到完全合格域名的映射关系;

            MX资源记录包含了一个优先级,0-65535,数字越小优先级越高;

        格式

        baidu.com     IN    MX    10    mail.baidu.com.

       ④A记录:标识从完全合格域名到IPv4地址的映射关系;

        ns1.baidu.com.    IN    A    172.16.0.145

        www.baidu.com.    IN    A    172.16.100.100

        ⑤CNAME:标识从完全合格域名到完全合格域名的映射关系(别名记录)

        格式

        ftp.baidu.com.     IN    CNAME    www.baidu.com.

        ⑥AAAA:标识从完全合格域名到IPv6地址的映射关系;

            

BIND与dns解析 一

标签:bind基础dns入门

原文地址:http://blog.51cto.com/wangchaode/2103280

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!