DNS&BIND——基礎知識

DNS & BIND(1)


what-DNS& BIND


DNS:    

  • Domain Name Service

  • 已於C/S架構的協議

  • 53/udp:  域名解析

  • 53/tcp  :  區域傳輸   

BIND: 

  • Bekerley Internet Name Domain

  • BIND對DNS協議的開源實現,包含對域名的查詢和響應所需的所有軟件

  • BIND是互聯網上最廣泛使用的一種DNS服務器


傳輸方式


1)區域傳輸 的時候使用TCP協議 

  1. 主DNS服務器: 從自己本機的數據文件中讀取該區的DNS數據信息。

  2. 輔助服務器: 從主 DNS 服務器獲取信息,也就是區域傳輸( 一般三小時一次 

  3. 區域傳送將使用TCP而不是UDP,因爲數據同步傳送的數據量比一個請求和應答的數據量要得多。


 *)UDP報文的最大長度爲512字節,而TCP則允許報文長度超過512字節。

           當DNS查詢超過512字節時,協議的TC標誌出現刪除標誌,這時則使用TCP發送。


    2)域名解析時使用UDP協議: 

  1. 客戶端向DNS服務器查詢域名,一般返回的內容都不超過512字節,用UDP傳輸即可。

  2. 因爲不用經過TCP三次握手,這樣DNS服務器負載更低,響應更快。

  3. 雖然從理論上說,客戶端也可以指定向DNS服務器查詢的時候使用TCP,但事實上,很多DNS服務器進行配置的時候,僅支持UDP查詢包。


解析的發展


  1.  主機數量不多:    用自己的hosts文件

  2. 主機數量千餘臺:

    1. IANA 推出ftp服務器(本質還是hosts文件)

    2. 任何主機訪問都需要申請ftp服務器

    3. 每個人更新自己的hosts文件(每隔一個小時更新一次) 

  3. 主機數量上萬臺:

    1. 把主機和IP   hash化,保存在內存中 

    2.  * hash :    特徵碼,hash barket(桶) 

    1. DNS服務器

  4. 主機數量百萬臺:    分層的DNS分佈式服務器



DNS服務器每層中都存儲了什麼  


域名(最多127個域)


wKioL1lHjfOD5OGMAABZKk2vQag590.jpg

頂級域名(一級域名)Top Level Domain:TLD  


  • 三類:

    • 組織類(com,edu,mil,gov,net,org,int-國際域

    • 國家類(.cn,  .iq-伊拉克,  .hk ,  .tw)

    • 反向域

  •  任何一個組織,公司拿到的都是二級域名



注意的問題:


1)DNS數據庫系統和文件系統的區別

    命名規則

  1. dns自底向上命名(www.baidu.com.)

  2. 文件系統,自上而下,從/開始


2)DNS查詢方式:自頂向下

  1. 遞歸查詢:客戶端 請求一次就獲得最終結果

  2. 迭代查詢:服務器 請求多次 才能獲得最終結果    

    1. 服務器在查詢時,有可能得到的是參考答案或最終答案

    2. 離用戶最近本地DNS服務器當地運營商,電信聯通之流

    1. 使用該種查詢方式的DNS服務器有很多種


 3)DNS服務器類型

  1. 主DNS服務器(master)

  2. 輔助DNS 服務器(slave)

  3. 緩存服務器

  4. 轉發器





  1. 主DNS服務器:維護所負責域內解析庫服務器

    1. 解析庫文件管理員維護

  2. 從DNS服務器:區域傳送(TCP)

    1. 解析庫文件 是從主DNS服務器或其他從 DNS服務器那“複製”來的

    2. 主從服務器協調屬性(SOA):

      1. 序列號:解析庫的版本號

      2. 刷新時間: 從服務器同主服務器請求同步解析庫時間間隔

      3. 重試時長:從服務器同主服務器請求同步解析庫失敗時,再次嘗試的時間

      4. 過期時長:從服務器始終聯繫不到主服務器,多久後放棄從服務器角色,停止提供服務。竟然不接管。。。。無語。。。。。

      5. 通知機制:主服務器主動通知從服務器

        1. 量傳送:傳送整個解析庫

        2. 量傳送:傳送解析庫變化的部分內容

  3. 緩存DNS服務器(遞歸)

    1. 不解析任何域,不註冊任何域名



4)解析類型:

  1. 正向解析:FQDN  -->  IP

  2. 反向解析 :IP   --> FQDN

  3. FQDN  : Full  Qualified Domain Name    完全合格域名

    1. www.baidu.com.      .不能省略

    2. www.baidu.com   

      1. 方法:根據網段,子網

      2. 用途:反向解析是郵件服務器檢驗對方是不是垃圾郵件服務器重要手段

      3. 例子:

        1. -n  numeric

        2. 不指定 -n ,需要將IP反向解析成地址

          1. route    -n    

  4. 注意: 正反解析

    1. 是兩個不同的名稱空間(namespace)

    2. 是兩棵不同的解析樹

    3. 各需要一個解析庫,來分別負責本地域名的正向反向解析,即

      1. 正向區域

      2. 反向區域


