DNS域名正反向解析服務

DNS域名解析服務

搭建緩存域名服務器

具體步驟:

1. 插入安裝光盤並掛載,然後安裝bind軟件包及相關的軟件包。如圖所示:

wKiom1joQS2BnMwlAABBeOarJ-U152.png-wh_50wKioL1joQUfSwgBPAAAReToKdMw907.png-wh_50 

2. 編輯主配置文件

主配置文件named.conf通常位於/etc/目錄下,如果安裝了bind-chroot軟件包,則主配置文件默認位於/var/named/chroot/etc/目錄下,需要用戶手工建立。在named.conf文件中,主要包括全局配置、區域配置兩個部分,每一條配置記錄的行尾以分號“;”表示結束,以“#”號或“//”開始的部分表示註釋文件(大段註釋可以使用“/*……*/”的格式)。如圖所示:

wKioL1joQWPjlAF4AAAD1uIXyHk190.png-wh_50 

wKiom1joQXrjC2UnAABHXztOE3w510.png-wh_50 

上述配置內容中,除了directory項通常會保留以外,其他的配置項都可以省略。若不指定listen-on配置項時,named默認在所有接口的UDP 53端口監聽服務;不指定allow-query配置項時,默認會響應所有客戶機的查詢請求。dump-filestatistics-filememstatistics-file等配置項用於指定緩存數據庫文件、狀態統計文件的位置。添加了“zone .in  { }”部分的根區域設置,儘管緩存服務器並沒有自主控制的區域數據,但可以向根服務器進行迭代查詢,並將最終獲得的解析結果反饋給客戶。

有時候爲了提高解析效率,也可以不向根分區查詢,而是將來自客戶端的查詢請求轉發給國內電信運營商的DNS服務器(如北京的202.106.0.20202.106.148.1),緩存服務器收到返回的查詢結果後再傳遞給客戶端。只要去掉“zone .in  {……}”的設置,並在全局配置中正確設置forwarders參數即可實現該功能。如下所示:

[root@localhost ~]# vim /var/named/chroot/etc/named.conf

options {

…… //省略部分內容

Forwarders { 202.106.0.20202.106.148.1 }

}

3. 確認根域的區域數據庫文件named.ca

根區域的區域數據庫文件默認位於文件/var/named/chroot/var/named/named.ca中,該文件記錄了Internet13臺根域服務器的域名和IP地址等相關信息。如圖所示:

wKiom1joQZiQH6XXAAA6EB3w39M974.png-wh_50wKioL1joQa6R8WWNAAAhCT7K3r8844.png-wh_50 

4. 啓動named服務

執行service named start”命令,啓動named服務,並通過netstat命令確認named服務的端口監聽狀態。若服務啓動失敗或發現沒有正常監聽UDP 53端口,可以根據錯誤提示信息(或者/var/log/messages文件中的日誌記錄)排除錯誤,然後再重啓服務即可。如圖所示:

wKiom1joQcaj356oAAANS399HNA864.png-wh_50 

緩存服務器搭建成功!

搭建主域名服務器

具體步驟:

1. 設置本機的IP地址、主機名稱,通過修改網絡配置文件的方式進行。另外,爲了提高域名解析效率,建議將兩個DNS服務器的地址映射直接寫入到/etc/hosts文件中,並在/etc/resolv.conf文件中指定兩個DNS服務器的地址。如圖所示:

wKioL1joQdzR4IAoAAAFx49r3xM958.png-wh_50wKiom1joQffiG9kCAAADEZtzyfk579.png-wh_50wKioL1joQg7xvkL5AAAOF12_jUg880.png-wh_50wKiom1joQiTSPsjGAAADP20JCC4749.png-wh_50wKioL1joQjjj0xW5AAAFflfKkbQ492.png-wh_50 

2. 建立主配置文件named.conf

新創建的named.conf主配置文件,由於只需要提供benet.com域的正向解析和173.16.16.0/24網段的反向解析,因此相應的添加這兩個區域即可。根區域、迴環域等其他配置內容可以省略。如圖所示:

wKioL1joQk-wgwhSAAAD1uIXyHk572.png-wh_50 

wKioL1joQmXwgAKDAAAz8MiJkd0065.png-wh_50 

當不需要建立從域名服務器時,上述配置內容中的allow-transfer……”部分可以不添加;當不需要提供反向解析,“zone 16.16.173.in-addr.arpa”……”部分也可以去掉。

3. 建立正、反向區域數據文件

根據named.conf中的zone區域設置,分別建立正向區域數據文件benet.com.zone、反向區域數據文件173.16.16.arpa。配置內容可以參考迴環域的區域數據文件/var/named/chroot/var/named/localdomain.zone,並根據實際情況進行修改。

區域數據配置文件通常位於/var/named/目錄下。如果安裝了bind-chroot軟件包,則默認位於/var/named/chroot/var/named/目錄下,需要手工建立。每個區域數據文件對應一個DNS解析區域,文件名及內容由該域的管理員自行設置。

在區域數據文件中,主要包括TTL配置項、SOAStart Of Authority,授權信息開始)記錄、地址解析記錄。文件中的註釋信息以分號“;”開始。如圖所示:

wKiom1joQn7hRYjdAAAS3280qBU109.png-wh_50wKioL1joQpOzcKLxAABNXP1zpCI084.png-wh_50 

