DNS Bind服務配置解析


DNS域名解析服務(Domain Name System)是用於解析域名與IP地址對應關系的服務,功能上可以實現正向解析與反向解析:

一、DNS服務器工作模式分類:

1、主服務器:在特定區域內具有唯一性、負責維護該區域內的域名與IP地址對應關系。
2、從服務器:從主服務器中獲得域名與IP地址對應關系並維護,以防主服務器宕機等情況。
3、緩存服務器:通過向其他域名解析服務器查詢獲得域名與IP地址對應關系,提高重復查詢時的效率.

二、DNS查詢方式:

1、迭代查詢:
2、遞歸查詢:

三、解析方式分類

1、正向解析,既將FQDN解析為IP.
2、反向解析,將IP解析為FQDN.

四、Bind配置文件的結構:

主程序 /usr/sbin/named
主配置文件 /etc/named.conf
區域配置文件 /etc/named.rfc1912.zones
zone文件的默認路徑 /var/named

/etc/named.conf :  Bind的主配置文件,用於定義全局設置,DNS的zone等相關配置。

1.options部分:

options {                                                 //options段用於定義全局設置
        listen-on port 53 { 127.0.0.1; };                 
        //定義bind的監聽IP地址(IPv4)
        listen-on-v6 port 53 { ::1; };                    
        //定義bind的監聽IP地址(IPv6)
        directory       "/var/named";                     
        //zone文件的默認路徑
        dump-file       "/var/named/data/cache_dump.db";  
        //cache的備份
        statistics-file "/var/named/data/named_stats.txt"; 
        //靜態文件
        memstatistics-file "/var/named/data/named_mem_stats.txt";  
        //內存靜態文件
        allow-query     { localhost; };                    
        //允許誰向此DNS進行查詢
        recursion yes|no;                                     
        //允許遞歸查詢
        
#安全相關部分:

       dnssec-enable yes;                                 
        dnssec-validation yes;
        dnssec-lookaside auto;
 
        /* Path to ISC DLV key */                          
        bindkeys-file "/etc/named.iscdlv.key";
 
        managed-keys-directory "/var/named/dynamic";
};

2.日志系統部分:
logging {                                                   //定義日志
        channel myfile {
        //定義channel名稱
                file "data/named.run";
                //以文件形式存儲日志
                severity dynamic;
       //存儲日志的級別,一共7個級別從高到低分別是:crit,error,warning,notice,info(前面5個屬於syslog);debug[level],dynamic(后兩個屬於Bind8,9獨有的級別)
        };  
 
         category statistics               { my_file; };  
         //定義bind系統中各子系統的日志    //將日志發給那個channel,可以發給多個channel,一個channel只能接受一個category。
         
};

3.定義zone

zone "." IN {                                              //定義Dns的zone,"."代表根區域
        type hint;                                         //定義zone的類型,根區域的類型就為hint 
        file "named.ca";                                   //指定zone文件,默認已經生成
        
};

