欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

DNS域名记录

程序员文章站 2022-04-04 20:31:19
DNS域名记录 DNS数据库 区域传输 正解和反解在zone记录当中是由众多的RR(resource record)组成 资源记录定义的格式 资源类型的定义:rr_type ......

DNS域名记录

DNS数据库

    在DNS的解析过程中用到域名的解析资源的记录,这个解析记录在DNS当中称为DNS数据库。
    这个数据库又分为正解和反解,正解就是从主机名到ip的过程,反解就是从ip反响解析到主机名的过程,无论是正解还是反解,每个域名所对应的解析记录我们称之为zone(域),也就是正向区域和反向区域。

区域传输

    完全传输:传送整个解析库
    增量传输:传递解析库变化的那部分内容

正解和反解在zone记录当中是由众多的RR(resource record)组成

    记录的类型有在以下所示:
    SOA Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA 记录,必须位于解析库的第一条记录
    A   internet Address,后面记录的是对应的IPv4的地址;作用是FQDN --> IP解析
    AAAA    对应的为IPv6地址,作用为FQDN --> IPv6解析
    PTR PoinTeR,就是指向,后面记录的数据就是反解到主机名,IP --> FQDN
    NS  Name Server,专用于标明当前区域的DNS服务器
    CNAME   Canonical Name,主机别名记录,一个主机名可以有多个别名,但ip地址是一样的。
    MX  Mail eXchanger,邮件服务器地址。

资源记录定义的格式

    语法:name [TTL] IN  rr_type  value [()]
        例如:magedu.com. 86400 IN  SOA  ns.magedu.com.   nsadmin.magedu.com. [()]
    注意:
        1。TTL就是time to live,表示该记录被其他DNS服务器查询到后保留到对方服务器上的缓存当中并保存多少秒,可从全局继承。
        2。@ 可用于引用当前区域的名字。
        3。主要name和value的格式,每个完整的域名后面都有一个点(.),这个点表示的是完整的主机名(FQDN),如果只写了www.adc.com,则表示www.adc.com.@,也就是www.adc.com.adc.com. ,简单的说这个点就是结束符,表示已经是完整的FQDN了,不需要再补充后缀了。
        4。同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应。
        5。同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机。
        6。可以使用分号(;)来进行一些注释。
        7。$ORIGIN为自定义补全宏,后跟需要新的zone_name

