天天看點

Centos5 系統配置DNS伺服器配置詳解

一、 首先,安裝 bind 

1)、用CD光牒自帶安裝

# rpm -qa | grep bind

bind-libs-9.3.4-6.P1.el5

bind-libbind-devel-9.3.4-6.P1.el5

bind-9.3.4-6.P1.el5

bind-chroot-9.3.4-6.P1.el5

bind-sdb-9.3.4-6.P1.el5

bind-devel-9.3.4-6.P1.el5

bind-utils-9.3.4-6.P1.el5

# rpm -qa | grep caching-nameserver

caching-nameserver-9.3.4-6.P1.el5

使用了chroot後,虛拟根目錄為/var/named/chroot,則namd.conf實際位置為/var/named/chroot/etc,而工作目錄/var/named實際路徑為/var/named/chroot/var/named.

2)、使用 yum安裝,

# yum install bind*

# yum install caching-nameserver

安裝過程很簡單主要的就是配置BIND服務。

本機IP是:192.168.0.14

# ls /var/named/chroot/etc/ 

localtime   named.rfc1912.zones named.caching-nameserver.conf    rndc.key

這些是在/var/named/chroot/etc/下的幾個主要的配置檔案。

3)、首先編輯 named.conf 檔案

# cp -p named.caching-nameserver.conf named.conf

注:使用cp -p 參數在複制的時候檔案的屬性不會改變。如果直接 cp 則要修改此檔案的屬主:

#chown :named named.conf

編輯 named.conf檔案進行配置。

# vi named.conf   

options {

    listen-on port 53 { 127.0.0.1; };    //127.0.0.1 改為 any

    listen-on-v6 port 53 { ::1; };

    directory     "/var/named";

    dump-file     "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

    query-source    port 53;   

    query-source-v6 port 53;

    allow-query     { any; };             //localhost  改為 any

    forwarders      { 208.67.222.222; };  // 此行預設沒有,如果内網使用此dns 伺服器可以設定 dns 轉發,這裡一定是一個有效的 dns 伺服器位址,則添加這兩行 。

    forward only;         

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

view localhost_resolver {

    match-clients         { any; };     //localhost  改為 any

    match-destinations { any; };        //localhost  改為 any

    recursion yes;

    include "/etc/named.rfc1912.zones";

4)、然後編輯  /var/named/chroot/etc/named.rfc1912.zones

# vi named.rfc1912.zones   //dns 伺服器的區域主配置檔案

在最後添加自己的 dns 區域  如果有多個則類似添加

zone "leisure.com" IN {                 // leisure.com 我實驗用的區域,正向解析區域

    type master;

    file "leisure.com.zone";            // leisure.com.zone本區域的配置檔案

    allow-update { none; };

zone "0.168.192.in-addr.arpa" IN {       //0.168.192      反向解析區域 

    file "0.168.192.zone";               // 0.168.192     反向解析區域配置檔案

5)、這兩個區域配置檔案可以分别直接拷貝 /var/named/chroot/var/named/localdomain.zone 和

/var/named/chroot/var/named/named.local

# cd /var/named/chroot/var/named/

# cp -p localdomain.zone  leisure.com.zone 

# cp -p named.local       0.168.192.zone

注意:這兩個配置檔案名一定要跟named.rfc1912.zones 你定義的名稱相同

下面主要是編輯這兩個檔案了。

# vi 0.168.192.zone

$TTL    86400

@       IN      SOA     localhost. root.localhost. (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

         IN      NS      leisure.com.

14       IN      PTR     dns.leisure.com.   //添加反向解析記錄

16       IN      PTR     mail.test.com.     //添加反向解析記錄

14 是指的 dns 伺服器IP:192.168.1.14 的最後位址區域

6)、# vi leisure.com.zone

@        IN SOA    localhost root (

                    42        ; serial (d. adams)

                    3H        ; refresh

                    15M        ; retry

                    1W        ; expiry

                    1D )        ; minimum

     IN NS        dns     //添加域名伺服器記錄-NS記錄(設定目前域的DNS伺服器名稱) 

     IN MX  5     mail    //添加郵件交換記錄-MX記錄(設定mail.leisure.com主機作為郵件伺服器)

dns     IN A        192.168.1.14        //添加正向解析

www     IN A        192.168.1.15        //添加正向解析

mail    IN A        192.168.1.16        //添加正向解析

bbs     CNAME       www                 //添加别名             

7)、最後就是修改/etc/resolv.conf檔案了. 也就是添加主dns 伺服器

# vi /etc/resolv.conf

nameserver 192.168.0.14

8)、測試:

