歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux的bind服務詳解

linux的bind服務詳解

日期:2017/3/3 16:25:29   编辑:關於Linux

1 DNS原理

1.1 DNS簡介

DNS(Domain Name system)域名系統,在TCP/IP網絡中有非常重要的的地位,能夠提供域名與IP地址的解析服務。

1.2 域名空間

DNS是一個分布式數據庫,命令系統采用了層次的邏輯結構,如同一顆倒置的樹,這個邏輯的樹形結構成為域名空間,由於DNS劃分了域名空間,所以各機構可以使用自己的域名空間創建DNS信息

注:DNS域名空間中,樹的最大深度不得超過127層,樹中每個節點最長可存儲63個字符。

(1)域和域名

DNS樹的每個節點代表一個域,通過這些節點,對整個域名空間進行劃分,成為一個層次結構,域名空間的每個域的名字,通過域名進行表示,域名通常由一個完全正式域名(FQDN)標識,FQDN能准確表示出其相對於DNS域樹根的位置,也就是節點到DNS域根的完整表述方式,從節點到樹根采用方向書寫,並將每個節點采用“.”分隔,對於DNS域itchenyi來說,其完全正式域名FQDN為itchenyi.com。

一個DNS域可以包括主機和其他域(子域),每個機構都擁有名稱空間的某一部分的授權,負責該部分名稱空間的管理和劃分,並用它來命名DNS域和計算機,例如,itchenyi為com域的子域,其表示方式為itchenyi.com,而www為itchenyi域中的WEB,可以使用www.itchenyi.com表示!

注意:通常,FQDN有嚴格的命名限制,長度不可超過256個字節, 只允許是用字符a-z,0-9,A-Z和減號(-)。點號(.)只允許在域名標志之間,(例如“itchenyi.com”)或者FQDN的結尾使用。域名不區分大小寫。

2:Internet域名空間

internet域名空間結構為一顆倒置的樹,並進行層次劃分。由樹根到樹枝,也就是從DNS根到下面的節點,按照不同的層次,進行了統一的命令,域名空間最頂層,DNS根成為根域(root)。根域的下一層為頂級域,又成為一級域,其下層為二級域,再下層為二級域的子域。按照需要進行規劃,可以為多級,所以對域名空間整體進行劃分,由最頂層到下層,可以劃分:根域、頂級域、二級域、子域。並且域中能夠包含主機和子域。主機www的FQDN從最下層到最頂層根域進行反寫,表示為www.bbs.itchenyi.com。


Internet域名空間的最頂層是根域(root),其記錄著Internet的重要DNS信息,由Internet域名注冊授權機構管理,該機構把域名空間各部分的管理責任分配給連接到Internet的各個組織。

DNS根域下面是頂級域,也由Internet域名注冊授權機構管理,共有三種類型的頂級域。

組織域:采用3個字符的代號,表示DNS域中所包含的組織的主要功能或活動,比如com為商業機構組織,edu為教育機構組織,gov為政府機構組織,mil為軍事機構組織,net為網絡機構組織,org為非營利機構組織,int為國際組織機構。

地址域:采用兩個字符的國家或地區代號,如cn為中國,kr為韓國,us為美國。

方向域:這是個特殊域,名字為in-addr.arpa,用於將IP地址映射到名字(反向查詢)。

對於頂級域的下級域,Internet域名注冊授權機構授權給Internet的各種組織,當一個組織獲得了對域名空間的某一部分的授權後,該組織就負責命名所分配的域及其子域,包括域中的計算機和其他設備,並管理分配的域中主機名與IP地址的映射信息。

1.3區(Zone)

區是DNS名稱空間的一個連續部分,其包含了一組存儲在DNS服務器上的資源記錄,每個區都位於一個特殊的域節點,但區並不是域,DNS域是名稱空間的一個分支,而區一般是存儲在文件中的DNS名稱空間的某一部分,可以包含多個域,一個域可以再分成幾個部分,每個部分或區可以由一台DNS服務器控制,使用區的概念,DNS服務器回答關於自己區中主機的查詢,它是哪個區的授權服務器

1.4主域名服務器和輔助域名服務器

