Linux配置 DNS and BIND服務配置詳解--緩存服務器配置 正反向解析配置

1、DNS簡介數據庫

1、DNS簡介    vim

    DNS是計算機域名系統 (Domain Name System 或Domain Name Service) 的縮寫,它是由域名解析器和域名服務器組成的。域名服務器是指保存有該網絡中全部主機的域名和對應IP地址,並具備將域名轉換爲IP地址功能的服務器。其中域名必須對應一個IP地址,一個域名能夠有多個IP地址,而IP地址不必定有域名。域名系統採用相似目錄樹的等級結構。域名服務器爲客戶機/服務器模式中的服務器方,它主要有兩種形式:主服務器和轉發服務器。將域名映射爲IP地址的過程就稱爲「域名解析」。緩存

1. DNS解析分正向解析和反向解析安全

正向解析:bash

        正向解析是指域名到ip地址的解析過程。服務器

反向解析網絡

         反向解析是指Ip地址到域名的解析過程。ide

2. DNS查詢:分遞歸查詢和迭代查詢工具

        遞歸查詢: 即客戶端向本地DNS服務器請求查詢域名,本地DNS服務器收到查詢任務後如自身沒法回答則向其餘服務器查詢,直到查到結果後返回結果給客戶端。期間DNS服務器可能要查詢不少其餘DNS服務器。
        迭代查詢:即客戶端向本地服務器請求查詢域名,本地DNS服務器沒法回答,則給客戶端返回另外一個能查詢域名的服務器地址,客戶端再向另外一服務器查詢,期間可能客戶端需查詢多個DNS服務器,最終查到結果。oop

3. 主從DNS服務器:

         主DNS服務器(Master DNS): 數據庫的修改更新;

         輔助DNS服務器 (SlaveDNS):請求主DNS服務器的數據同步更新;

         緩存DNS服務器:它主要用來緩存查詢的地址信息,而不用承擔任何其餘的工做。它沒有區域文件,也不從其餘DNS服務器傳輸數據。它能響應客戶機的查詢,可是沒有受權。

4. 資源記錄類型

        1>.SOA記錄:SOA名叫起始受權機構記錄,用於說明負責解析的DNS服務器中哪個是主服務器。

        2>.NS(NAME SERVER):名稱服務器記錄,用於說明這個區域由哪些DNS服務器負責解析,NS和A記錄是成對出現   如:

 NAME                  TTL         IN        RPT             VALUE   
51yunxuexi.club.       400         IN        NS           ns.51yunxuexi.club.
ns.51yunxuexi.club.    400         IN        A               1.1.1.1

        3>.A記錄(address):地址A記錄把FQND(域名)解析到IPv4地址,把主機名解析到IPv4地址,正向解析

        4>.AAAA記錄(address):AAAA資源記錄把FQDN解析到IPv6地址,把主機名解析到IPv6地址

        5>.PTR指針記錄(pointer):和A記錄相反,用於實現IP地址映射到FQDN,反向解析

        6>.MX記錄: 全稱是郵件交換記錄(郵件交換器),在使用郵件服務器的時候,MX記錄是無可或缺的,好比A用戶向B用戶發送一封郵件,那麼他須要向DNS查詢B的MX記錄,DNS在定位到了B的MX記錄後反饋給A用戶,而後A用戶把郵件投遞到B用戶的MX記錄服務器裏!優先級,0-99,數字越小,優先級越高

        7>.CNAME記錄:也可說是別名記錄,規範名字(CNAME)資源記錄建立特定FQDN的別名。用戶可使用CNAME記錄來隱藏用戶網絡的實現細節,使鏈接的客戶機沒法知道。好比一個網站a.com 在發佈的時候,他能夠創建一個別名記錄,把B.com發佈出去,這樣不容易被外在用戶所察覺!達到隱藏本身的目的!

        8>.SRV記錄:它是DNS服務器的數據庫中支持的一種資源記錄的類型,它記錄了哪臺計算機提供了哪一個服務這麼一個簡單的信息。SRV 記錄:通常是爲Microsoft的活動目錄設置時的應用。


