BIND的安裝配置


BIND的安裝配置web


  bind是幹啥的?數據庫

   你們知道dns是FQDN解析成ip地址的協議,而bind這個軟件就是dns協議的功能的實現。而named是bind程序的運行的進程名緩存




咱們來看看bind這個程序有那些包組成吧,且都給咱們提供哪些功能。 安全

   程序包:服務器

        bind-libs:被bind和bind-utils包中的程序共同用到的庫文件;網絡

        bind-utils:bind客戶端程序集,例如dig, host, nslookup等;dom

        bind:提供的dns server程序、以及幾個經常使用的測試程序;ide

        bind-chroot:選裝,讓named運行於jail模式下;工具




怎樣利用bind搭建一個dns服務器呢?oop

 前期安裝軟件後的組成部分功能介紹:  

    bind程序:

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

                    注:options定義了bind的特性。如:是否只容許本地客戶端查詢

                    /etc/named.iscdlv.key

                    /etc/named.rfc1912.zones   注:定義區域的的地方

                    /etc/named.root.key


       解析庫文件:

                /var/named/目錄下;

                     通常名字爲:ZONE_NAME.zone

         注意:(1) 一臺DNS服務器可同時爲多個區域提供解析;

                (2) 必需要有根區域解析庫文件: named.ca;

                (3) 還應該有兩個區域解析庫文件:localhost和127.0.0.1的正反向解析庫;

                      正向:named.localhost

                      反向:named.loopback



rndc:remote name domain contoller


bind程序安裝完成以後,默認便可作緩存名稱服務器使用;若是沒有專門負責解析的區域,直接便可啓動服務;

    CentOS 6: service  named  start

    CentOS 7: systemctl  start  named.service





主配置文件詳細剖析


主配置文件格式:

全局配置段:

    options { ... }

日誌配置段:

    logging { ... }

區域配置段:

    zone { ... }



    那些由本機負責解析的區域,或轉發的區域;

    注意:每一個配置語句必須以分號結尾;

    緩存名稱服務器的配置:

    

listen-on port 53;

listen-on port 53 { 172.16.100.67; }; 注:監聽能與外部主機通訊的地址;



學習時,建議關閉dnssec 注:這個是安全的一個選項

        dnssec-enable no;

        dnssec-validation no;

        dnssec-lookaside no;


//allow-query  { localhost; }; 注:關閉僅容許本地查詢:







測試工具

dig, host, nslookup等

測試工具--dig命令:

         dig  [-t RR_TYPE]  name  [@SERVER]  [query options]

dig作什麼的:用於測試dns系統,所以其不會查詢hosts文件;

查詢選項:

        +[no]trace:跟蹤解析過程;

        +[no]recurse:進行遞歸解析;


    dig  -x  IP 注意:反向解析測試

    dig  -t  axfr  DOMAIN  [@server]   模擬徹底區域傳送:



測試工具--host命令

            host  [-t  RR_TYPE]  name  SERVER_IP


測試工具--nslookup命令:

            nslookup  [-options]  [name]  [server]

交互式模式:

        nslookup>

        server  IP:以指定的IP爲DNS服務器進行查詢;

        set  q=RR_TYPE:要查詢的資源記錄類型;

        name:要查詢的名稱;





rndc命令:named服務控制命令

    rndc  status  查看bind的運行狀態

    rndc  flush

    rndc reload  從新加載配置文件



如何配置解析一個正向區域?

以magedu.com域爲例:

(1) 定義區域 注:在主配置文件中或主配置文件輔助配置文件中實現;

         例如: /etc/named.rfc1912.zones這個輔助文件裏定義zone


    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) 定義區域

在主配置文件中或主配置文件輔助配置文件中實現;即/etc/named.rfc1912.zones


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






怎樣爲一個主服務器配置一個從服務器實現冗餘呢?

注意:從服務器是區域級別的概念;

首先選一臺主機安裝bind程序


配置一個從區域:On Slave 以下


(1) 定義區域

    定義一個從區域; 

    zone "ZONE_NAME"  IN {

        type  slave;

        file  "slaves/ZONE_NAME.zone";

        masters  { MASTER_IP; };

        };

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


(2) 重載配置

    rndc  reload 或者 systemctl  reload  named.service


在主dns上須要作以下操做

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

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






場景描述:假如公司某部門比較龐大須要獨立的dns,怎樣實現配置一個子域並受權?

子域受權:

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

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




場景:當某dns不能上網,它能夠把請求轉發給其餘dns實現域名解析

定義轉發:

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

(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中的安全相關的配置:

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

acl  acl_name  {

ip;

net/prelen;

};

示例:

acl  mynet {

172.16.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,容許動態更新區域數據庫文件中內容;

bind view:

視圖:

view  VIEW_NAME {

zone

zone

zone

}

view internal  {

match-clients { 172.16.0.0/8; };

zone "magedu.com"  IN {

type master;

file  "magedu.com/internal";

};

};

view external {

match-clients { any; };

zone "magecdu.com" IN {

type master;

file magedu.com/external";

};

};



課外做業:whois命令; 註冊一個域名;

博客做業:正向解析區域、反向解析區域;主/從;子域;基本安全控制; 

檢查配置文件語法錯誤:

named-checkconf   [/etc/named.conf]

相關文章
相關標籤/搜索