上述配置內容中,時間單位默認爲秒,也可以使用以下單位:M(分)、H(時)、W(周)、D(天)。文件中的“@”符號表示當前的DNS區域名,相當於“benet.com.”,“admin.benet.com.”表示域管理員的電子郵箱地址(由於“@”符號已有其他含義,因此將郵件地址中的“@”用“.”代替)。SOA記錄中的更新序列號用來同步主、從服務器的區域數據,當從服務器判斷區域更新時,若發現主服務器中的序列號與本地區域數據中的序列號相同,則不會進行下載。

其中,NSMX記錄行首的“@”符號可以省略(默認繼承SOA記錄行首的@信息),但是必須保留一個空格或者Tab製表位。

wKiom1joQqqj3ayDAAAJl5h7eg0927.png-wh_50wKioL1joQsKCzEu_AAASWuZ8PLQ572.png-wh_50 

在反向區域數據文件中,不會用到A地址記錄,而是使用PTR指針(Point)的記錄。使用PTR記錄時,第一列中只需要指明對應IP地址的“主機地址”部分即可,如“1”、“2”等,系統在查找地址記錄時會自動將當前反向域的網絡地址作爲前綴。

在區域數據配置文件中,凡是不以點號.”結尾的主機地址,系統在查找地址記錄中都會自動將當前的域名作爲後綴。

修改完主配置文件以後,可以執行named-checkconfig命令對named.conf文件進行語法檢查。如果文件中沒有語法錯誤,該命令將不給出任何提示;反之,則會給出相應的提示信息,只要根據出錯信息提示修正文件中的錯誤即可。帶“-z”選項的named-checkconfig命令還可以嘗試加載主配置文件中對應的區域數據庫文件,並檢查該文件是否存在問題。如圖所示:

wKioL1joQt2BZKW3AAAFLeM81P0540.png-wh_50 

關於named.conf文件中各種配置項的詳細說明,可以執行“man named.conf”查看手冊頁,也可參考配置樣本文件/usr/share/doc/bind-9.3.6/sample/etc/named.conf

修改完區域數據庫文件以後,可以執行named-checkzone命令對該文件進行語法檢查。依次指定區域名稱、數據文件名作爲參數。如果文件中沒有語法錯誤,系統將給出OK”的提示信息。如圖所示:

wKiom1joQvXQ5hGgAAAKkVvnpy4885.png-wh_50 

執行service named start”命令以啓動named服務,如果之前named服務已經在運行,也可以重啓服務或重載配置。如圖所示:

wKiom1joQxngL5_hAAAGEP84dKg506.png-wh_50 

在客戶端將DNS服務器指向173.16.16.5(主域名服務器的IP地址),使用nslookup命令驗證DNS查詢結果。如圖所示:

wKioL1joQyywaE27AAAQTz0KASM295.png-wh_50wKioL1joQ0ORz6mLAAAQtB73yDU702.png-wh_50wKiom1joQ1jQHNvVAAAOp6xmKwc308.png-wh_50 

主域名服務器已搭建好!

搭建從域名服務器

具體步驟:

1. 確認本機的網絡地址、主機映射、默認DNS服務器地址

將從域名服務器的IP地址設爲173.16.16.6,主機名設爲ns2.benet.com,通過修改網絡配置文件的方式進行。另外,主機映射文件/etc/hostsDNS解析文件/etc/resolv.conf的內容與主服務器中的內容相同。

2. 建立主配置文件named.conf

在從域名服務器中,named.conf文件的內容與主服務器的內容大部分相同,只是不需要再設置“allow-transfer ……”;更關鍵的一點是,zone部分的區域類型應設置爲“slave”,並添加“masters { };”語句來指定主域名服務器的地址。如圖所示:

wKioL1joQ3KC3jONAAADurGbeHc669.png-wh_50 

wKiom1joQ4XQCfKXAAAjDEekwgg533.png-wh_50 

由於從服務器的區域數據文件是從主服務器中下載而來,因此該文件保存的名稱可以自行定義,不用非得與主服務器中的一致。但需要注意的是,named”服務默認以名爲“named”的用戶身份運行,因此要確認named用戶對存放目錄有寫入權限。

wKioL1joQ57RoFUqAAAJhV-HvOs084.png-wh_50 

3. 啓動named服務,查看區域數據文件是否下載成功

在從域名服務器中執行service named start”命令以啓動named服務。

wKiom1joQ7GwmiSHAAAGTGMruIM635.png-wh_50 

若配置無誤,則named將會從主域名服務器中自動下載指定的區域數據文件,並保存到“slaves/”目錄下。另外,通過系統日誌文件/var/log/messages也可以觀察到下載區域數據文件的過程。

wKioL1joQ8mhzEEfAAAL3ScVSIQ125.png-wh_50 

4. 驗證從域名服務器

驗證從域名服務器時,只需要將客戶端的首選DNS服務器地址設爲173.16.16.6(從域名服務器的IP地址),使用nslookup命令進行正常測試即可。如圖所示:

wKioL1joQ96iwy3QAAAKBUmSOzQ842.png-wh_50 

從域名服務器已搭建好!

Linux清除緩存命令:rndc  flush

Linux客戶端沒有緩存


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