5. 區域

        區域是用於存儲DNS域名的數據庫。DSN服務器是以區域爲單位來管理域名空間的。DNS數據庫表稱爲區域文件(Zone File)。數據庫中包含着DNS域的RR【資源記錄】,數據庫表中,RR是用文本形式表示的。

 

        一臺DNS服務器能夠管理一個或多個區域,而一個區域也能夠由多臺DNS服務器來管理。

在DNS服務器中必須先創建區域,而後才能夠根據須要在區域中創建子域以及在區域中添加RR。

 

能夠建立正向查找區域反向查找區域兩種區域。

1>.區域類型主要區域(主區域)輔助區域(從區域)存根區域、準發區域、提示區域等

        主要區域:它是新區域的主副本,負責在新建立區域的服務器上管理和維護本區域的RR。

        輔助區域:它是主區域的副本【備份】,主要區域中的DNS服務器將把區域信息傳遞給輔助區域中的DNS服務器。使用輔助區域的目的是提供冗餘、減小包含主要區域數據庫文件的DNS服務器的負載。輔助區域的數據沒法修改,其全部數據都是從主要區域複製而來。

        存根區域:它只包含用於標識該區域的受權DNS服務器所需的RR。含有存根區域的DNS服務器對該區域沒有管理權。存根區域只能建立只含有NS、SOA和A記錄的區域的副本。其所屬的主要區域一般是一個受委派區域。

2>.區與域的關係:

        區包含了域中除了代理給別處的子域外所含有的全部域名和數據。若是域的子域沒有被代理出去,則該區包含該子域名和子域中的數據。

6. 區域傳輸(區域傳送) 

        將一個區域文件複製到多個服務器上的過程叫作區域傳輸。它是經過從主服務器上將區域文件的信息複製到輔助服務器上來實現的。

主服務器是區域複製的來源服務器,它既能夠是主要區域,也能夠是輔助區域。

*若是主服務器是主要區域,區域傳輸則直接從主要區域取得區域文件。

*若是主服務器是輔助區域,區域傳輸僅傳輸區域文件的一個只讀副本。

兩種區域文件複製方式:

        AXFR所有區域文件複製,複製整個區域文件。

        IXFR增量區域文件複製,僅僅複製區域裏變化的記錄。


2、 bind軟件包的安裝以及配置文件簡介

1bind軟件包的安裝

        在使用DNS服務器時首先要確保bind軟件包是否已經安裝,可使用rpm –qa | grep bind 查看。可使用rpm命令安裝,也可使用yum源安裝及所依賴軟件包。首先要安裝如下三個軟件包。

bind-9.8.2-0.17.rc1.el6.x86_64       bind的安裝包

bind-utils-9.8.2-0.17.rc1.el6.x86_64

bind-libs-9.8.2-0.17.rc1.el6.x86_64 

源碼包安裝能夠在http://www.isc.org/官網下載安裝

bind-chroot軟件包:切換named根目錄,增強DNS服務器的安全

caching-nameserver.i386軟件包    能夠快速構建DNS緩存名稱服務器

2DNS監聽的協議及端口

    53/UDP      默認查詢過程當中使用的是UDP協議,因不須要三次握手,速度快         

    53/TCP      主從服務數據傳輸時爲確保數據的準確、性完整性和安全行,使用的是TCP   

    953/TCP     rndc遠程域名服務控制器則使用953端口監聽


3bind配置文件簡介