二、DNS中zone文件的放置/var/named/*.zone(與named.conf中的zone對應的文件)

zone文件的書寫格式:

$TTL 1D                      //用宏定義一個TTL默認值為1天,下面數據直接引用此值.
@                            [TTL]    IN   SOA  主DNS服務器FQDN 管理員郵箱  (

   
                                        0       ; 序列號
                                        1D      ; 更新間隔
                                        1H      ; 更新失敗后重試間隔
                                        1W      ; 過期時長
                                        3H )    ; 否定記錄保存時長
                                                                           
資源類型:A(IPv4), AAAA(IPv6):定義FQDN的IP
          NS :   定義DNS服務器的FQDN
          SOA :   起始授權(每個zone首先要定義此值)
          MX:    定義郵件記錄,有優先級概念(0-99),值越小優先級越高。
          CNAME:  定義別名
          PTR:   反向記錄

單台DNS主服務器應用實驗之正向解析:

查看bind版本:

[root@localhost ~]# rpm -q bind
bind-9.8.2-0.62.rc1.el6_9.4.x86_64
如果沒有則安裝:
#yum install -y bind bind-utils

實驗環境 

系統:CentOS release 6.8
軟件:bind-9.8.2-0.62.rc1.el6_9.4.x86_64
服務器: IP 192.168.153.130;netmask 255.255.255.0 ;DNS 192.168.153.130;GW 192.168.153.2

我在192.168.153.130上面裝的dns服務,resolv.conf 中dns的地址配置第一行為本機ip地址,在后邊配置文件中的192.168.153.129為我的nginx服務器地址,nginx服務器的dns指向為192.168.153.130,這個在nginx主機nslookup時就可已用130的dns做解析了.

1.配置DNS服務器name.conf

options {
        listen-on port 53 { 127.0.0.1;
        	      192.168.153.130;   		// 為局域網其它機器提供Named服務,必須監聽向本機IP發出的請求. 
        									 };  
        listen-on-v6 port 53 { ::1; };					//如不使用IPv6地址,可以刪除或注釋掉
        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";
        allow-query     { any; };								//更改為any或者刪除或注釋掉,表示可以接受查詢的來源
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "music.com" IN{					//定義一個zone,zone的名字“music.com”
 type master;									//類型為主服務器
 file "music.com.zone";				//自定義的域名到IP的正向解析配置
};


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

2.開始建立正向解析文件:
創建並編輯正向解析文件music.com.zone(文件名要和name.conf文件中定義的zone file名一致)

#vim /var/named/music.com.zone 

$TTL 1D
@       IN SOA  master.music.com. email.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
				IN  NS   master            
master  IN  A    192.168.153.130                            
www     IN  A    192.168.153.129
nginx   IN  A    192.168.153.129
bbs     IN  A    192.168.153.129

3.配置完成后,檢查配置文件的正確性:

[root@localhost ~]# /usr/sbin/named-checkconf -z
zone music.com/IN: loaded serial 0
zone 153.168.192.in-addr.arpa/IN: loaded serial 2010110901
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0

4.重啟服務:

[root@localhost ~]# /sbin/service named restart
Stopping named: .[  OK  ]
Starting named: [  OK  ]

5.nslookup解析測試:

[root@localhost ~]# nslookup 
> master.music.com
Server:         192.168.153.130    				//dns地址
Address:        192.168.153.130#53

Name:   master.music.com									//域名服務器主機名
Address: 192.168.153.130
> www.music.com           
Server:         192.168.153.130
Address:        192.168.153.130#53

Name:   www.music.com
Address: 192.168.153.129								//www域名對應的A記錄地址
> nginx.music.com
Server:         192.168.153.130
Address:        192.168.153.130#53

Name:   nginx.music.com
Address: 192.168.153.129
> bbs.music.com
Server:         192.168.153.130
Address:        192.168.153.130#53

Name:   bbs.music.com
Address: 192.168.153.129
> 

單台DNS主服務器應用實驗之反向解析: 

1.配置主區域數據文件(/etc/named.conf),追加反向解析如下內容:

zone "153.168.192.in-addr.arpa" IN{
 type master;
 file "192.168.153.arpa.zone";
 allow-update { none; };
};

2.配置解析數據文件.

[root@localhost ~]# cd /var/named/
[root@localhost named]# vim 192.168.153.arpa.zone

$TTL 1D
@ IN SOA 153.168.192.in-addr.arpa. music.com. (
        2010110901
        28800
        14400
        3600000
        86400
)

@       IN  NS  master.music.com.
130     IN  PTR master.music.com    192.168.153.130  -> master
129     IN  PTR www.music.com.     ; 192.168.153.129 -> www
129     IN  PTR nginx.music.com.  ; 192.168.153.129 -> nginx
129     IN  PTR img.music.com.    ; 192.168.153.129 -> img

3.語法檢查:

[root@localhost ~]# /usr/sbin/named-checkconf -z

4.重啟服務:

[root@localhost ~]# /etc/init.d/named restart
Stopping named: [  OK  ]
Starting named: [  OK  ]

5.反向解析驗證:

[root@localhost ~]# nslookup 
> 192.168.153.129
Server:         192.168.153.130
Address:        192.168.153.130#53

129.153.168.192.in-addr.arpa    name = www.music.com.
129.153.168.192.in-addr.arpa    name = nginx.music.com.
129.153.168.192.in-addr.arpa    name = img.music.com.
>
> 192.168.153.130 
Server:         192.168.153.130
Address:        192.168.153.130#53

130.153.168.192.in-addr.arpa    name = master.music.com.153.168.192.in-addr.arpa.
> 

DNS CNAME記錄

CNAME記錄,即別名記錄,我們通過設置別名記錄,可以將多個名稱指向同一台主機,CNAME記錄的前提是必須要有一條A記錄,A記錄是創建CNAME記錄的前提.

這樣可以在ip變動的情況下,我們不用一個一個的去更改主機名到主機的A記錄映射,只需要改動別名到主機的一條A記錄就可以全部搞定,達到事倍功半的效果.

未使用別名(CNAME)的正向解析區域配置文件:

[root@localhost named]# vim music.com.zone
$TTL 1D
@       IN SOA  master.music.com. email.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  master 
master  IN  A   192.168.153.130
www     IN  A   192.168.153.129
nginx   IN  A   192.168.153.129
bbs     IN  A   192.168.153.129
img     IN  A   192.168.153.129

使用別名后的區域配置文件.

[root@localhost named]# vim music.com.zone
$TTL 1D
@       IN SOA  master.music.com. email.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  master
master  IN  A   192.168.153.130
proxy   IN  A   192.168.153.129
www     IN  CNAME         proxy
nginx   IN  CNAME         proxy
bbs     IN  CNAME          proxy
img     IN  CNAME          proxy

檢查並重啟服務,nslookup測試驗證:

[root@localhost ~]# nslookup 
> img.music.com
Server:         192.168.153.130
Address:        192.168.153.130#53

img.music.com   canonical name = proxy.music.com.			//別名
Name:   proxy.music.com
Address: 192.168.153.129
> www.music.com
Server:         192.168.153.130
Address:        192.168.153.130#53

www.music.com   canonical name = proxy.music.com.
Name:   proxy.music.com
Address: 192.168.153.129
> 

  

 

參考文檔:

    https://www.cnblogs.com/zydev/p/6293745.html   

    http://leitelyaya.iteye.com/blog/808266


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM