DNS基础

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的


要知道DNS是什么,需要从这个概念开始了解

    这里的域指并非平时我们所说的地理域之类,而指的是"名称域"——"名称空间"

        名称域/名称空间可以"倒置的树"来解释

            "倒置的树"由根域开始,接着根的下一层是各个顶级域,每个顶级域之下又有多个二级域,每个二级域下又有子域,以此类推下去...最后到主机名


                        根域(.)
                        顶级域(Top Level Domain, TLD, tld)
                                组织域:标识域的组织结构;
                                        com, net, org, gov, edu, mil, ...
                                地理域:标识域所在的地理范围;
                                        tw, hk, cn, jp, iq, ...
                                反向域:in-addr.arpa
                        二级域及下级子域:由企业,组织,团体或个人维护的域;
                       主机名:标识特定域中的特定主机名称;

了解了域的概念后,就要说域的表示方法:
    FQDN:Full Qualified Domain Name,完全合格域名;主机名的完整名称;
            从枝叶到根域的顺序书写——从主机名.最低级的子域.次级的子域.(以此类推到)子域.二级域.顶级域.(根)
                其中最后的"."是根域的,其余的"."表示域与域之间的连接符号


每个名称域都对应着某个地址,而这时候就需要通过解析到某个的地址;
    解析的方式有两种:正向解析:FQDN --> IP
                                  反向解析:IP --> FQDN

        
        注意:正向解析和反向解析所使用的名称属于不同空间,不是同一棵树,也不是同一个数据库;


这里的数据库就存放在服务器中,而这里的服务器就跟DNS有关系了。


DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。


而这服务器中还存放了域名与IP地址之间转换的数据内容,是用于完成名称解析工作的,我们称为"资源记录";即:Resource Record,简称为"RR";


资源记录我们又可以分为下列几种:

    A,AAAA,PTR,SOA,NS,CNAME,MX


下面介绍各个资源类型:

    SOA:Start Of Authority,起始授权记录;
            在任何一个区域数据库中必须有且只能有一条SOA记录,而且该记录必须放在数据库中的第一条;其中包括:
                域名;
                数据缓存的时间;
                NS服务器的主机名;
                管理员的邮箱地址;
                序列号,刷新时间间隔,重试时间间隔,过期时间及否定答案的缓存时间;

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

        AAAA:Address,主机记录;
            标识从完全合格域名到IPv6地址的映射关系;

        PTR:PoinTeR,反向指针记录;
            标识从IP地址到完全合格域名的映射关系;

        NS:Name Server,名称服务器记录;
            标识当前域中被授权的名称服务器;

        CNAME:Conanical Name,别名记录;
            标识从完全合格域名到完全合格域名的映射关系;

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

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



介绍完不同的资源记录类型后,我们还需要熟悉这些资源记录在数据库(服务器)中是如何存在的,也就是它们是如何书写的

    格式:DN|FQDN     [TTL]        IN     RR_TYPE        VALUE


    TTL:TTL是以秒为默认时间单位的时间标识符号,如果省略,则从全局定义的宏中继承,通常是$TTL;


    RR_TYPE:资源记录类型;


     VALUE:变量(ip地址...)


接下来介绍的是不同的资源记录根据格式的书写及注意事项:

    SOA:
            DN|FQDN:当前域的域名,如:qhdlink.com.
                             或者使用"@"代替域名;@符号会使用主配置文件中定义的域名来代替;
            VALUE:由以下几个部分组成:
                1.当前域中的主名称服务器的FQDN;ns.qhdlink.com.
                2.当前域的数据库管理员的邮箱地址,需要使用"."来代替"@";root.qhdlink.com.
                3.主名称服务器进行区域传送的相关时间参数的定义:
                    (Serial Refresh Retry Expeir TTL)
                    (Serial;
                     Refresh;
                     Retry;
                     Expeir;
                     TTL;)

            示例:
                qhdlink.com.    86400        IN     SOA     ns1.qhdlink.com. master.qhdlink.com. (
                2018040601;
                1H;
                10M;
                1W;
                5M;)

                @    86400        IN     SOA     ns1.qhdlink.com. master.qhdlink.com. (2018040601 1H 10M 1W 5M)

        NS记录:
            name:当前域的域名;可以写完全合格域名FQDN;可以写@占位;还可以省略不写,如果省略不写,则意味着该资源记录的名称与其上一条资源记录的名称相同;
            value:当前区域内被授权的名称服务器的FQDN;

            注意:
                1.一个域中有多少台名称服务器就需要写多少个NS资源记录;
                2.每个NS资源记录都必须要有一个A记录与之对应;

            示例:
                qhdlink.com.    IN     NS     ns1.qhdlink.com.
                @     IN     NS     ns1
                        IN  NS  ns2

        MX记录:
            name:当前域的域名;可以写完全合格域名FQDN;可以写@占位;还可以省略不写,如果省略不写,则意味着该资源记录的名称与其上一条资源记录的名称相同;
            RR_TYPE:MX priority
            value:当前域中有效的邮件服务器的FQDN;

            注意:
                1.一个域中,可以有多条MX资源记录,通过优先级的大小决定被使用的次序;
                2.每个MX资源记录都必须对应一条A记录;

            示例:
                qhdlink.com.     IN     MX 10     mail.qhdlink.com.
                @        IN     MX 10     mail

        A记录:
            name:域中指定主机的FQDN;
            value:该主机上真实有效的IPv4地址;

            示例:
                www.qhdlink.com. 43200     IN     A     192.168.1.100
                www     43200     IN     A     192.168.1.100

                泛域名:
                    *.qhdlink.com. 43200     IN     A     192.168.1.100
                    *     43200     IN     A     192.168.1.100

                直接域名解析:
                    qhdlink.com. 43200     IN     A     192.168.1.100

                通常,泛域名或直接域名都是为了防止用户写错名称而导致无法给出正确的解析结果;

        CNAME记录:
            name:域中指定主机的别名;
            value:真正的主机的FQDN;

            示例:
                ftp.qhdlink.com [86400] IN CNAME www.qhdlink.com.
                ftp [86400] IN CNAME www

        PTR记录:
            name:将IP地址的四个八位组反过来,将IP地址中的主机部分加上反向域的域名后缀;
                如果IP地址是:172.16.1.100/16,其对应的名称的写法:
                    100.1     IN     PTR     www.qhdlink.com.
                    100.1.16.172.in-addr.arpa.     IN     PTR     www.qhdlink.com.

            value:域中与指定的IP地址对应的FQDN;

            注意:value部分必须写FQDN,绝对不能省略域名后缀,最后必须以"."结尾;否则bind程序会将反向域的域名补在名称之后

    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章