DNS服務器可以不存儲任何區的信息或者存儲一個或多個區的信息,當DNS服務器接收到DNS查詢時,他檢索它的本地區以定位所請求的信息,如果因為服務器不是所DNS域的授權服務器,從而沒有所請求域的數據,而使用檢索失敗,服務器就檢查它的高速緩存並與其他DNS服務器通信以解析該請求,或者把客戶端提交給另一個可能知道答案的DNS服務器。

DNS服務器可以管理主區和輔助區,用戶可以把服務器配置成管理多個不同的主區和輔助區,以盡量接近管理主區和輔助區,這意味著服務器可能管理一個區的主拷貝和另一個區的輔助拷貝,或只管理一個區的主拷貝和輔助拷貝,對每個區,管理其主區的計算機是該區的主服務器,管理其輔助區的服務器是該區的輔助服務器。

主區的輔助服務器啟動時,它與該區的主控服務器進行連接並啟動一次區傳輸,區輔助服務器定期與主控服務器進行通信,查看區數據是否更改,如果改變了,它就啟動一次區傳輸。

每個區必須有主服務器,另外每個區至少要有一台輔助服務器,否則如果該區的主服務器崩潰了,就無法解析該區的名稱。

輔助服務器的優點:

(1)容錯能力

配置輔助服務器後,在該主服務器崩潰的情況下,客戶機仍能解析該區的名稱,一般把區的主服務器和區的輔助服務器安裝在不同的子網上,這樣如果到了一個子網的連接中斷,DNS客戶機還能直接查詢另一個子網上的名稱服務器。

(2)減少廣域鏈路上的通信量

如果某個區在遠程有大量客戶機,用戶就可以在遠程服務器添加該區的輔助服務器,並把遠程的客戶機配置成先查詢這些服務器,這樣就能防止遠程客戶機通過慢速鏈路通信來進行DNS查詢。

(3)減輕主服務器的負載

輔助服務器能回答該區的查詢,從而減少該區主服務器必須回答的查詢數。

1.6 DNS查詢原理及流程

(1)DNS相關概念

運行DNS服務程序的計算機,存儲DNS數據庫的信息,DNS服務器會嘗試解析客戶機的查詢請求,在解答查詢前,如果DNS服務器能夠提供所請求的信息,就直接回應解析結果,如果該DNS服務器沒有相應的域名信息,則為客戶機提供另一個能幫助解析查詢的服務器地址,如果以上兩種方式均失敗,則回應客戶機沒有所請求的信息或請求的信息不存在。

(2)DNS緩存

DNS服務器在解析客戶機請求時,如果本地沒有該DNS信息,則會詢問其他DNS服務器,當其他域名服務器返回查詢結果時,該DNS服務器會將結果記錄在本地的緩存中,成為DNS緩存,當下一次客戶機提交相同請求時,DNS服務器能夠直接使用緩存中的DNS信息進行解析。

(3)資源記錄

DNS服務器的信息數據,按照分類進行存儲,能夠解析客戶端的DNS請求

(4)區文件

包含區資源記錄的文件,選擇DNS服務器為授權服務器,管理該區域,在大部分DNS實現中,用文本文件實現區

遞歸查詢和迭代查詢

(1)遞歸查詢

遞歸查詢是一種DNS服務器的查詢模式,在該模式下的DNS服務器接收到客戶機的請求後,必須使用一個准確的查詢結果回復客戶機,如果DNS服務器本地沒有存儲查詢DNS信息,那麼該服務器會查詢其他服務器,並將返回的查詢結果交給客戶機。

(2)迭代查詢

DNS服務器另一種查詢方式為迭代查詢,DNS服務器會向客戶機提供其他能夠解析查詢請求的DNS服務器地址,當客戶機發送查詢請求時,DNS服務器並不會直接回復查詢結果,而是告訴客戶機另一台DNS服務器的地址,客戶機再向這台DNS服務器提交請求,依次循環,直到返回查詢的結果為止。

2 .DNS查詢流程

(1)DNS域名解析工作原理

<1>客戶機提交域名解析請求,並將該請求發送給本地的域名服務器

<2>當本地的域名服務器收到請求後,就先查詢本地緩存。如果有查詢的DNS記錄,則直接返回查詢結果,如果沒有該記錄,本地域名服務器就把請求發給根域名服務器

