DNS服務

  

      一、主DNS的搭建,通過bind包實現正向解析和反向解析

        1、安裝bind包

        [root@localhost yum.repos.d]# clear

        [root@localhost yum.repos.d]# yum -y install bind

       

       [root@localhost ~]# rpm -qa |grep bind

         rpcbind-0.2.0-11.el6.x86_64

         bind-9.8.2-0.37.rc1.el6.x86_64

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

         samba-winbind-3.6.23-20.el6.x86_64

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

         samba-winbind-clients-3.6.23-20.el6.x86_64

         ypbind-1.20.4-31.el6.x86_64

         PackageKit-device-rebind-0.5.8-25.el6.x86_6

         

         2、修改named.conf配置文件

         [root@localhost ~]# vim /etc/named.conf 

         wKiom1eA12SSUJpZAABLE51_XSQ661.png-wh_50

       listen-on port 53 { localhost; };  默認是127.0.0.1,改成              localhost,監聽本機IP

       allow-query     { any; }; 默認是localhost,只允許本機查詢,改爲           any,允許所有查詢

       dnssec-enable no;

       dnssec-validation no; 這兩項默認開啓,都給關閉


         3、修改區域配置文件並檢查配置文件

         [root@localhost ~]# vim /etc/named.rfc1912.zones 

         wKiom1eA2ePwRVr-AAAhiXRzsck385.png-wh_50

        增加區域 qq.com,文件格式以前面配置格式寫

        type master;主區域

        file “qq.com”;這個名稱要和區域數據庫文件一樣,路徑在 /var/named/

        wKioL1eA2yCSEcb9AAAOFWV8lEU077.png-wh_50

        用此命令檢查配置文件,沒有報錯,文件語法沒出問題


        4、新建區域數據庫

        [root@localhost ~]# vim /var/named/qq.com

        wKioL1eA3TKy5RGtAAAwPavwxeQ030.png-wh_50


        TTL:可從全局繼承    @:可引用當前區域名稱

        SOA:起始授權記錄,一個數據庫有且僅有一個SOA記錄,必須寫在數據庫第一條

        NS:用於標明當前區域的DNS服務器

        A:IPv4地址正向解析,FQDN--IP

        CNAME:別名記錄

        

        5、檢查區域數據庫,重啓named服務,測試域名解析是否成功

        wKioL1eA35bzNKuAAAAesNoKACQ441.png-wh_50

        數據文件OK,說明格式正確

        wKioL1eA4XaRZRs1AAAmKKIxqGE815.png-wh_50

        重啓named服務,關閉防火牆

        

        wKiom1eA4byjHhvbAABSgDG6mMo229.png-wh_50

        wKioL1eA4byBtPdSAAB1KNWHpTA273.png-wh_50


        通過dig工具和ping域名,能夠解析成功,正向DNS服務搭建完成


        6、搭建反向DNS服務,反向解析很少用,沒有反向解析,用IP地址解析域名,顯示超時

        [root@localhost ~]# clear

        [root@localhost ~]# nslookup

        > www.qq.com

        Server:172.16.18.5

        Address:172.16.18.5#53


        www.qq.comcanonical name = web.qq.com.

        Name:web.qq.com

        Address: 172.16.18.6

        > 172.16.18.6

;;       connection timed out; trying next origin

