學習筆記之dns正反向解析區域,主從服務,子域受權,安全


1、配置解析一個正向區域:web

以bucktan.com域爲例:數據庫

1.1 定義區域安全

在主配置文件中(/etc/named.conf)或主配置文件輔助配置文件(/etc/named.rfc1912.zones)中實現;服務器

zone  "ZONE_NAME"  IN  {網絡

type  {master|slave|hint(根服務器)|forward(轉發)};ide

file  "ZONE_NAME.zone"; 學習

};spa

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

  eg:zone "bucktan.com" IN {遞歸

       type master;

       file "bucktan.com.zone";

};

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

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

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


eg:$TTL 3600

    $ORIGIN bucktan.com.

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

          2018010109

          1H

          10M

          1W

          1D )

   @      IN      NS      ns1

   ns1    IN      A       172.18.26.7

   www    IN      A       172.18.26.7

   web    IN      CNAME   www

權限及屬組修改:

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

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

eg:-rw-r-----. 1 root  named  362 Apr 16 18:11 bucktan.com.zone

檢查語法錯誤:

# named-checkzone  ZONE_NAME   ZONE_FILE

# named-checkconf 

  1.3讓服務器重載配置文件和區域數據文件

# rndc  reload 或

# systemctl  reload  named.service

注:一、在解析時注意修改區域數據文件的權限,由於在解析時是由named用戶去解析的且權限最好爲640

二、在上述操做徹底正常的狀況下若是不能正常解析,能夠查看配置文件(/etc/named.conf)中監聽是否正確,在這裏注意若是隻監聽(通訊)某一個主機,則可添加它的ip地址,若是要監聽全部的(即與全部的主機通訊),則能夠將其註釋掉。

三、在學習中,建議關閉dnssec

dnssec-enable no;

dnssec-validation no;

dnssec-lookaside no;

與別的主機通訊時,注意要註釋掉//allow-query     { localhost; };

四、若是自身是不能解析,就檢查dns配置文件(/etc/resolv.conf)設置爲本身的主機,在實際中設置爲可用的dns服務便可


2、配置解析一個反向區域

2.1定義區域

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

   zone  "ZONE_NAME"  IN  {

type  {master|slave|hint|forward};

file  "ZONE_NAME.zone"; 

   };

eg:zone "26.18.172.in-addr.arpa" IN {

       type master;

       file "172.18.26.7.zone";

};

注意:反向區域的名字

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

         如:100.16.172.in-addr.arpa


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

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

eg:$TTL 3600

$ORIGIN 26.18.172.in-addr.arpa.

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

            2018010203

            1H

            10M

            1W

            12H )

       IN      NS        ns1.bucktan.com.

7      IN      PTR       ns1.bucktan.com.

8      IN      PTR       ns2.bucktan.com.

9      IN      PTR       new.bucktan.com.

10     IN      PTR       bbs.bucktan.com.

權限及屬組修改:

# chgrp  named  /var/named/172.16.100.zone

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

eg:-rw-r-----. 1 root  named  408 Apr 16 18:38 172.18.26.7.zone

檢查語法錯誤:

# named-checkzone  ZONE_NAME   ZONE_FILE

# named-checkconf 

2.3讓服務器重載配置文件和區域數據文件

# rndc  reload 或

# systemctl  reload  named.service

注:反向區域解析跟正向的同樣要注意

3、主從服務器:

注意:從服務器是區域級別的概念;主從結構當中,它只是區域級別的概念,若是一臺主服務器上面有三個區域,

他們都是主的,若是配置一臺服務器作他的從服務器時,是相對於它的某個區域配置的,而不是相對於整臺服務器配置的,因此,它若是是第一個區域的從,那麼在從服務器上它只有第一個區域的副本,若是想成爲三個區域的從,那麼三臺都要配置。

若是一臺服務器它既是正向的主,又是反向的主,它既提供了正向區域的解析又提供了反向區域的解析,那麼這個時候從服務器若是隻配置了正向區域的從,那麼反向區域跟他是沒有關係的,就不能解析反向區域,因此,若是要讓一臺服務器既是正向的也是反向的解析,那麼它們就要分別配置。

複製還能夠級聯,就是第二臺服務器能夠去主服務器複製,第三臺也可做爲第二臺的從服務器,從而複製

    配置一個從區域:(換一臺主機)

On Slave 

       (1) 定義區域

定義一個從區域; 

zone "ZONE_NAME"  IN {

type  slave;

file  "slaves/ZONE_NAME.zone";

masters  { MASTER_IP; };

};

配置文件語法檢查:named-checkconf

