linux DNS域名解析服務

DNS域名解析服務
搭建緩存域名服務器
具體步驟:

  1. 插入安裝光盤並掛載,然後安裝bind軟件包及相關的軟件包。如圖所示:
    linux DNS域名解析服務

    linux DNS域名解析服務

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

    linux DNS域名解析服務

上述配置內容中,除了directory項通常會保留以外,其他的配置項都可以省略。若不指定listen-on配置項時,named默認在所有接口的UDP 53端口監聽服務;不指定allow-query配置項時,默認會響應所有客戶機的查詢請求。dump-file、statistics-file、memstatistics-file等配置項用於指定緩存數據庫文件、狀態統計文件的位置。添加了“zone “.” in { };”部分的根區域設置,儘管緩存服務器並沒有自主控制的區域數據,但可以向根服務器進行迭代查詢,並將最終獲得的解析結果反饋給客戶。
有時候爲了提高解析效率,也可以不向根分區查詢,而是將來自客戶端的查詢請求轉發給國內電信運營商的DNS服務器(如北京的202.106.0.20、202.106.148.1),緩存服務器收到返回的查詢結果後再傳遞給客戶端。只要去掉“zone “.” in {……};”的設置,並在全局配置中正確設置forwarders參數即可實現該功能。如下所示:
[root@localhost ~]# vim /var/named/chroot/etc/named.conf
options {
…… //省略部分內容
Forwarders { 202.106.0.20;202.106.148.1 };
};

  1. 確認根域的區域數據庫文件named.ca
    根區域的區域數據庫文件默認位於文件/var/named/chroot/var/named/named.ca中,該文件記錄了Internet中13臺根域服務器的域名和IP地址等相關信息。如圖所示:
    linux DNS域名解析服務
    linux DNS域名解析服務
  2. 啓動named服務
    執行“service named start”命令,啓動named服務,並通過netstat命令確認named服務的端口監聽狀態。若服務啓動失敗或發現沒有正常監聽UDP 53端口,可以根據錯誤提示信息(或者/var/log/messages文件中的日誌記錄)排除錯誤,然後再重啓服務即可。如圖所示:
    linux DNS域名解析服務

緩存服務器搭建成功!
搭建主域名服務器
具體步驟:

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

linux DNS域名解析服務
linux DNS域名解析服務

linux DNS域名解析服務

linux DNS域名解析服務

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

linux DNS域名解析服務

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

  1. 建立正、反向區域數據文件
    根據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配置項、SOA(Start Of Authority,授權信息開始)記錄、地址解析記錄。文件中的註釋信息以分號“;”開始。如圖所示:
    linux DNS域名解析服務

linux DNS域名解析服務

上述配置內容中,時間單位默認爲秒,也可以使用以下單位:M(分)、H(時)、W(周)、D(天)。文件中的“@”符號表示當前的DNS區域名,相當於“benet.com.”,“admin.benet.com.”表示域管理員的電子郵箱地址(由於“@”符號已有其他含義,因此將郵件地址中的“@”用“.”代替)。SOA記錄中的更新序列號用來同步主、從服務器的區域數據,當從服務器判斷區域更新時,若發現主服務器中的序列號與本地區域數據中的序列號相同,則不會進行下載。br/>其中,NS、MX記錄行首的“@”符號可以省略(默認繼承SOA記錄行首的@信息),但是必須保留一個空格或者Tab製表位。
linux DNS域名解析服務

linux DNS域名解析服務

在反向區域數據文件中,不會用到A地址記錄,而是使用PTR指針(Point)的記錄。使用PTR記錄時,第一列中只需要指明對應IP地址的“主機地址”部分即可,如“1”、“2”等,系統在查找地址記錄時會自動將當前反向域的網絡地址作爲前綴。
在區域數據配置文件中,凡是不以點號“.”結尾的主機地址,系統在查找地址記錄中都會自動將當前的域名作爲後綴。
 修改完主配置文件以後,可以執行named-checkconfig命令對named.conf文件進行語法檢查。如果文件中沒有語法錯誤,該命令將不給出任何提示;反之,則會給出相應的提示信息,只要根據出錯信息提示修正文件中的錯誤即可。帶“-z”選項的named-checkconfig命令還可以嘗試加載主配置文件中對應的區域數據庫文件,並檢查該文件是否存在問題。如圖所示:

linux DNS域名解析服務

關於named.conf文件中各種配置項的詳細說明,可以執行“man named.conf”查看手冊頁,也可參考配置樣本文件/usr/share/doc/bind-9.3.6/sample/etc/named.conf。
 修改完區域數據庫文件以後,可以執行named-checkzone命令對該文件進行語法檢查。依次指定區域名稱、數據文件名作爲參數。如果文件中沒有語法錯誤,系統將給出“OK”的提示信息。如圖所示:
linux DNS域名解析服務

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

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

linux DNS域名解析服務

主域名服務器已搭建好!
搭建從域名服務器
具體步驟:

  1. 確認本機的網絡地址、主機映射、默認DNS服務器地址
    將從域名服務器的IP地址設爲173.16.16.6,主機名設爲ns2.benet.com,通過修改網絡配置文件的方式進行。另外,主機映射文件/etc/hosts和DNS解析文件/etc/resolv.conf的內容與主服務器中的內容相同。
  2. 建立主配置文件named.conf
    在從域名服務器中,named.conf文件的內容與主服務器的內容大部分相同,只是不需要再設置“allow-transfer ……”;更關鍵的一點是,zone部分的區域類型應設置爲“slave”,並添加“masters { };”語句來指定主域名服務器的地址。如圖所示:

linux DNS域名解析服務
linux DNS域名解析服務

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

  1. 啓動named服務,查看區域數據文件是否下載成功
    在從域名服務器中執行“service named start”命令以啓動named服務。
    linux DNS域名解析服務

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

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

從域名服務器已搭建好

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