;;       connection timed out; no servers could be reached

        

         7、在區域配置文件增加反向區域

         [root@localhost ~]# vim /etc/named.rfc1912.zones 

         wKiom1eA5djiLmuhAAAqdnT4yXc373.png-wh_50


        8、新增反向解析數據庫文件

        [root@localhost named]# vim 172.16.18.zone

        

        wKiom1eA6VGBQkirAAAyQEpQ5Ok812.png-wh_50

        PTR:反向解析記錄。IP--FQDN


        9、檢查配置文件,並且重讀配置文件

        wKiom1eA6VGhGXKiAAA1I7PRUk0375.png-wh_50

        wKioL1eA6VGR2eHFAAA3CA0ybvg084.png-wh_50


        經過測試,反向解析成功,反向DNS搭建成功。


    二、主從DNS搭建

      1、在另外一個虛擬機上安裝bind包

        [root@localhost ~]# yum -y install bind


        2、修改named.conf配置文件

        [root@localhost ~]# vim /etc/named.conf

        wKioL1eA7rDRvpO7AABB8DDun_o558.png-wh_50

        allow-query     { any; }; 允許所有主機查詢

        allow-transfer  { none;}; 不允許區域傳輸,加上這條可以防止其他機器從這臺機器上抓數         據庫文件

        

        在主DNS上也的加上一條策略

        wKioL1eA78SA-5tOAABEzvjVZmA033.png-wh_50

        allow-transfer { 172.16.18.3;}; 只允許從DNS在這上面抓取數據庫文件


        3、在區域配置文件添加區域qq.com

        wKiom1eA8IXyFKSoAAAa0O8-nVk495.png-wh_50

        zone "qq.com"  這個區域和主DNS必須一致

        type slave; 類型爲從區域

        masters { 172.16.18.5;}; 主DNS的IP地址

        file "slaves/qqbackup.com"; 數據庫文件存放位置 /var/named/slaves/


        4、在主DNS區域數據庫文件添加NS記錄

        wKioL1eA-tDgomfNAAA2s6t2i-E606.png-wh_50

        

        5、重啓named服務,從DNS將從主DNS上抓取區域數據庫文件

        [root@localhost slaves]# service named restart

        wKioL1eA-vmQAPOAAABpgrcqGhQ889.png-wh_50

        


        6、把主DNS停止,客戶端上在添加備用DNS172.16.18.3 ,在測試這些域名能否解析

        [root@localhost named]# service named stop

        Stopping named: 

        wKioL1eA_FqiCa3bAACGTXshNQY750.png-wh_50

        通過測試,主DNS已經無法解析,備用DNS可以解析,主從DNS搭建成功,但備用DNS無法修改數         據庫,只能通過主DNS推送或者自己抓取數據庫文件,如果主DNS上添加新紀錄,必須修改版本         號,主DNS才能把最新的數據庫文件推送到備用DNS上來。

        

        wKiom1eBAXnDVJzwAAA5-m_CaAw622.png-wh_50

        wKioL1eBAXmQLAlAAABpX0nNWUY563.png-wh_50


    三、子域授權

        1、同一臺機器上創建子域

            [root@localhost ~]# vim /etc/named.rfc1912.zones

             zone "sport.qq.com" IN {

                type master;

                file "sport.qq.com";

                };


               創建子域配置文件               

               wKioL1eBBPWj6UWFAABA74XhUJc936.png-wh_50

               

               root@localhost named]# rndc reload  重讀配置文件並測試


               wKiom1eBBPWA3LZAAABHhVqZVO8334.png-wh_50


               子域解析成功,子域授權完成

        

        2、不同機器上創建子域

            [root@localhost named]# clear

               [root@localhost named]# vim qq.com  修改區域數據庫文件

               wKiom1eBCkuSFlqIAAA76CScNWE607.png-wh_50

        

               在另外一個機器上區域配置裏創建子區域

               [root@localhost ~]# vi /etc/named.rfc1912.zones

                zone "jok.qq.com" IN {

                type master;

                file "jok.qq.com";

                };


                創建子區域數據庫文件

                [root@localhost ~]# vim /var/named/jok.qq.com 

                wKioL1eBC5ryLFDKAAA1cUmLfNo191.png-wh_50


                在子域和父域上重讀配置文件,並進行測試

                [root@localhost named]# rndc reload

                 server reload successful

                wKiom1eBDIGz9rXtAAB46Y7gHCk961.png-wh_50

                通過測試,父域將域名委派給子域解析,解析成功。

                兩種情況的子域授權已經全部OK。


      四、智能DNS view

          1、安裝bind

             [root@localhost named]# yum -y install bind

            2、修改named.conf配置文件

            acl "host1" {              定義主機1的acl

                        172.16.18.3;

            };


            acl "host2" {            定義主機2的acl   

            172.16.18.7;

            };   這兩個acl要定義在options前面

            options {

            listen-on port 53 { localhost; };

            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 no;

            dnssec-validation no;


            

            view "host1view" {

                match-clients { 172.16.18.3;};

                include "/etc/host1.zones";  主機1區域文件名稱及路徑

            }; 


            view "host2view" {

                match-clients { 172.16.18.7;};

                include "/etc/host2.zones";  主機2區域文件名稱及路徑

            };


            view "otherview" {

                match-clients { any;};

                include "/etc/named.rfc1912.zones";  其他主機

            };

            include "/etc/named.root.key";


        3、創建區域配置文件

        root@localhost named]# vim

        zone "jok.com" {

            type master;

            file "host1.com";

        };

        [root@localhost named]# vim /etc/host2.zones 

        

        zone "jok.com" {

            type master;

            file "host2.com";

        };


        4、創建區域數據庫

        [root@localhost named]# vim host1.com  主機1數據庫文件

        

        $TTL    1D

        @       IN      SOA     ns1.jok.com.    admin.jok.com.  (

                                2016070804

                                1D

                                5M

                                1W

                                2H

        )

                IN      NS      ns1

        ns1     IN      A       172.16.18.5

        web     IN      A       1.1.1.1

        www     IN      CNAME   web


        [root@localhost named]# vim host2.com   創建主機2數據庫文件

        

        $TTL    1D

        @       IN      SOA     ns1.jok.com.    admin.jok.com.  (

                                2016070804

                                1D

                                5M

                                1W

                                2H

)

                IN      NS      ns1

        ns1     IN      A       172.16.18.5

        web     IN      A       2.2.2.2

        www     IN      CNAME   web


        5、加載配置文件並測試

        

        [root@localhost named]# rndc reload

        server reload successful

        

        在主機172.16.18.3上用dig工具測試

        

        [root@localhost ~]# dig -t A www.jok.com


;         <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -t A www.jok.com

;;         global options: +cmd

;;         Got answer:

        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5110

;        ; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1


    ;;         QUESTION SECTION:

        ;www.jok.com. IN A


    ;; ANSWER SECTION:

        www.jok.com. 86400 IN CNAME web.jok.com.

        web.jok.com. 86400 IN A 1.1.1.1


        ;; AUTHORITY SECTION:

        jok.com. 86400 IN NS ns1.jok.com.


        ;; ADDITIONAL SECTION:

        ns1.jok.com.


        86400 IN A 172.16.18.5


        在主機172.16.18.7上用dig工具測試

        

        [root@localhost ~]# dig -t A www.jok.com


        ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -t A www.jok.com

        ;; global options: +cmd

        ;; Got answer:

        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7901

        ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1


        ;; QUESTION SECTION:

        ;www.jok.com. IN A


        ;; ANSWER SECTION:

        www.jok.com. 86400 IN CNAME web.jok.com.

        web.jok.com. 86400 IN A 2.2.2.2


        ;; AUTHORITY SECTION:

        jok.com. 86400 IN NS ns1.jok.com.


        ;; ADDITIONAL SECTION:

        ns1.jok.com. 86400 IN A 172.16.18.5


       通過上面測試,主機1訪問www.jok.com解析的是1.1.1.1,主機2訪問www.jok.com解析的是2.2.2.2,實現了view定義的要求,view搭建完成。

        

  


    




        

        

    

};



        

        

        

        

            


        

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