<3>根域名服務器再返回給本地域名服務器一個所查詢域的頂級域名服務器地址

<4>本地服務器再向返回的頂級域名服務器發送請求

<5>接收到該查詢請求的域名服務器查詢其緩存和記錄,如果有相關信息則直接返回客戶機查詢結果,否則,通知客戶機下級域名服務器的地址

<6>本地域名服務器將查詢請求發送返回的域名服務器

<7>域名服務器返回本地服務器查詢結果,(如果該域名服務器不包含查詢的DNS信息,查詢過程將重復<6><7>步驟,直到返回解析信息或解析失敗的回應)

<8>本地域名服務器將返回的結果保存到緩存,並且將結果返回給客戶機

(2)域名解析實例

<1>客戶機向本地的域名服務器發送解析www.itchenyi.com請求

<2>當本地的域名服務器收到請求後,就先查詢本地的緩存,如果有查詢的DNS信息記錄,則直接返回查詢的結果,如果沒有該記錄,本地服務器就把解析www.itchenyi.com請求發給根域名服務器

<3>根域名服務器收到請求後,根據完全正式域名FQDN,判斷該域名為com域,查詢所有的con域DNS服務器的信息,並返回給本地域名服務器

<4>本地域名服務器收到回應後,先保存返回的結果,再選擇一台com域名服務器,向其提交解析域名www.itchenyi.com的請求。

<5>com域名服務器接收到查詢請求後,判斷該域名屬於itchenyi.com域,通過查詢本地的記錄,列出管理itchenyi域名服務器信息,然後將查詢結果先返回給本地的域名服務器

<6>本地域名服務器收到回應後,先緩存返回的結果,再向itchenyi.com域的服務器發出請求解析www.itchenyi.com的數據包

<7>域名服務器itchenyi.com收到請求後,查詢 DNS記錄中的www主機的信息,並將結果返回給本地域名服務器

<8>本地域名服務器將返回的查詢結果保存到DNS高速緩存,並且將結果返回給客戶機!

正向解析和反向解析

(1)正向解析

正向解析是指域名到IP地址的解析過程。

(2)反向解析

反向解析是從IP地址到域名的解析過程,反向解析的作用為服務器的身份驗證。

資源記錄

為了將名字解析成IP地址,服務器查詢他們的區,(又叫DNS數據庫文件或簡單數據庫文件)。

區中包含組成相關DNS域資源信息的資源記錄(RP)。例如,某些資源記錄把友好名字映射成IP地址,另一些則把IP地址映射到友好名字。

某些資源記錄不僅包括DNS域中服務器的信息,還可以定義域,即指定每台服務器授權了哪些域,這些資源記錄就是SOA和NS資源記錄。

(SOA資源記錄)

每個區在區的開始處都包含了一個起始授權記錄(Start Authorrity Record)簡稱SOA記錄,SOA定義了域的全局參數,進行整個域的管理設置,一個區域文件只允許存在唯一的SOA記錄。

(NS資源記錄)

名稱服務器(NS)資源記錄表示該區的授權服務器,他們表示SOA資源記錄中指定的該區的主和輔助服務器,也表示了任何授權的服務器,沒個區在區根處至少包含一個NS記錄。

(A資源記錄)

地址(A)資源記錄把FQDN映射到IP地址,因而解析器能查詢FQDN對應的IP地址。

(PTR資源記錄)

相對於A資源記錄,指針(PTR)記錄把IP地址映射到了FQDN。

(CNAME資源記錄)

規范名字(CNAME)資源記錄創建特定FQDN的別名。用戶可以使用CNAME記錄來隱藏用戶網絡的實現細節,使連接的客戶機無法知道。

(MX資源記錄)

郵件交換(MX)資源記錄為DNS域名指定郵件交換服務器,郵件交換服務器是為DNS域名處理或轉發郵件的主機,處理郵件指把郵件投遞到目的或轉交另一個不同類型的郵件傳送者,轉發郵件指把郵件發送到目的服務器,用簡單郵件傳輸SMTP把郵件發送離最終目的最近的郵件交換服務器,或使郵件經過一定時間的排隊。

Copyright © Linux教程網 All Rights Reserved