eg:zone "bucktan.com" IN {

       type slave;

       file "slaves/bucktan.com.zone";

       masters { 172.18.26.7; };

};

(2) 重載配置

rndc  reload

systemctl  reload  named.service

注:/var/named/slaves:此目錄專用於從服務器從主服務器那裏同步的文件,須要自動的建立文件時使用的。

On Master

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

注意:時間要同步;

ntpdate命令;

eg:$TTL 3600

$ORIGIN bucktan.com.

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

          2018010109

          1H

          10M

          1W

          1D )

@      IN      NS      ns1

@       IN      NS      ns2##此處添加了一個NS記錄

ns1    IN      A       172.18.26.7

ns2    IN      A       172.18.26.8##此處添加了一個A記錄

www    IN      A       172.18.26.7

web    IN      CNAME   www

只要有主從,那麼每更改一次都要改序列號

主從服務中應該注意的事項,和遇到問題時的解決辦法:

1.只要有主從,那麼每更改一次都要改序列號

二、在學習中,若是不能傳送文件時,能夠檢查防火牆是否關閉,同時也能夠經過日誌文件(/var/log/messages)查看情況

三、其它的注意的就跟正向區域解析中注意的事項同樣

四、在通訊鏈接成功以後要注意時間要同步,可用ntpdate命令。


4、子域受權:

正向解析區域受權子域的方法:定義一個子域

ops.bucktan.com. IN NS  ns1.ops.bucktan.com.

ops.bucktan.com. IN NS  ns2.ops.bucktan.com.

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

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

eg:@       IN      NS      ns2

ops     IN      NS      ns3.ops.bucktan.com. ##此爲添加的三級域域名

ns1    IN      A       172.18.26.7

ns2    IN      A       172.18.26.8   ###此爲三級域ip

ns3.ops IN     A       172.18.26.20

注:一、在父域裏添加一個NS記錄以及A記錄,如上

   二、子域要用另外一個主機(ip),定義一個子域方法跟定義一個正向解析區域同樣,

  eg:定義區域

  zone "ops.bucktan.com" IN {

       type master;

       file "ops.bucktan.com.zone";

};

定義區域解析庫文件(文件在/var/named/目錄下且名字爲ops.bucktan.com.zone)

$TTL 3600

$ORIGIN ops.bucktan.com.

@     IN     SOA     ns.ops.bucktan.com.     nsadmin.ops.bucktan.com. (

       2018010301

       1H

       10M

       1W

       10H )

      IN      NS    ns1

ns1   IN      A     172.18.26.20

www   IN      A     172.18.26.20

web   IN      CNAME www

5、定義轉發:

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

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

定義方式:

zone  "ZONE_NAME"  IN {

type  forward;

forward  {first|only};

forwarders  { SERVER_IP(轉發器); };

};

first:本身解析不了就首先轉發;轉發器不響應時,自行去迭代查詢;

only:只轉發;

對於子域而言,它不知道父域在哪裏就能夠定義一個區域轉發

eg:zone "bucktan.com" IN {

       type forward;

       forward  only;

       forwarders { 172.18.26.7; 172.18.26.8; };

};(注:這是在子域的主機172.18.26.20中配置文件定義的)

注:一、父域能解析子域,子域也能解析父域。

子域不能上網的狀況下要解析外網就不行,但若是父域主機能上網,這時子域的請求就會轉發給父域達到能解析的要求

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

在配置文件中編輯/etc/named.conf

在options中加以下內容:

options {

... ...

        forward  {only|first};

forwarders  { SERVER_IP; };

.. ...

};

6、bind中的安全相關的配置:

acl(訪問控制列表);把一個或多個地址歸併一個命名的集合,隨後經過此名稱便可對此集合內的全部主機實現統一調用;

acl  acl_name  {

ip;

      net/prelen(掩碼);

};

注:也是將此加在配置文件/etc/named.conf中

示例:

acl  mynet {

172.18.0.0/16;

127.0.0.0/8;

};

bind有四個內置的acl

        none:沒有一個主機;

any:任意主機;

local:本機;

localnet:本機所在的IP所屬的網絡;

訪問控制指令:

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

 注:這是容許那些主機能夠來查詢本身

allow-transfer {};  容許向哪些主機作區域傳送;默認爲向全部主機;應該配置爲僅容許從服務器(爲了安全)

注:以上兩個能夠寫在全局和區域中,只是做用範圍不一樣而已

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

通常只容許本地的作遞歸查詢 

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

通常爲none

 eg:allow-recursion { mynet }

相關文章
相關標籤/搜索