/etc/named.conf bind服務進程的主配置文件,主要定義bind進程的工做屬性和區域的定義

       /etc/rnd.key                  遠程名稱控制器,rndc的密鑰文件

       /etc/rndc.conf                rndc的配置文件

       /etc/var/named/               區域數據文件,可自定義名稱

       /etc/rc.d/init.d/named  { start|stop|restart|status|reload }服務進程的啓動中止重啓等

       /usr/sbin/named           bind的主程序文件

       /usr/sbin/named-checkconf     named-checkconf命令檢查配置文件是否有語法錯誤

       /usr/sbin/named-checkzone     named-checkzone命令檢查區域文件是否有語法錯誤

       /usr/sbin/rndc                rndc命令是遠程控制工具

       /usr/sbin/rndc-confgen        rndc-confgen 命令是rndc配置文件生成器(/etc/rndc.conf

       /var/named/named.ca           Internet13個根服務器名字和地址,DNS接到客戶端主機的查詢請求時,若是在Cache中找不到相應的數據,就會經過根服務器進行逐級查詢。

           Dig–t NS . 能夠查詢跟節點的NS服務器(能夠訪問互聯網的狀況下)

/var/named/named.localhost      本地localhost主機的正向解析

/var/named/named.loopback       本地localhost主機的反向解析

           /etc/resolv.conf                DNS服務器地址


3、/etc/named.cong主配置文件

      區域的定義,每一個選項後面必需要加分號,定義全局選項  

options {
        // listen-onport 53 { 127.0.0.1; };              #默認監聽本地53端口 
        
        listen-on port 53 { any; };                      #監聽全部地址的53端口
       listen-on-v6 port 53 { ::1; };
       directory      "/var/named";                     #自定義區域數據文件存放目錄
       allow-query     { localhost; };                  #默認只容許本地查詢
       recursion yes;                                   #是否容許遞歸
};
 
logging {                                               #日誌
        channeldefault_debug {
               file "data/named.run";                   #日誌文件存放目錄
               severity dynamic;
        };
};

區域zone的定義:

zong 「ZONE NAME」 IN{

       type   master() | slave() | hint(根區域) | forward(轉發) }區域類型   

}

若是定義的數據類型爲主區域則還需定義 file 「區域數據文件路徑」;

若是定義的數據類型爲主區域則還需定義 file 「區域數據文件」;

                                                                                     master (主服務器地址;)

                                                                                 master (master_ip; ) 先後有空格

 

zone 「.」 IN {                                          #定義根區域
              type hint;                                 #定義根區域類型
              file 「named.ca」;                         #定義根區域數據文件
};

1配置緩存服務器

打開並編輯/etc/name.conf文件,也能夠在named.rfc1912.zones文件中添加zone區域
              zone "localhost" IN {                  #定義本地localhost正向解析zone區域
                type master;                         #定義主區域類型
                file"named.localhost";               #定義區域數據文件
};
zone "0.0.127.in-addr.arpa" IN {                     #定義本地localhost反向解析zone區域
                type master;                         #定義主區域類型
                file"named.loopback";                #定義區域數據文件
};
檢查named配置文件語法是否正確
       [root@localhost etc]# named-checkconf
       [root@localhost etc]#
使用named-checkconf命令,無報錯則說明配置文件語法正確
檢查zone區域配置是否正確
[root@localhost etc]# named-checkzone "0.0.127.in-addr.arpa"/var/named/named.loopback
zone 0.0.127.in-addr.arpa/IN: loaded serial0
OK 
[root@localhost etc]# named-checkzone"localhost" /var/named/named.localhost
zone localhost/IN: loaded serial 0
OK
[root@localhost etc]#
使用named-cone命令檢查區域是否有語法錯誤,返回OK則說明無語法錯誤
重啓DNS服務器
[root@localhost etc]# service named restart
中止 named:.                                              [肯定]
啓動 named:                                               [肯定]
[root@localhost etc]#

 可使用tail /var/log/messages查看服務是否啓動正常        