资源类型的定义:rr_type

    1>SOA记录
        每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。
        SOA定义了域的全局参数,进行整个域的管理设置。
        一个区域文件只允许存在唯一的SOA记录。
        区域以服务器授权机构的概念为基础。
        当DNS服务器配置成加载区域时,其使用SOA和NS两种资源记录来确定区域的授权属性。
        SOA和NS资源记录在区域配置中具有特殊作用,它们是任何区域都需要的记录并且一般是文件中列出的第一个资源记录。
        起始授权机构SOA资源记录总是处于任何标准区域中的第一位。
        它表示最初创建它的DNS服务器或现在是该区域的主服务器的DNS服务器。
        它还用于存储会影响区域更新或过期的其他属性,比如版本信息和计时。
        这些属性会影响在该区域的域名服务器之间进行同步数据的频繁程度。
        
        1。name:当前区域的名字,例如“magedu.com.”
        2。value:有多部分组成
            1>当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
            2>当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如linuxedu.magedu.com.
            3>主从服务区域传输相关定义以及否定的答案的统一的TTL
            4>ns.magedu.com.(master dns server)或者为ns1,这只是个名字写成什么都可以,只是用于找地址的。
                例如:
                magedu.com.(或者@,zone名这是)    86400 IN  SOA  ns.magedu.com.(master dns server)   admin.magedu.com.(邮箱地址)  (
                                                                        2015042201 ; 序列号版本号
                                                                        2H(小时); 刷新时间
                                                                        10M(分钟); 重试时间
                                                                        1W(周); 过期时间
                                                                        1D(天); 否定答案的TTL值 
                )
        3。5个主从服务协调属性所代表的意思:
            第一个:序列号serial表示该DNS服务器文件的新老程度,序号号越大表示数据越新。主要用于DNS主从同步的时候,slave通过判断当前seral和master的seral新旧程度来决定是否进行数据同步,通常这里以时间的格式来书写,每次修改配置文件,该值需加1。解析库版本号,主服务器解析库变化时 ,其序列递增。
            第二个:更新频率refresh表示从服务器多次时间去向主服务器同步更新一次数据,更新的时候要先判断serial值。注意:即使主服务器里面有参数变动,只用serial没增大就不更新。从服务器从主服务器请求同步解析的时间间隔。
            第三个:失败重试时间retry表示由于某些因素导致从服务器无法连接主服务器时,再需要多久去尝试连接主服务器,通常这个值为refresh的一半,当重试成功后,会恢复到refresh的时间进行下一次连接同步。从服务器请求同步失败时,再次尝试时间间隔。
            第四个:失败时间expire表示如果从服务器连接主服务器一直失败,持续连接的时间达到这个值时,从服务器将不再继续尝试连接主服务器,也不再更新对应的zone了。从服务器联系不到主服务器时,多久后停止服务。
            第五个:快取时间minumum TTL表示如果该数据库文件中每个RR记录都没有写到TTL的话,那么就以这个SOA的设定为主。
            
    2>NS记录
        名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。
        每个区在区根处至少包含一个NS记录,用于指定一个区域的权威DNS服务器,通过在NS资源记录中列出服务器的名字,其他主机就认为它是该区域的权威服务器。
        这意味着在NS资源记录中指定的任何服务器都被其他服务器当作权威的来源并且能应答区域内所含名称的查询。
            1。name: 当前区域的名字
            2。value: 当前区域的某DNS服务器的名字,例如ns.adc.com.
            3。注意:一个区域可以有多个NS 记录
                例如:
                adc.com. IN NS ns1.adc.com.
                adc.com. IN NS ns2.adc.com.
            4。注意:
                1>相邻的两个资源记录的name相同时,后续的可省略
                2>对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录。
        
    3>MX 记录
        邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。
        邮件交换服务器是为DNS域名处理或转发邮件的主机。
        处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。
        转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
        1。name: 当前区域的名字
        2。value: 当前区域的某邮件服务器(smtp 服务器)的主机名
        3。一个区域内,MX 记录可有多个;但每个记录的value 之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
            例如:
            adc.com. IN MX 10 mx1.adc.com.
                    IN  MX 20 mx2.adc.com.
        4。注意:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录。
        
    4>A记录
        地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
        1。name: 某主机的FQDN,例如www.magedu.com.
        2。value: 主机名对应主机的IP 地址
            例如:
            www.adc.com. IN A  1.1.1.1
            www.adc.com. IN A  2.2.2.2
            mx1.magedu.com. IN A 3.3.3.3
            mx2.magedu.com. IN A 4.4.4.4
            注意:
            $GENERATE 1-254 HOST$ A 1.2.3.$
            *.magedu.com.  IN A 5.5.5.5
            magedu.com. IN A 6.6.6.6
        3。避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址。
    
    5>AAAA记录
        name: FQDN
        value: IPv6
        
    6>PTR记录
        PTR(poinTeR),相对于A资源记录,该记录与A记录相反,用于查询IP地址与主机名的对应关系。
        1。name:IP,有特定格式,把IP 地址反过来写,1.2.3.4要写作4.3.2.1;而必须有特定后缀in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.
        2。value: FQDN
            例如:
                4.3.2.1.in-addr.arpa. IN PTR www.magedu.com.
            可简写成:
                4 IN PTR  www.magedu.com.
        3。注意:网络地址及后缀可省略;主机地址依然需要反着写。
        
    7>别名记录:CNAME
        规范名字(CNAME)资源记录创建特定FQDN的别名。
        用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。
        别名(CNAME)资源记录用于为某个主机指定一个别名。例如管理员告知公司的首页为www.abc.com,而实际在访问时访问的是www1.abc.com主机。
        该资源记录经常用于在同一区域的A资源记录中的主机需要重命名时或者为多台主机(例如一组WWW服务器)提供相同的别名。
        1。name:别名的FQDN
        2。value:真正名字的FQDN
        例如:
        www.magedu.com. IN CNAME websrv.magedu.com.
        
    8>type字段指定区域的类型
        type字段指定区域的类型,对于区域的管理至关重要,一共分为六种:
            master: 主DNS服务,拥有区域数据文件,并对此区域提供管理数据
            slave:  辅助DNS服务器,拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据。
            stub:   stub区域和slave类似,但其只复制主DNS服务器上的NS记录而不像辅助DNS服务器会复制所有区域数据。
            forward:    一个forward zone是每个域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarders是空表,那么这个域就不会有转发,消除了options语句中有关转发的配置。
            hint:   根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。如果没有指定class IN的线索区域,服务器使用编译时默认的根服务器线索。不是IN的类别没有内置的默认线索服务器。
            delegation-only:    用于强制区域的delegation .ly状态。