天天看點

全面剖析linux【bind】服務お執行個體篇(上)

 唉,唧唧歪歪了半天了。現在開始實操下DNS了,下面是DNS的安裝和配置

分4頁:

<a href="http://itchenyi.com/1114.html" target="_blank">一、bind簡單配置正反向區域解析</a>

<a href="http://itchenyi.com/1114.html/2" target="_blank">二、bind主輔伺服器配置</a>

<a href="http://itchenyi.com/1114.html/3" target="_blank">三、bind子域和區域委派</a>

<a href="http://itchenyi.com/1114.html/4" target="_blank">四、bind配置虛拟子域</a>

2.1:BIND簡介

BIND全稱為(Berkeley Internet Name Domain&lt;伯克利網際網路名稱域系統&gt;)BIND主要有3個版本:BIND4 BIND8 BIND9。

BIND9 融合了許多提高效率,穩定性和安全性的技術,包括支援IPV6,公開密鑰加密,多處理器支援,線程安全操作,增量區傳送等等!

2.2:DNS所需軟體包

bind-9.8.2-0.10.rc1.el6.i686.rpm

bind-utils-9.8.2-0.10.rc1.el6.i686.rpm

這裡我就直接用 yum 安裝了  centos6.3總有點與衆不同的,你用用就會知道了。這裡不做解釋!

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns5.png"></a>

3:DNS正常配置

一個比較簡單的DNS伺服器設定流程主要分為一下3步!

1:建立主配置檔案,named.conf,該檔案的最主要目的是設定DNS伺服器能夠管理哪些區域(zone)以及這些區域所對應的區域檔案名和存放路徑。

3:重新加載配置檔案,或者重新開機服務啟動named使配置生效。

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns6.jpg"></a>

4:将查詢結果回報給用戶端,完成整個查詢過程。

3.1:主配置檔案,named.conf

named.conf是BIND的核心配置檔案,它包含了BIND的基本配置,但其并不包括區域資料,named.conf檔案定義了DNS伺服器的工作目錄所在位置,所有的區域資料檔案都存放在該目錄中,該檔案還定義了DNS伺服器能夠管理哪些區域,如果DNS伺服器可以管理某個區域,它将完成區域内的域名解析工作

如果沒有安裝caching-nameserver 包,我們需要手動建立named.conf檔案,為了便于管理,通常放置于/etc/ 目錄下

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns7.png"></a>

當手動建立好named.conf檔案後,此問件是空白的,和其他的配置檔案差不多,named.conf配置檔案分為整體和局部兩個部分!

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns8.png"></a>

區域名為伺服器管理區域的名稱,如果添加了一個區域,并且該區域存在相應的資源記錄,那麼DNS伺服器可以解析該區域的DNS資訊

type 字段指定區域的類型,對于區域的管理至關重要,一共分為六種:

Master:主DNS伺服器:擁有區域資料檔案,并對此區域提供管理資料

Slave:輔助DNS伺服器:擁有主DNS伺服器的區域資料檔案的副本,輔助DNS伺服器會從主DNS伺服器同步所有區域資料,

Stub:stub區域和slave類似:但其隻複制主DNS伺服器上的NS記錄而不像輔助DNS伺服器會複制所有區域資料

Forward:一個forward zone 是每個域的配置轉發的主要部分,一個zone語句中的type forward可以包括一個forward和/或forwarders子句,它會在區域中給定的域中查詢 ,如果沒有forwarders語句或者forwarders是空表,那麼這個域就不會有轉發,消除了 options語句中有關轉發的配置。

Hint:根域名伺服器的初始化組指定使用線索區域hint zone 當伺服器啟動時,它使用根線索來查找根域名伺服器,并找到最近的根域名伺服器清單,如果沒有指定的class IN線索區域,伺服器使用編譯時預設的根伺服器線索,不是IN的類别沒有内置的預設線索伺服器。

Delegation-only : 用于強制區域的delegation.ly狀态。

3.2配置正向解析區域

1:建立主配置檔案named.conf

vim /etc/named.conf

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns9.png"></a>

directory 路徑名:用于定義伺服器的工作目錄,該目錄存放區域資料檔案,配置檔案中所有相對路徑的路徑名都基于此目錄。如果沒有指定,預設的是BIND啟動的目錄!

vim /var/named/chenyi.com和 localhost.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns10.png"></a>

其實是一樣的

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns11.png"></a>

3:配置反向解析區域

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns12.png"></a>

配置反向區域檔案

vim /var/named/192.168.1.zone

配置 localhost.zone 以上這是之前主配置檔案中的個區域資料檔案

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns13.png"></a>

然後 将權限更改一下

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns14.png"></a>