#named-checkzone leisure.com var/named/chroot/var/named/leisure.com.zone   //測試正向區域檔案(檔案沒有文法錯誤則顯示OK,有錯誤則顯示錯誤内容)

同理測試反向解析檔案

9)、啟動 bind 服務

#service named start

ok 

到此配置就結束了,如果開啟了selinux 則要設定一下selinux,因為不配置這個的話就不會讓别人通路你的DNS伺服器。 防火牆開啟 tcp:53 udp:53

# ntsysc

這隻named 開啟自動啟動即可;

實驗中可關閉Selinux,開啟服務service named start.

10)、以上即是配置主域名伺服器過程,如果是從域名伺服器,這個配置過程也是一樣的,隻需要改動named.rfc1912.zones檔案即可

zone "test.com" IN {

    type slave;

    file "slaves/leisure.com.zone";   //在/var/named/chroot/var/named/slaves

    masters { 192.168.1.12; };          添加區域配置檔案leisure.com.zone既可

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

    file "slaves/0.168.192.zone";    //在/var/named/chroot/var/named/slaves

    masters { 192.168.1.12; };         添加區域配置檔案 0.168.192.zone 即可

11)、域名解析測試系統自帶的 nslookup 工具

# nslookup

Server:         192.168.1.14

Address:        192.168.1.14#53

Address: 192.168.1.14

>set type=mx

>leisure.com

Server:         192.168.0.14

Address:        192.168.0.14#53

leisure.com     mail exchanger = 5 mail.leisure.com.

 三、其它指令:

#rndc reload  一個非常有用的指令,能在不關閉服務的情況下,即時更新bind;另nslookup互動環境中,可以用指令server 192.168.1.102指定此DNS伺服器為提供服務的DNS伺服器

四、 标準資源記錄  

-----------------------------------------------------------------------  

資源記錄文本名 意義 記錄類型 功能  

Start of Authority 授權開始 SOA 标記區資料的開始,定義影響整個區的參數  

Name Server 名字伺服器 NS 标明域的名字伺服器  

Address 位址 A 轉換主機名到位址  

Pointer 指針 PTR 轉換位址到主機名  

Mail Exchange 郵件交換 MX 标明發往給定域名的郵件應傳送到的位置  

Canonical Name 正規名 CNAME 定義主機名别名  

HOST information 主機資訊 HINFO 描繪主機硬體和作業系統的資訊  

Wellknown Service 着名服務 WKS 通告網絡服務 

DNS使用MX記錄來實作郵件路由,它規定了域名的郵件伺服器要麼處理,要麼向前轉發有關該域名的郵件.處理郵件是指将其傳送給其位址所關聯的個人,向前轉發郵件是指通過SMTP協定将其傳送給其最終目的地.為了防止郵遞路由,MX記錄除了郵件交換器的域名外還有一個特殊參數:優先級值.優先級值是個從0到65535的無符号整數,它給出郵件交換器的優先級别. 

優先級值自身并不重要,關鍵在于它同其它郵件交換器的優先級值的相對大小,優先級值相對越小,優先級越高.郵件總是首先試圖傳遞給優先級值相對最小的郵件交換器.失敗後才試圖傳遞給優先級值稍大的郵件交換器.郵件總是試遍了同一優先級的郵件交換器,失敗後才試圖傳遞給優先級稍低的郵件交換器. 

注意你列為郵件交換器的主機必須擁有位址記錄.  

例如: 

mail A 172.16.0.3  

MX 10 mail.test.com.  

五、管理工具

#dig  

named.ca檔案的作用是告訴你的伺服器在哪裡可以找到根域的域伺服器,這個檔案 一定要保證正确無誤,一般來說,這個檔案幾乎不會變動,但是不能保證不會變動,最好是 每一,兩個月同步一下.  

使用下面的指令獲得新的named.ca檔案  

dig @.aroot-servers.net.ns >/var/named/named.ca  

#rndc   

rndc這個指令是由系統管理者用來管理域伺服器的操作,在終端中輸入ndc help可得到幫助.  

rndc restart 用來重新啟動named程序;  

rndc reload 用來裝入新的資料庫.

#nslookup  

nslookup是用來詢域名資訊的指令,它分互動模式和非互動模式兩種方式.  

互動模式:nslookup  

注意,當用nslookup查詢時出現"Non-authoritative answer:",表明這次并沒有到 網絡外去查詢,而是在緩存區中查找并找到資料.  

互動模式除了能查詢單個的主機,還可以查詢DNS記錄的任何類型,并且傳輸 一個域的整個區域資訊。 當不加參數地調用,nslookup将顯示它所用的名字伺服器, 并且進入互動模式。

本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/808471,如需轉載請自行聯系原作者

繼續閱讀