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地址的映射關係;

            

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