測試測試:

service named restart

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns15.png"></a>

host測試一下

<a href="http://itchenyi.com/wp-content/uploads/2012/11/dns16.png"></a>

①   輔助域名伺服器  

DNS 劃分若幹區域進行管理,每個區域由一個或多個域名伺服器負責解析。如果采用單獨的 DNS伺服器而該伺服器沒有響應,那麼該區域的域名解析就會失敗。是以每個區域建議使用多個 DNS伺服器,可以提供域名解析容錯功能。對于存在多個域名伺服器的區域,必須選擇一台主域名伺服器(master),儲存并管理整個區域的資訊,其他伺服器稱為輔助域名伺服器(slave)。 管理區域時,使用輔助域名伺服器的好處:

(1)輔助 DNS 伺服器提供區域備援,能夠在該區域的主伺服器停止響應時為用戶端解析該區域的 DNS 名稱。

(2)建立輔助 DNS 伺服器可以減少 DNS 網絡通信量。采用分布式結構,在低速廣域網鍊路中添加 DNS 伺服器能有效地管理和減少網絡通信量。

(3)輔助伺服器可以用于減少區域的主伺服器的負載。

②   區域傳輸 

為了保證 DNS 資料相同,所有伺服器必須進行資料同步,輔助域名伺服器從主域名伺服器獲得區域副本,這個過程稱為區域傳輸。區域傳輸存在兩種方式:完全區域傳輸(AXFR)和增量區域傳輸(IXFR)。當新的 DNS 伺服器添加到區域中,并且配置為新的輔助伺服器時,它會執行完全區域傳輸(AXFR),從主伺服器擷取一份完整的資源記錄副本。主伺服器上區域檔案再次變動後,輔助伺服器則會執行增量區域傳輸(IXFR),完整資源記錄的更新,始終保持 DNS 資料同步。 滿足發生區域傳輸的條件時,輔助域名伺服器向主伺服器發送查詢請求,更新其區域檔案。

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns1.png"></a>

(1)區域傳輸初始階段,輔助伺服器向主 DNS 伺服器發送完全區域傳輸(AXFR)請求。

(2)主伺服器做出響應,并将此區域完全傳輸到輔助伺服器。  該區域傳輸時會一并發送 SOA 資源記錄。SOA 中“序列号”(serial)字段标示區域資料的版本,“重新整理時間”(refresh)指出輔助伺服器下一次發送查詢請求的時間間隔。

(3)重新整理間隔到期時,輔助伺服器使用 SOA 查詢來請求從主伺服器續訂此區域。

(4)主域名伺服器應答其 SOA 記錄的查詢。 該響應包括主伺服器中該區域的目前序列号版本。

(5)輔助伺服器檢查響應中的 SOA 記錄的序列号,并确定續訂該區域的方法,如果輔助伺服器确認區域檔案已經更改,則它會把 IXFR 查詢發送到主伺服器。 若 SOA 響應中的序列号等于其目前的本地序列号,那麼兩個伺服器區域資料都相同,并且不需要區域傳輸。然後,輔助伺服器根據主伺服器 SOA 響應中的該字段值重新設定其重新整理時間,續訂該區域。如果 SOA 響應中的序列号值比其目前本地序列号要高,則可以确定此區域己更新并需要傳輸。

(6)主伺服器通過區域的增量傳輸或完全傳輸做出響應。  如果主伺服器可以儲存修改的資源記錄的曆史記錄,則它可以通過增量區域傳輸(IXFR)做出應答。如果主伺服器不支援增量傳輸或沒有區域變化的曆史記錄,則它可以通過完全區域傳輸(AXFR)做出應答。

配置輔助域名伺服器 

(1)      配置主域名伺服器

修改主配置檔案 named.conf添加 chenyi.com 區域

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns2.png"></a>

建立配置正向解析區域檔案vi /var/named/chenyi.com.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns3.png"></a>

建立配置反向解析區域檔案vi /var/named/1.168.192.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns4.png"></a>

(2)配置輔助域名伺服器

修改主配置檔案 named.conf,添加 chenyi 區域

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns5.png"></a>

(3)資料同步測試

重新開機輔助伺服器 named 服務,使其與主域名伺服器資料同步,然後我們在主域名伺服器上執行tail 指令檢視系統日志,輔助域名伺服器通過完整無缺區域複制(AXFR)擷取 michael.com 區域資料。如果無法複制,請檢測犀利機制(iptables、selinux)

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns6.png"></a>

子域與區域委派

