正向解析區域、反向解析區域;主/從;子域;基本安全控制

 

正向解析區域、反向解析區域;主/從;子域;基本安全控制

一、背景:

  DNS服務器所提供的服務是完成將主機名和轉換爲IP地址的工作。爲什麼需要將主機名轉換爲IP地址的工作呢?這是因爲,當網絡上的一臺客戶機訪問某一服務器上的資源時,用戶在瀏覽器地址欄中輸入的是人類便於識記的主機名和域名。而網絡上的計算機之間實現連接卻是通過每臺計算機在網絡中擁有的惟一的IP地址來完成的,這樣就需要在用戶容易記憶的地址和計算機能夠識別的地址之間有一個解析,DNS服務器便充當了地址解析的重要角色。

 正向解析就是通過域名解析到IP地址而反向解析就是通過IP能解析到域名。

二、正向解析區域、反向解析區域

 1、配置解析域

  配置解析一個正向區域:

   以magedu.com域爲例:

 (1) 定義區域

       在主配置文件中或主配置文件輔助配置文件中實現;

   zone  "ZONE_NAME"  IN  {

     type  {master|slave|hint|forward};

     file  "ZONE_NAME.zone"; 

    };

 注意:區域名字即爲域名;

 (2) 建立區域數據文件(主要記錄爲A或AAAA記錄)

    在/var/named目錄下建立區域數據文件;

    文件爲:/var/named/magedu.com.zone

    $TTL 3600

    $ORIGIN magedu.com.

    @     IN   SOA   ns1.magedu.com. dnsadmin.magedu.com. (

               2017010801

                1H

               10M

               3D

               1D )

    IN      NS      ns1

    IN      MX   10 mx1

    IN      MX   20 mx2

    ns1     IN     A     172.16.100.67

    mx1     IN     A     172.16.100.68

    mx2     IN     A     172.16.100.69

    www     IN     A     172.16.100.67

    web     IN     CNAME   www

    bbs     IN     A    172.16.100.70

    bbs     IN     A    172.16.100.71

   權限及屬組修改:

   # chgrp  named  /var/named/magedu.com.zone

   # chmod  o=  /var/named/magedu.com.zone

   檢查語法錯誤:

   # named-checkzone  ZONE_NAME   ZONE_FILE

   # named-checkconf 

 (3) 讓服務器重載配置文件和區域數據文件

     # rndc  reload 或

     # systemctl  reload  named.service


  配置解析一個反向區域

 (1) 定義區域

  在主配置文件中或主配置文件輔助配置文件中實現;

     zone  "ZONE_NAME"  IN  {

         type  {master|slave|hint|forward};

         file  "ZONE_NAME.zone"; 

      };

  注意:反向區域的名字

  反寫的網段地址.in-addr.arpa 

  100.16.172.in-addr.arpa

 (2) 定義區域解析庫文件(主要記錄爲PTR)

    示例,區域名稱爲100.16.172.in-addr.arpa;

     $TTL 3600

     $ORIGIN 100.16.172.in-addr.arpa.

    @     IN    SOA   ns1.magedu.com.  nsadmin.magedu.com. (

         2017010801(序列號)

           1H (刷新時間間隔)

           10M (重試時間間隔)

           3D  (否定答案的生存時長)

           12H (過期時長))

      IN    NS    ns1.magedu.com.

     67      IN      PTR     ns1.magedu.com. 

     68      IN      PTR     mx1.magedu.com.

     69      IN      PTR     mx2.magedu.com.

     70      IN      PTR     bbs.magedu.com.

     71      IN      PTR     bbs.magedu.com.

     67      IN      PTR     www.magedu.com.

  權限及屬組修改:

   # chgrp  named  /var/named/172.16.100.zone

   # chmod  o=  /var/named/172.16.100.zone

  檢查語法錯誤:

   # named-checkzone  ZONE_NAME   ZONE_FILE

   # named-checkconf 

 (3) 讓服務器重載配置文件和區域數據文件

   # rndc  reload 或

   # systemctl  reload  named.service 

三、主,從DNS服務器配置

 

  假設我們以上配置的主機爲主DNS服務器,在另一臺主機配置從服務器。

  從服務器是區域級別的概念;所以是在zone定義的type爲slave;所以可以互爲主從,例如一個正向解析的DNS服務器A的從服務器是DNS服務器B。DNS服務器B是反向解析的主服務器,DNS服務器A是反向解析的從服務器;

(1)配置從DNS服務器方式

 在從DNS服務器上

  1)定義區域:

    zone "ZONE_NAME" IN {

    type slave;

    file "slaves/ZONE_NAME.zone"; ----> slaves目錄的屬主是named,確保數據可以寫入;

    masters {MASTER_IP;};

    }; 

  2) 重載配置

