天天看點

Linux下DNS伺服器配置

 DNS伺服器配置

一、DNS概述:DNS 是域名系統 (Domain Name System) 的縮寫,是一種組織域層次結構的計算機和網絡服務命名系統。它的作用是:把域名轉換成為網絡可以識别的 IP 位址,查詢結果儲存起來,并告訴給用戶端。

二、DNS查詢過程

   DNS的查詢過程是指在用戶端是通過DNS伺服器将一個IP位址轉化為一個FQDN、将一個FQDN轉化為一個IP位址或查詢一個區域的郵件伺服器的過程。

   1.按查詢方式分類DNS查詢

   a.遞歸查詢:當DNS伺服器接收到查詢請求時,要麼做出查詢成功響應,要麼做出查詢失敗的響應。遞歸查詢一般發生在DNS用戶端與DNS伺服器之間。

   b.疊代查詢:DNS伺服器根據自己的高速緩存或區域的資料,以最佳結果響應。如果DNS伺服器無法解析,它可能傳回一個指針。指針指向有下級域名的DNS伺服器,繼續該過程,直到找到擁有所查詢名字的DNS伺服器,或直到出錯、逾時為止。疊代查詢一般發生在DNS伺服器之間。

   2.按查詢内容分類DNS查詢

     a.正向查詢;域名--》IP

     b.反向查詢:IP----》域名

三、DNS安裝

1.配置yum本地源,采用組安裝方式

<a href="http://blog.51cto.com/attachment/201210/213522840.png" target="_blank"></a>

2.不要忘了也需要安裝caching-nameserver

<a href="http://blog.51cto.com/attachment/201210/213531468.png" target="_blank"></a>

四、應用案例 

DNS配置排錯方式:

   1.檢測主配置文檔 named-checkconf 後跟主配置文檔路徑及名字

例:目前在/var/named/chroot/下,named-checkconf etc/named.conf

   2.區域檔案的檢測工具 named-checkzone  域名 區域檔案的路徑及名字

例:目前在/var/named/chroot  named-checkzone a.com  var/named/a.com.db

   3.最狠的一招,檢視日志檔案(/var/log/messages),根據相信你一定能夠找到錯誤的原因。

另外在注意在測試時一定要将防火牆關閉,

1.主要作用域與輔助作用域

 配置參數:域名為a.com. 

          IP

IP0

     1)複制主配置檔案,并對其進行如下配置

<a href="http://blog.51cto.com/attachment/201210/213543548.png" target="_blank"></a>

    在主配置檔案中一定要加上主dns的資料可以傳輸到指定dns伺服器上(輔助區域)

<a href="http://blog.51cto.com/attachment/201210/231246828.png" target="_blank"></a>

2)編輯named.rfc1912.zones檔案,如下圖進行添加:

<a href="http://blog.51cto.com/attachment/201210/213607250.png" target="_blank"></a>

3)複制區域檔案模闆,并對其進行修改

<a href="http://blog.51cto.com/attachment/201210/214205705.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/213817965.png" target="_blank"></a>

4)重新開機dns服務

<a href="http://blog.51cto.com/attachment/201210/213835139.png" target="_blank"></a>

5)至此,主區域基本配置完成。

6)輔助區域的檔案基本和主區域的配置一樣,就是不再需要在options塊中加allow-transfer {};,編輯named.rfc1912.zones檔案,如下圖進行添加:

一定要将預設的"allow-update {none;}; "項,即将允許更新删除,還有就是檔案的存放位置,也可以存放在其他目錄中,但必須保證存放的目錄的所有者和擁有組是named,否則BIND将無法将從主要區域傳輸的DNS資訊寫入檔案中。

<a href="http://blog.51cto.com/attachment/201210/213849351.png" target="_blank"></a>

7)啟動dns服務,你會發現在slaves下生成了a.com.db檔案,注意其值的大小,與後面還要做比較,

<a href="http://blog.51cto.com/attachment/201210/213915274.png" target="_blank"></a>

     9)将測試機的dns設為輔助dns,

    10)用nslookup來測試,發現新添加記錄并沒有正确解析,因為dns設定的refresh重新整理時間為2分鐘,過一段時間後,就可以看到slaves下的a.com.db檔案已經增大了,而且那幾條記錄

也已經添加到輔助區域的區域檔案内了。 

<a href="http://blog.51cto.com/attachment/201210/214047599.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/214105403.png" target="_blank"></a>