域名空間由多個域構成,DNS 提供了将域名空間劃分為一個或多個區域的方法,這樣使得管理更加友善。而對于域來說,随着域的規模和功能不斷擴充,為了保證 DNS 管理維護以及查詢速度,可以為一個域添加附加域,上級域為父域,下級域為子域。父域為itchenyi.com,子域為bbs.itchenyi.com 。

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns7.png"></a>

子域應用環境 

當要為一個域附加子域時,請檢查是否屬于以下三種情況:

(1)域中增加了新的分支或站點,需要添加子域擴充域名空間。

(2)域中規模不斷擴大,記錄條目不斷增多,該域的 DNS 資料庫變得過于龐大,使用者檢索 DNS資訊時間增加。

(3)需要将 DNS 域名空間的部分管理工作分散到其他部門或地理位置。

管理子域

如果根據需要,決定添加子域,可以有兩種方法進行子域的管理。

(1)區域委派

父域建立子域并将子域的解析工作委派到額外的域名伺服器,并在父域的權威 DNS 伺服器中登記相應的委派記錄,建立這個操作的過程稱為區域委派。任何情況下,建立子域都可以進行區域委派。

(2)虛拟子域

建立子域時,子域管理工作并不委派給其他伺服器,而是與父域資訊一起,存放在相同的域名伺服器的區域檔案中。如果隻是為域添加分支或子站,不考慮到分散管理,選擇虛拟子域的方式,可以降低硬體成本。

注意:

執行區域委派時,僅僅建立子域是無法使子域資訊得到正常的解析。在父域的權威域名伺服器的區域檔案中,務必添加子域域名伺服器的記錄,建立子域與父域的關聯,否則,子域域名解析無法完成。

配置區域委派 

案例:公司提供虛拟主機服務,所有主機字尾域名為 itchenyi.com。随着虛拟主機注冊量大幅增加,DNS 查詢速度明顯變慢,并且域名的管理維護工作非常困難。 分析:對于 DNS 的一系列問題,查詢速度過慢,管理維護工作繁重,均是域名伺服器中記錄條目過多造成的。管理者可以為itchenyi.com 建立子域 a.itchenyi.com 并配置區域委派,将子域的維護工作傳遞其他的 DNS 伺服器,新的虛拟主機注冊域名為 a.itchenyi.com,減少 itchenyi.com 域名伺服器負荷,提高查詢速度。

(1)父域設定區域委派

&lt;1&gt;設定父域名伺服器 named.conf 檔案

編輯/etc/named.conf 并添加itchenyi.com 區域記錄

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns8.png"></a>

&lt;2&gt;添加 .com 區域檔案

父域的區域檔案中,務必要添加子域的委派記錄及管理子域的權威伺服器的 IP 位址。

vi /var/named/itchenyi.com.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns9.png"></a>

第九行:指定委派區域,a. itchenyi.com 管理工作由域名伺服器 ns1.a. itchenyi.com 負責。

第11行:添加 ns1.a. itchenyi.com 的 A 記錄資訊,定位子域 a.itchenyi.com 的權威伺服器。

&lt;3&gt;添加 michael.com 反向區域檔案

vi /var/named/1.168.192.in-addr.arpa.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns10.png"></a>

(2)子域設定

&lt;1&gt;編輯/etc/named.conf 并添加 a.itchenyi.com 區域記錄

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns11.png"></a>

&lt;2&gt;子域域名伺服器中,添加 a.mich ael.com 域的正向解析區域檔案

vi /var/named/a.itchenyi.com.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns12.png"></a>

&lt;3&gt;子域域名伺服器中,添加 a.mich ael.com 域的反向解析區域檔案

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns13.png"></a>

(2)      測試

配置虛拟子域 

如果域中需要增加新的分支或部門,而該域區域檔案中資源記錄數較少,為了節約成本,在不添加額外伺服器的情況下,可以配置虛拟子域,将子域資訊添加到父域區域檔案。

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns16.png"></a>

修改主配置檔案 named.conf

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns17.png"></a>

編輯父域正向區域檔案 itchenyi.com.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns18.png"></a>

編輯父域反向區域檔案 1.168.192.in-addr.arpa.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns19.png"></a>

編輯子域正向區域檔案

bbs.itchenyi.com.zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns20.png"></a>

編輯子域反向區域檔案 bbs.1.168.192.in-addr.arpa .zone

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns21.png"></a>

重新開機服務 使配置生效

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns22.png"></a>

用戶端測試:

用戶端設定 DNS 為父域位址

用戶端設定 DNS 為子域位址

<a href="http://itchenyi.com/wp-content/uploads/2012/11/gdns25.png"></a>

本文轉自 lgpqdwjh 51CTO部落格,原文連結:http://blog.51cto.com/itchenyi/1054317,如需轉載請自行聯系原作者