基於Bind實現的DNS正反向解析及主從DNS的配置


一、什么是DNS?

1.1 簡單的理解,Domain Name System,是互聯網一項核心的服務,他作為一個橋梁可以將域名和IP地址相互因素的一個分布式數據庫,能夠使人更加方便的訪問互聯網,而不用去記復雜的IP地址。

 

1.2 DNS分成3類:

    主DNS

    從DNS

    轉發DNS

 

1.3 DNS的查詢方式

 1.3.1 遞歸查詢:只要發出遞歸查詢,服務器必需回答目標IP與域名的映射關系。一般客戶機和服務器之間屬遞歸查詢,即當客戶機向DNS服務器發出請求后,若DNS服務器本身不能解析,則會向另外DNS服務器發出查詢請求,得到結果后轉交給客戶機;

 

 1.3.2 迭代查詢:服務器收到一次迭代查詢回復一次結果,這個結果不一定是目標IP與域名的映射關系,也可以使其他的DNS服務器地址。

 

   一般DNS服務器之間屬迭代查詢,若DNS2不能響應DNS1的請求,則它會將DNS3的IP給DNS2,以便再向DNS3發出請求;

 

二、主從DNS的搭建及域名的正反向解析

2.1 測試環境

 准備2台虛擬機,一台為主DNS,IP地址為192.168.1.10,另一台為從DNS,IP地址為192.168.1.11

 2台虛擬機都裝好bind,

1
[root@localhostcw ~]# yum -y install bind
1
[root@localhostcw ~]# yum install -y bind-utils (包含一些配置和測試工具)

bind服務器端程序 
主要執行程序:/usr/sbin/named 
服務腳本:/etc/init.d/named 
默認監聽端口:UDP和TCP的53 
主配置文件: /etc/named.conf 
保存DNS解析記錄的數據文件位於:/var/named/

 

2.2 主DNS的配置文件

配置主配置文件/etc/named.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
options {
//      listen-on port 53 { 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" ;
//      allow-query     { any; };
         recursion yes;
//      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";
};
logging {
         channel default_debug {
                 file  "data/named.run" ;
                 severity  dynamic ;
         };
};
zone  "."  IN {
         type hint;
         file  "named.ca" ;
};
include  "/etc/named.rfc1912.zones" ;
//include "/etc/named.root.key";

 

2.3定義工作目錄,添加兩個區域,一個正向解析,一個反向解析

編輯/etc/named.rfc1912.zones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone  "localhost.localdomain"  IN {
         type master;
         file  "named.localhost" ;
         allow-update { none; };
};
zone  "localhost"  IN {
         type master;
         file  "named.localhost" ;
         allow-update { none; };
};
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 {
         type master;
         file  "named.loopback" ;
         allow-update { none; };
};
zone  "1.0.0.127.in-addr.arpa"  IN {
         type master;
         file  "named.loopback" ;
         allow-update { none; };
};
zone  "0.in-addr.arpa"  IN {
         type master;
         file  "named.empty" ;
         allow-update { none; };
};
添加這 2
zone  "cwlinux.com"  IN {                     //正向解析
         type master;                       //類型為主DNS
         file  "cwlinux.com.zone" ;           //正向解析文件位置
         allow-transfer {  192.168 . 1.11 ; };  //授權從DNS連接主DNS
         allow-update { none; };            //允許自動更新
};
zone  "1.168.192.in-addr.arpa"  IN {       //反向解析
         type master;                      //類型為主DNS
         file  "192.168.1.zone" ;            //反向解析文件位置
         allow-transfer {  192.168 . 1.11 ; }; //授權從DNS連接主DNS
         allow-update { none; };           //允許自動更新
};

 

2.3.1 在/var/named/目錄中添加正反向解析文件

添加正向解析文件 cwlinux.com.zone

1
[root@localhostcw ~]# vim / var /named/cwlinux.com.zone
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$TTL  600
@        IN   SOA    dns.cwlinux.com   dnsadmin.cwlinux.com. ( //SOA字段
                           2015031288    //版本號    同步一次  +1
                              1H         //更新時間
                              2M         // 更新失敗,重試更新時間
                              2D         // 更新失敗多長時間后此DNS失效時間
                              1D         //解析不到請求不予回復時間
)
          IN    NS   dns             //有兩域名服務器
          IN    NS   ns2
          IN    MX   10  mial         // 定義郵件服務器,10指優先級  0-99 數字越小優先級越高
