天天看點

DNS服務相關概念_學習筆記

DNS服務的相關概念:

    BIND:Berkeley Internet Name Domain    域名解析

    DNS:Domain Name Server

    主機名:FQDN(Full Qualified DomainName 完全限定域名)

    DNS:名稱解析,Name Resloving 名稱轉換(背後有查詢過程,資料庫)

        FQDN<-->IP

    NSSwitch:域名解析的平台(這是一個平台,平台上提供多種域名解析的方法)

      方法:

         libnss_file.so

         libnss_dns.so

     /etc/hosts:

        IPADDR            FQDN                        Aliases

        127.0.0.1         www.baidu.com      baidu

    名稱組織配置設定:

        IANA(政府)-->ICANN(民間、頂級域) 

        根域-->TLD(Top Level Domain:組織域(.com .org .net .cc)、國家域(.cn .tw .hk .iq .jp)、

                                                             反向域(IP-->FQDN) )

        DNS查詢方法:

                1、遞歸查詢            A-->B-->C|C-->B-->A

                2、疊代查詢            A-->B、A--C|C-->A

                根域是不對外進行遞歸查詢的。

        非權威答案:非FQDA直接上級傳回的答案

        兩段式:遞歸、疊代

        DNS:分布式查詢

            上級隻知道直接下級

            下級是無法知道上級的

        DNS伺服器:

            接收本地用戶端查詢請求(遞歸)

            外部用戶端請求:請求權威答案

                    肯定答案:TTL

                    否定答案:TTL

    注:全球有十三個根節點服務起,中國大陸是沒有的;這十三個根節點的資料是相同的。

        DNS服務角色:

            主DNS伺服器:資料修改

            輔DNS伺服器:請求資料同步(資料拉取機制)

                注:主從DNS伺服器結構中,如果主伺服器當機了,那麼從伺服器在确定了多次後一會自我kill

                serial number                    版本号

                refresh                                重新整理周期

                retry                                     重試時間

                expire                                  過期時間

                nagactive anwser TTL       否定答案的緩存時間

            緩存DNS伺服器

            轉發DNS伺服器:不緩存解析結果

    資料庫中的每一個條目都稱做一個資源記錄(Resource Record,RR)

        格式:

            NAME                        TTL(可省略)            IN          RRT                    VALUE

            www.test.com.                                          IN           A                        1.1.1.1

            www.test1.com.                                        IN           A                        2.2.2.2

            1.1.1.1                                                        IN           PTR                    www.test.com.

        資源記錄類型:

            SOA(Start of Authority):起始授權記錄,用于表明一個區域内部主從伺服器之間如何同步資料,

                                                        以及起始授權對象是誰。

                ZONE NAME        TTL        IN        SOA    FQDN    Administrator_MailBox    (

                                                                                serial number

                                                                                 refresh

                                                                                 retry

                                                                                 expire

                                                                                 na ttl    )

                    @                        600        IN        SOA    www.test.com.    www.test.com    (

                                                                                  20170402

                                                                                   1H

                                                                                    5M

                                                                                    1W

                                                                                     1D )

                    注:   時間機關:H(時)、M(分)、D(天)、W(周)、預設是秒

                                        郵箱格式:[email protected]>admin.test.com        @有特殊意義

            NS                 :Name Server(Zone Name-->FQDN)

                    test.com.                600        IN    NS    www.test1.com

                    www.test1.com       600        IN    A       1.1.1.1

                    test.com.                600        IN    NS    www.test2.com

                    www.test2.com       600        IN    A       1.1.1.2

                        注:成組出現,自己對外宣稱自己的功能。

            MX                 :Mail eXchanger(Zone-->FQDN)

                    ZONE NAME            TTL        IN        MX            pri        VALUE

                    test.com                    600       IN        MX            10        mail.test.com.

                     mail.test.com.          600       IN        A                            2.2.2.2

                        注:優先級:0-99,數字越小,優先級越高

            A                    :address(解析IP位址)

            AAAA             :address(解析ipv6位址)

            PTR                 :pointer(反向解析出主機名稱)

            CNAME          :Canonical Name(正式名稱)FQDN-->FQDN(設定一個主機名的别名)

                    www.test2.com.     600    IN    CNAME        www.test.com.

                        注:别名www.test2.com的正式名稱是www.test.com

            TXT

            CHAOS

            SRV

    域:    Domain

    區域:Zone

        注:在DNS中domain是一個邏輯的概念,Zone是一個實體概念

    實驗環境:

        建立test.com.    192.168.0.0/24 DNS伺服器

        首先需要現在上級授權DNS伺服器上有記錄:

            test.com.            IN        NS            ma.test.com.

            ma.test.com.      IN        NS            192.168.0.1

        在自己的DNS伺服器上解析出網絡中:

        www        192.168.0.2

        mail         192.168.0.3

            建立兩個區域檔案:

                正向區域檔案:

                    test.com.    IN    SOA    ma.test.com.    ma.test.com.    (

                                                    20170402

                                                    1H

                                                     5M

                                                     1D

                                                      1W )

                www                        600     IN    A        192.168.0.2

                www.baidu.com.    600    IN    A         192.168.0.2

                mail                          600    IN    MX      192.168.0.3

                反向區域檔案:

                    0.168.192.in-addr.arpa.    IN    SOA    ma.test.com.    ma.test.com.    (

                                                                            20170402

                                                                            1H

                                                                             5M

                                                                             1D

                                                                              1W )

                  2                                                 600    IN    PTR        www.test.com.

                  2.0.168.192.in-addr.arpa.        600    IN    PTR        www.test.com.

    區域傳送的類型:

        完全區域傳送:axfr

        增量區域傳送:ixfr

    區域類型:

            主區域:Master

            從區域:Slave

            提示區域:Hint        定義根在哪裡

            轉發區域:Forward

