bind 9 部署

  架構二:bind 9

參考:故障處理:http://mba.shengwushibie.com/itbook/BookChapter.asp?id=4154

 

版本:bind-9.6-ESV-R5

1、編譯安裝

先下載解壓軟件包,再編譯安裝

./configure --prefix=/usr/local/named --with-openssl=/usr/local/openssl/ --disable-openssl-version-check

選項 --with-openssl=/usr/local/openssl/  是指定ssl的安裝路徑,按照自己主機的實際情況而定,若openssl的版本太低,可以使用選項--disable-openssl-version-check來消除告警信息

make  && make install  (不要使用並行編譯的方式,make -j  3)

2、安裝完了以後,我們準備去配置bind服務,但是進入/usr/local/named/etc 下沒有任何目錄和文件供我們配置。也許可以先運行一些named進程,於是執行/usr/local/named/sbin/named  還是不行,服務並沒有運行起來。

查看一些系統日誌 ,tail -f /var/log/messages 就會發現這樣一條Sep 15 15:00:56 localhost named[16536]: none:0: open: /usr/local/named/etc/named.conf: file not found

     原因清楚了,就是缺少配置文件。

3、下面就大刀闊斧的幹

      第一步:rndc配置 

       什麼是rndc? rndc是用來控制bind行爲的工具,如修改了某個區文件,重新加載這個區文件,命令爲rndc zone 。這樣就不用重啓bind服務。

      創建rndc.conf  ,利用命令

       /usr/local/named/sbin/rndc-confgen >/usr/local/named/etc/rndc.conf

      第二步:named.conf 配置

      dns的基本功能的實現都是通過這個named.conf文件,文件分爲4個大塊:選項文本塊、安全認證文本塊、查詢日誌記錄文本塊和區域文本塊

      話說,這個文件需要我們自己去寫,傻子纔會一個一個字去敲呢,去google唄,

      推薦一個網站:http://www.zytrax.com/books/dns/ch7/

       好了,我把我的named.conf文件給大家看看,完了以後把該文件放在/usr/local/named/etc目錄

options {

    directory "/var/named";   //數據存放路徑,查詢日誌,pid文件等

    allow-query-cache {any;};

    pid-file "named.pid";                 

};  // OPTIONS選項用來定義一些影響整個DNS服務器的環境,如這裏的DI RECTORY用來指定在本文件指定的文件的路徑,如這裏的是將其指定到 /var/named 下,在這裏你還可以指定端口等等。不指定則端口是53


key "rndc-key" {

    algorithm hmac-md5;

    secret "Up6SyTYQGYQBech+w4cneA==";

}; //如果需要同步主從DNS,需要這個key選項塊

 

controls {

    inet 127.0.0.1 port 953

    allow { 127.0.0.1; } keys { "rndc-key"; };

 };//從rndc.conf中複製即可


logging{

        channel query_log {

        file "/var/log/named/query.log" versions 5 size 10m;   

        severity info;

        print-time yes;

        print-severity yes;

        print-category yes;

  };

    category queries {

        query_log;

  };

}; //定義了查詢日誌的文件名稱爲query.log ,每個日誌大小爲10MB,達到這個容量後,自動輪詢


zone "." IN {

        type hint;

        file "named.ca";

};


zone "localhost" IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};


zone "0.0.127.in-addr.arpa" IN {

        type master;

        file "named.local";

        allow-update { none; };

};


zone "test.cn" IN {

        type master;

        file "test.cn.zone";

        allow-update { none; };

};

//區紀錄模塊

      第三步:寫區數據文件
     根域區數據文件:通過dig >/var/named/named.ca產生
     區數據文件:localhost.zone  named.local  test.cn.zone
   示例:

 

正解zone文件---------------------------------------------------------------------------------------
$TTL     1D   //表示緩存時間爲1天 (其他單位:周W、小時H、分鐘M、不寫表示秒、設0表示不緩存)
@           IN  SOA   ns2.bindns.cn.    webmaster.bindns.cn.(  
        //因爲@在文件中有特殊意義所以[email protected]改爲webmaster.bindns.cn
                2008052620       //domain區文件信息版本號(文件修改後將其值加1)格式爲20080526爲年月日,20爲版本號
                3600                   //輔助域名服務多長時間更新數據
                600                     //若輔助域名服務器更新失敗後600s再試
                1209600             //從DNS可對外提供域名服務的有效期爲1209600s
                600                     //若資源記錄裏沒有設置TTL值,則以這裏爲準
                )
                3600         IN     NS           ns1.bindns.cn.
                3600         IN     NS           ns2.bindns.cn.  //表明我們有兩個dns服務器可用
cdn         3600         IN     A              220.202.19.82  //地址記錄
www      3600           IN     CNAME     cdn.bindns.cn.  //別名記錄
mail        3600         IN     MX     5      sohu.com.     //郵件記錄


反解zone文件---------------------------------------------------------------------------------------
$TTL     1D
@           IN  SOA   ns2.bindns.cn.    webmaster.bindns.cn.(
                2008051813
         3600
                600
                1209600
                600
                )
                3600         IN     NS           ns1.bindns.cn.
                3600         IN     NS           ns2.bindns.cn.
82         IN     PTR        ns1.bindns.cn.    //反向解析記錄
87         IN     PTR        ns2.bindns.cn.
89         IN     PTR        ns3.bindns.cn.
91         IN     PTR        ns4.bindns.cn.

       注意:用的時候把註釋都去掉,我擔心會出錯,一般註釋都是以;開頭
                  第一個字段前面不能有空格,否則會報錯
       第四步:啓動和測試
       先檢查配置文件的語法錯誤:named-checkconf   可以檢查named.conf文件
                                                     named-checkzone 可以檢查區數據文件
       啓動bind服務 /usr/local/named/sbin/named  如果named.conf 不在etc下,加-c選項即可
       測試: netstat -an | grep ":53"
                  查看在 /var/named/ 目錄 下是否有query.log 文件
                  查看系統日誌
                  檢查防火牆是否關閉與dns服務相關的端口 iptables -L -n
                  然後在另外一臺主機上,把域名服務器的地址指向本機,執行ping 域名的命令
                  具體測試根據配置文件來進行。
  完畢 ! 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章