5)專業名詞

  1. 名稱服務器:域內負責解析本域內的名稱的主機

    1. 根服務器:13組服務器(戒備森嚴,安全等級高)

  2. 解析答案

    1. 肯定答案

    2. 否定答案:請求的條目不存在等原因,導致無法返回結果.

    3. 權威答案:負責這個域的服務器給的答案

    4. 非權威答案


6)資源記錄:Resource  Record ,RR

  1. 記錄類型

    1. SOA

      1. Start of Authority,起始授權記錄

      2. 一個區域解析庫有且僅能有一個SOA記錄

      3. 而且必須位於解析庫第一條

    2. A

      1. internet Address: FQDN  -->IP

    3. AAAA

      1. internet Address: FQDN  -->IPv6

    4. PTR

      1. pointer:   IP-->FQDN

    5. NS

      1. name server,專門用於標明當前區域的Dns服務器

    6. CNAME

      1. Canonical Name,別名記錄

    7. MX

      1. Mail  eXchanger,郵件交換器

  2. 資源記錄定義的格式:

    1.     語法:     name  [TTL] IN rr_type   value
      注意:
         1.TTL可以從全局繼承
         2.@用於引用當前區域的名字
         3.同一個名字可以通過多條記錄定義多個不同的值(rr);
         4.同一個值也可有多個不同的名字
         5.通過多個不同的名字可以找到同一個主機

  3. 資源記錄詳解

    1. SOA:(Start of Authority)

      1. name:

        1. 當前區域的名字

      2. value:

        1. 當前區域內的主DNS服務器FDQN,也可以使用當前區域的名字

        2. 當前區域中管理員郵箱地址;但地址中不能使用@,用點替換

        3. 主從服務器協調屬性的定義以及否定的答案統一的TTL

      3. 例如

        1. lalala.com.     86400  IN  SOA   ns.lalala.com.    nsadmin.lalala.com.    (
                               2015042201;序列號
                               2H              ;刷新時間
                               10M             ;重試時間
                               1W              ;過期時間
                               1D               ;否定答案的緩存時間(TTL值)
          )

      4. H(hour),D(day),M(min),W(week)

    2. NS:(Name Server):是域名服務器記錄,用來指定該域名由哪個DNS服務器來進行解析

      1. name

      2. value:當前區域的某DNS服務器的名字,例如ns.lalala.com

        1. 一個區域可以有多個NS服務器

      3. 例如:
         

        1.                             FQDN
          lalala.com.   IN   NS    ns1.lalala.com.
          lalala.com.   IN   NS    ns2.lalala.com.

      4. 注意

        1. 兩個相鄰的資源記錄(rr)的name相同時,後續的可以省略;

        2. 對NS記錄而言,任何一個NS記錄後面的服務器名字(FQDN),都應該在後續有一個A記錄

    3. MX:

      1. name:當前區域名字

      2. value:當前區域某郵件服務器(smtp服務器)的主機名

        1. 一個區域內,MX記錄可有多個;

        2. 優先級:但每個記錄的value之前應該有一個數字(0~99)

        3. 數字越小優先級越高

      3. 例如

        1. lalala.com.   IN   MX   10    ns1.lalala.com.
                       IN   MX   20    ns2.lalala.com.

      4. 注意

        1. 對於MX記錄而言,任何一個MX記錄服務器後面的名字,都應該在後續有一個A記錄

    4. A記錄:

      1. name: 某主機的FQDN,例如www.lalala.com

      2. value:  主機名對應主機的IP地址

      3. 例如

        1. 同一個名字可以定義多條記錄(值) rr

          1. www.lalala.com.  IN   A   1.1.1.1
            www.lalala.com.  IN   A   1.1.1.2

        2. 通過不同名字找到一個主機

          1. mx1.lalala.com.    IN    A   1.1.1.3
            mx2.lalala.com.    IN    A   1.1.1.3

      4. 注意

        1.   *.lalala.com.     IN   A  1.1.1.4
           lalala.com.       IN   A  1.1.1.4

          避免用戶寫錯名稱時,可通過泛域名解析進行解析至某特定地址

    5. AAAA記錄:

      1. name: 某主機的FQDN

      2. value:  主機名對應主機的IPv6地址

    6. PTR:

      1. name: IP

        1. 有特定格式:   1.2.3.4,寫做4.3.2.1

        2. 有特定後綴:   in-addr.arpa.

        3. 完整寫法:   4.3.2.1.in-addr.arpa.

      2. value: FQDN

      3. 例如

        1. 4.3.2.1.in-addr.arpa.   IN  PTR  www.lalala.com

        2. 簡寫:

          1. 如果網絡地址是1.2.0.0 

            1. 4   IN  PTR    www.lalala.com.
          2. 如果網絡地址1.2.3.0 

            1. 4.3   IN  PTR    www.lalala.com.
          3. 注意:

            1. 網絡地址及後綴可省略,主機地址依然需要反着寫


CNAME:
  1. name:  別名的FQDN

  2.  value:   正式名字的FQDN

  3. 例如:

    正式名字                                 別名
   web.lalala.com.    IN     CNAME    www.lalala.com.




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