rndc  reload

systemctl  reload  named.service

    

     [root@COS6 ~]# rndc reload

     server reload successful

 在主DNS服務器上

   確保區域數據文件中爲每個從服務配置NS記錄,並且在正向區域文件需要爲每個從服務器的主機名配置一個A記錄,且此後A後面的地址爲真正的從服務器的IP。 

注意:時間要同步;ntpdate命令

主服務器的序列號每次修改都要更新!

  [root@COS7 ~]# vim /var/named/flyalways.com.zone

  [root@COS7 ~]# cat /var/named/flyalways.com.zone 

  $TTL 3600

  $ORIGIN flyalways.com.

  @ IN SOA dns.flyalways.com. dnsadmin.flyalways.com. (

2016011002                          -----> 修改序列號

1H

10M

3D

1D )

IN NS dns

IN NS dns2                -----> 添加從服務器的NS記錄

IN MX   10 mx1

IN MX   20 mx2

dns IN A 172.16.25.71

dns2 IN A 172.16.25.67        -----> 指明從服務器的地址

mx1 IN A 172.16.25.72

mx2 IN A 172.16.25.73

www IN A 172.16.25.74

web IN A 172.16.25.75  

 [root@COS7 ~]# named-checkconf 

 [root@COS7 ~]# named-checkzone flyalways.com /var/named/flyalways.com.zone 

 zone flyalways.com/IN: loaded serial 2016011002            ----> 序列號已變

 OK

 [root@COS7 ~]# rndc reload

 server reload successful

  從服務器一般而言是爲了和主DNS服務器一起做負載均衡的。一旦主DNS服務器失效,從DNS服務器也會停止提供服務。


四、子域授權

  1、 子域授權就相當於是劃片管理,是由上至下的授權。由根開始"."。

   例如:.com .net 就是由根授權名稱空間,其實就是由.決定要劃分什麼的名稱空間,由它委派子名稱空間。

   DNS中最重要的就是NS記錄,其中每個NS裏面的負責人就是SOA,在父域上定義一條NS記錄和一條A記錄就可以完成子域授權了

  .com IN NS wd.com.

  wd.com  IN A 10.10.10.1

(這就表示在.com這個片裏面有一臺主機叫叫wd。以後這個.com這一片就歸這個wd這臺主機來管理了,哪誰是這臺主機呢?下面的A記錄就給予很明確的答案,10.10.10.1就是管理.com這個片的這臺主機)

注意:子域和父域沒有必要在同一個網段,只要能夠通信就可以了。

正向解析區域授權子域的方法:

ops.magedu.com. IN NS   ns1.ops.magedu.com.

ops.magedu.com. IN NS   ns2.ops.magedu.com.

ns1.ops.magedu.com. IN A IP.AD.DR.ESS

ns2.ops.magedu.com. IN A IP.AD.DR.ESS

2、定義轉發:

注意:被轉發的服務器必須允許爲當前服務做遞歸;

(1) 區域轉發:僅轉發對某特定區域的解析請求;

zone  "ZONE_NAME"  IN {

   type  forward;

   forward  {first|only};

  forwarders  { SERVER_IP; };

};

first:首先轉發;轉發器不響應時,自行去迭代查詢;

only:只轉發;

(2) 全局轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;

options {

... ...

forward  {only|first};

forwarders  { SERVER_IP; };

.. ...

};


五、基本安全控制

  bind中的安全相關的配置

 1、BIND配置文件語法介紹

  (1)acl語句

     acl 語句的定義和使用

     acl 語句給一個地址匹配表賦予了一個象徵名稱。它的名字來自於地址匹配列表的最基本功能:訪問控制表列(ACLs)。

acl:訪問控制列表;把一個或多個地址歸併一個命名的集合,隨後通過此名稱即可對此集全內的所有主機實現統一調用;

acl  acl_name  {

       ip;

       net/prelen;

};

示例:

acl  mynet {

172.16.0.0/16;

127.0.0.0/8;

};

  注意:一個地址表名必須首先在acl中定義了,然後才能在別處使用;提前調用是不允許的。

   acl acl-name { address_match_list };

bind有四個內置的acl:

   any 匹配所有主機

 none 不匹配任何主機

 ocalhost 匹配主機上所有IPV4的網絡接口

 localnets 匹配所有IPV4本地網絡的主機

2、訪問控制指令:

  allow-query  {};  允許查詢的主機;白名單;

  allow-transfer {}; 

  允許向哪些主機做區域傳送;默認爲向所有主機;應該配置僅允許從服務器;

  allow-recursion {}; 允許哪此主機向當前DNS服務器發起遞歸查詢請求; 

  allow-update {}; DDNS,允許動態更新區域數據庫文件中內容;


  



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