[root@localhost log]# tail /var/log/messages
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: 9.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: A.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: B.E.F.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: automatic
empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Aug 29 22:43:10 localhost named[21072]: command
channel listening on 127.0.0.1#953
Aug 29 22:43:10 localhost named[21072]: command
channel listening on ::1#953
Aug 29 22:43:10 localhost named[21072]: zone
0.0.127.in-addr.arpa/IN: loaded serial 0
Aug 29 22:43:10 localhost named[21072]: zone
localhost/IN: loaded serial 0
Aug 29 22:43:10 localhost named[21072]:
managed-keys-zone ./IN: loaded serial 7
Aug 29 22:43:10 localhost named[21072]: running
[root@localhost log]#

 使用dig –t NS. 命令測試本地緩存解析

wKiom1XkXhSwb9ijAAM4z85iZ58596.jpg2、配置正向解析,反向解析DNS服務器

配置環境:在萬網註冊域名爲    www.51yunxuexi.club

                                   NSDNS服務器master192.168.1.192

                                   NSSOAns1.51yunxuexi.club.

                                   www服務器:192.168.1.106  192.168.1.103

                                   mail服務器: 192.168.1.104

                                   有一臺ftpwww主機上,ftpwww的別名CNAME


SOA:起始受權記錄格式

ZONE NAME           TTL          IN         SOA    FQDN(主DNS名稱)  ADMIN MAIL(
                                                                                                                                                              Serialnumber
                                                                                                                                                              Refresh
                                                                                                                                                              Retry
                                                                                                                                                              Expire
                                                                                                                                                              Nattl )
$TTL 600
    @   IN     SOA    [FQDN]51yunxuexi.club.  admin.com.[管理員郵箱] (
                                2015083001;serial    #版本號(最長爲10位數字)
                                refresh              #定義檢查週期時間
                                1H;retry             #定義重試時間
                                1W;expire            #定義過時時間
                                3H );minimum         #定義否認答案時長
 
時間單位:M(分鐘)、H(小時)、D(天)、W(周)、默認單位是秒

ZONE NAME(區域名稱) /etc/named.conf中的zone 「51yunxuexi.club」,可使用@來代替51yunxuexi.club,@能夠自動讀取zone name

A)、打開並編輯/etc/named.conf,添加正向解析和反向解析的zone

    wKiom1XkYKTAgTzkAAJE7hEbQRI813.jpg

B)、在/var/named/目錄下建立51yunxuexi.club.zone

       打開並編輯51yunxuexi.club.zone建立正向解析

       [root@localhost named]# vim /var/named/51yunxuexi.club.zone

wKiom1XkYXSAPGqOAALI6DoE4xI688.jpg

修改/var/named /51yunxuexi.club.zone的文件權限和屬組
[root@localhost named]# chmod 640 51yunxuexi.club.zone
[root@localhost named]# chown root:named51yunxuexi.club.zone 
[root@localhost named]#
 
使用named-checkconf和named-checkzone命令檢查主配置文件和數據區域文件是否有語法錯誤。
 [root@localhost named]# named-checkconf
[root@localhost named]# named-checkzone"51yunxuexi.club" /var/named/51yunxuexi.club.zone
zone 51yunxuexi.club/IN: loaded serial 2015080301
OK
[root@localhost named]#

C)、打開並編輯/var/named/192.168.1.zone建立反向解析

        wKioL1XkZBWjmsssAAHKtrHA93I707.jpg

使用named-checkconf 和named-zone命令檢查配置文件是否有語法錯誤
[root@localhost ~]#
[root@localhost ~]# named-checkconf
[root@localhost ~]# named-checkzone"1.168.192.in-addr.arpa" /var/named/192.168.1.zone
zone 1.168.192.in-addr.arpa/IN: loaded serial2015080301
OK
[root@localhost ~]#

我在這裏使用nslookup命令測試正反向解析是否能正常解析

wKioL1XkZKPDeAAaAANARjKXCwA049.jpg正反向解析正常,說明正反向解析服務器完成配置!

相關文章
相關標籤/搜索