2.轉發與委派

    實驗描述:某公司其總部在北京,主域名為:qq.com,北京的子域bj.qq.com也建在主域的dns伺服器,而要想遠在上海的子域sh.qq.com也能夠正常解析主區域的域名,則要通過轉發而在北京的主機想通過主DNS查詢到子域的域名則需要通過委派來實作,實驗示意圖如下:

   注:1)轉發:

  a.完全轉發:将用戶端所有DNS查詢以遞歸的方式轉發到指定DNS伺服器,

  b.條件轉發:将指定DNS字尾的查詢轉發到指定的DNS伺服器;

       2)委派:在BIND中可以将某個子域的查詢工作委派給别一個DNS伺服器完成。

<a href="http://blog.51cto.com/attachment/201210/212722419.png" target="_blank"></a>

配置過程:

1)如案例一中一樣修改dns主配置檔案,并在named.rfc1912.zones檔案中做如下添加:

<a href="http://blog.51cto.com/attachment/201210/212737310.png" target="_blank"></a>

2)添加區域檔案,并做如下修改,主域qq.com:

<a href="http://blog.51cto.com/attachment/201210/232221317.png" target="_blank"></a>

北京子域bj.qq.com:

<a href="http://blog.51cto.com/attachment/201210/232414872.png" target="_blank"></a>

3)重新開機dns,至此dns的主區域基本配置完成,以下為上海子域DNS的配置:

4)為子域設定轉發,在主配置檔案添加"forwareders {192.168.142.2; };"實作完全轉發:

<a href="http://blog.51cto.com/attachment/201210/212810279.png" target="_blank"></a>

也可以在named.rfc1912.zones中添加如下圖中的語句,實作條件轉發:

<a href="http://blog.51cto.com/attachment/201210/212838671.png" target="_blank"></a>

5)測試,修改測試機2IP為192.168.142.6/24,DNS改為192.168.142.20,即子域的DNS

<a href="http://blog.51cto.com/attachment/201210/212901914.png" target="_blank"></a>

6)用nslookup檢視如下圖:

<a href="http://blog.51cto.com/attachment/201210/212917445.png" target="_blank"></a>

7)委派配置,在主區域的區域檔案内添加如下語句,即将對sh.qq.com域的查詢委派給上海子域192.168.142.20,

<a href="http://blog.51cto.com/attachment/201210/212935603.png" target="_blank"></a>

8)測試,修改測試機1的IP為192.168.142.5,DNS為主DNS:192.168.142.2

<a href="http://blog.51cto.com/attachment/201210/212948218.png" target="_blank"></a>

9)在cmd下用nslookup來測試如下圖:

<a href="http://blog.51cto.com/attachment/201210/213002797.png" target="_blank"></a>

10)測試正常實驗結束。

注:以上案例中為簡化實驗步驟,均沒有配置反向作用域,對于反向作用域的了解,以後會單獨說明。

3.反向區域的配置

  實驗參數:正向區域為abc.com, 所在IP段為192.168.142.0/24,

            DNS伺服器IP:192.168.142.20

            添加www主機192.168.142.8,

 1)正确修改主配置檔案,

<a href="http://blog.51cto.com/attachment/201210/173908904.png" target="_blank"></a>

2)并編輯named.rfc1912.zones,添加如下語句(正向與反向):

<a href="http://blog.51cto.com/attachment/201210/173917938.png" target="_blank"></a>

3)複制模闆檔案并進行編輯,

<a href="http://blog.51cto.com/attachment/201210/173925407.png" target="_blank"></a>

正向區域檔案abc.com.zone如下圖:

<a href="http://blog.51cto.com/attachment/201210/173945959.png" target="_blank"></a>

反向區域檔案142.168.192.zone如下圖:

<a href="http://blog.51cto.com/attachment/201210/173954169.png" target="_blank"></a>

4)測試區域檔案的文法,并重新開機服務:

<a href="http://blog.51cto.com/attachment/201210/174002660.png" target="_blank"></a>

5)測試,把測試機IP位址做如下修改:

<a href="http://blog.51cto.com/attachment/201210/174024303.png" target="_blank"></a>

6)在cmd用nslookup指令如下圖進行:

<a href="http://blog.51cto.com/attachment/201210/174035165.png" target="_blank"></a>

7)測試正常,實驗結束。

本文轉自 劉園  51CTO部落格,原文連結:http://blog.51cto.com/colynn/1030126

繼續閱讀