ns2      IN    A     192.168 . 1.113   //ns2域名服務器的ip地址
dns      IN    A     192.168 . 1.10    //dns域名服務器的ip地址
mail     IN    A     192.168 . 1.111    //郵件服務器的ip地址
www      IN    A     192.168 . 1.112    //www.cwlinux.com的ip地址
pop      IN   CNAME  mail          //pop的正式名字是mail
ftp      IN   CNAME  www          //ftp的正式名字是www

 

添加反向解析文件 192.168.1.zone

1
[root@localhostcw ~]# vim / var /named/ 192.168 . 1 .zone
1
2
3
4
5
6
7
8
9
10
11
12
13
$TTL  600
@         IN   SOA    dns.cwlinux.com.   dnsadmin.cwlinux.com. (
                              2014031224
                              1H
                              2M
                              2D
                              1D
)
          IN   NS      dns.cwlinux.com.
10        IN   PTR     dns.cwlinux.com.      //反向解析PTR格式
111        IN   PTR     mail.cwlinux.com.
112        IN   PTR     www.cwlinux.com.
// 聲明域的時候已經有了,192.168.1 所以我們只需要輸入10既代表192.168.1.10

 

檢查語法錯誤

wKioL1MgcOajIiJdAAChvuWDqms353.jpg

 

把兩個自定義區域文件的屬組改為named

 

1
2
#chown :named / var /named/cwlinux.com.zone    //若這步沒做正向解析會出現”server can't find www.cwlinux.com:SERVFAIL”的錯誤
#chown :named / var /named/ 192.168 . 1 .zone   //若這步沒做反向解析會出現”server can't find 10.1.168.192.in-addr.arpa:SERVFAIL”的錯誤

 

安全起見,把這2個文件權限改成640

1
[root@localhostcw ~]# chmod  640  cwlinux.com.zone  1.168 . 192 .zone

 

2.4 重啟主DNS,然后在主DNS上測試正反向解析

wKioL1Mgfu3SSPtdAAB8qObszAM697.jpg

wKioL1MgdADjRUTEAAKKrP94S-A545.jpg

 

反向解析

wKiom1MgdD6A2wlbAAJjYnOXTso017.jpg

 

2.5 從DNS主配置文件

vim /etc/named.conf 和主DNS配置一樣

 

編輯區域文件 /etc/named.rfc1912.zones

wKioL1MgdS2S_6TAAABBbb9MT_g478.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone  "localhost.localdomain"  IN {
         type master;
         file  "named.localhost" ;
         allow-update { none; };
};
zone  "localhost"  IN {
         type master;
         file  "named.localhost" ;
         allow-update { none; };
};
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 {
         type master;
         file  "named.loopback" ;
         allow-update { none; };
};
zone  "1.0.0.127.in-addr.arpa"  IN {
         type master;
         file  "named.loopback" ;
         allow-update { none; };
};
zone  "0.in-addr.arpa"  IN {
         type master;
         file  "named.empty" ;
         allow-update { none; };
};
添加以下 2
zone   "cwlinux.com"  IN {                 //正向解析
           type slave;                    //類型為從DNS
           masters {  192.168 . 1.10 ; };     //主DNS ip地址
         file  "slaves/cwlinux.com.zone" // cwlinux.com.zone拷貝到slaves目錄下(/var/named/slaves)
       allow-update { none; };            //允許自動更新
};
zone  "1.168.192.in-addr.arpa"  IN {    // 反向解析
           type slave;                 //類型為從DNS
           masters {  192.168 . 1.10 ; };   //主DNS ip地址
          file  "slaves/192.168.1.zone" ; // 192.16.1.zone拷貝到slaves目錄下(/var/named/slaves)
         allow-update { none; };        //允許自動更新
};
~

 

 

重啟從DNS

查看/var/named/slaves/

wKiom1Mgd7fyYjxaAABZKiMK45Y944.jpg

 

測試正向解析

wKiom1Mgd9HQY7_UAAH9xoNeBh0004.jpg

 

三、主從同步

在主DNS /var/named/cwlinux.com.zone 中加一條A記錄

wKiom1Mge7zQVIAkAADumwKkNEg326.jpg

 

主DNS重讀配置文件

1
[root@localhostcw named]# service named reload

 

到從DNS上查看是否同步復制過來

wKiom1Mgeyah2zzvAAH-etDtS9k662.jpg

從上圖看出,數據已經同步傳輸過來了

 

   這次先介紹了下基於bind實現的主從DNS的配置,正反向域名解析,主從復制這些內容,由於初學DNS,不足之處在所難免,敬請見諒!下次再來介紹下DNS的子域授權和轉發機制,view機制!


免責聲明!

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



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