BIND的安裝配置:

    規劃:

            test.com.        172.16.100.0/24

            ns1                  172.16.100.1

            www             172.16.100.1/172.16.100.2

            mail              172.16.100.3

            ftp                 www

    DNS:BIND(Berkeley Internet Name Domain)

            ISC(Internet Systems Consortium:網際網路系統協會):www.isc.org

        1、安裝bind

                /etc/named.conf            bind的主配置檔案

                        BIND程序的工作屬性

                        區域的定義

                /etc/rndc.key                (rndc:Remote Name Domain Controller)秘鑰檔案,

                                                                                                    配置資訊:/etc/rndc.conf 

                /var/named/

                          區域資料檔案,檔案需要自己建立

                /etc/init.d/rc.d/named

                            {start|stop|restart|reload|status}

                            服務啟動腳本

                二進制程式名稱:named

                bind-chroot:模拟出來一個虛根

                caching-nameserver:可以是DNS伺服器立刻成為一個緩存伺服器

                bind-devel:是用來給開發人員進行二次開發的

                dig(Domain ):dig -t NS . @c.root-servers.net.  使用dig指令直接顯示根節點伺服器清單

                DNS服務監聽的端口和協定:

                    53/tcp     傳輸資料

                    53/udp    查詢使用

                    953/tcp    rndc遠端控制工具

          2、配置檔案:

                    options  {

                            directory   "/var/named";            #資料檔案目錄

                            }

                    根區域:

                        zone "ZONE NAME" IN {

                            type {master|slave|hint|forward};

                            } ;

                    主區域:

                            file:"區域資料檔案";

                    從區域:

                            master    {  master1_ip;  master2_ip;  };

                        zone "." IN  {

                            type hint;

                            file "named.ca";

                        };

                        zone "localhost" IN {

                            type master;

                            file "named.localhost";

                        zone "0.0.127.in-addr.arpa" IN {

                              type master;

                               file "named.loopback";

                        配置完成檢查配置指令:

                            named-checkconf         檢查配置檔案是否有錯誤

                            named-checkzone "." /var/named/named.ca

                            named-checkzone "localhost" /var/named/named.localhost

                            named-checkzone "0.0.127.ip-addr.arpa" /var/named/named.loopback

                        啟動服務:service named start         日志:/var/log/message

                    dig的使用用法:    dig -t RT    NAME    @DNS_IP

                    host的用法同dig,隻不過dig沒法使用@指令

                        host -t  RT    NAME    

                    nslookup:互動式

                            server  192.168.100.1    明确指定使用192.168.100.1的DNS伺服器,切換DNS伺服器

                            set q=a                              查詢A記錄

                            www.test.com.

                            Example For:

                                dig -t NS    test.com.    @192.168.100.1

                                dig -t A    www.test.com.

                                dig -t CNAME    ftp.test.com

                                dig -t MX    mail.test.com

                                dig -x IP            根據ip查詢FQDN

                     named服務配置執行個體:

                        Example For:

                            設定配置檔案:

                                /etc/named.conf     權限640    root:named

                                    内容:

                                         options  {

                                                 directory    "var/named";

                                            };

                                    zone "."  IN  {

                                            type master;

                                            file    "named.ca";

                                    zone "localhost"    IN    {

                                            type    master;

                                            file    "named.localhost";

                                    zone    "0.0.127.in-addr.arpa"    IN    {

                                            file    "named.loopback";

                                    zone   "test.com."    IN    {

                                            file    "test.com.zone";

                                            allow-transfer    { 172.16.100.2;  };               #隻允許這個主機進行區域傳送

                                    zone "100.168.192.in-addr.arpa"  IN    {

                                            file        "100.168.192.in-addr.arpa.zone;

                                            allow-transfer    { 172.16.100.2; };                #隻允許這個主機進行區域傳送

                              建立正向資料檔案"test.com.zone",修改檔案權限為640 root:named

                                        touch /var/named/test.com.zone

                                        chmod 640 /var/named.com.zone

                                        chown root:named    /var/named.zone

                              編輯正向資料檔案:

                                      $TTL 600

                                            @    IN    SOA    ns1.test.com.    admin.test.com.    (

                                                                        20170403

                                                                         1D

                                                                         5M

                                                                         1H

                                                                         1W    )

                                             @            IN    NS             ns1.test.com.

                                                             IN    MX            mail.test.com.

                                             ns1          IN    A               172.16.100.1

                                             mail        IN    A                172.16.100.3

                                             www       IN    A                172.16.100.1

                                             www       IN    A                172.16.100.2

                                              ftp          IN    CNAME      www.test.com.

                                   檢查配置檔案,檢查zone檔案,啟動服務:

                                               named-checkconfig

                                                named-checkzone "test.com.zone" /var/named/test.com.zone

                                                service named start

                            編輯反向資料檔案:

                                    $TTL 600

                                      @        IN    SOA    ns1.test.com.  admin.test.com. (

                                                                                20170404

                                                                                1H

                                                                                5M

                                                                                30M

                                                                                1W    )

                                        @                IN            NS                ns1.test.com.

                                        ns1             IN            A                   172.16.100.1

                                        1                 IN            PTR                ns1.test.com.

                                        3                 IN            PTR                mail.test.com.

                                        1                 IN            PTR                www.test.com.

                                        2                 IN            PTR                www.test.com.

        DNS主從複制及區域傳送:

                配置檔案:

                        options {

                            directory    "/var/named"                                    #定義資料檔案位置

                            recursion yes|no                                                  #預設是允許為其他遞歸查詢的

                            allow-recursion    { 172.16.100.0/24; };            #隻允許為指定網段進行遞歸查詢

                            allow-query    100.100.1.1;                                 #用來定義隻允許某個人來查詢的

                            allow-transfer    { 172.16.100.2; };                    #定義允許那個伺服器區域傳送zone資訊

                            notify    yes;                                                          #通知從伺服器來主伺服器同步資料

                                };

                        驗證方法:

                                dig +recurse    -t A www.baidu.com @172.16.100.1     #預設是允許遞歸查詢的

                                dig +norecurse -t A www.baidu.com @172.16.100.1

                                dig +trace -t A www.baidu.com @172.16.100.1                #檢視解析的過程

                                dig -t axfr  test.com    @172.16.100.1    #完全區域傳送,會将區域test.com的解析全不傳送到本機顯示

                                           dig -t IXFR=20170403    test.com @172.16.100.1    #增量區域傳送,會顯示指定版本号後的增

                                                                                                                                                                    加記錄數