DNS學習總結

前言

    DNS服務作爲網絡的一種基礎架構,在網絡中有舉足輕重的地位。其擔負着整個網絡的計算機名稱解析工作。沒有正確的名稱解析,服務器將無法識別客戶端。


第一部分——NDS基礎

第一,什麼是DNS,以及DNS服務器的組成

    DNS:(DomainName Service)域名服務,是一種組織成層次結構的計算機和網絡服務命名系統,用於實現名稱解析(Hostname<--->IP).其中通過計算機名解析成IP地址的叫做正向解析,通過IP地址解析成計算機名的叫做反向解析。DNS服務監聽在主機的TCP/UDP的53號端口。

注意www.magedu.com是一個主機名,magedu.com纔是一個域名。

 

一個典型的DNS服務器包括如下4個部分

    第一,DNS域名稱空間:它指定用於組織名稱的域的層次結構

    第二,資源記錄RR(Resource Record):將DNS域名映射到特定類型的資源信息,以供在名稱空間中註冊或解析名稱時使用。在Linux系統中,通常"名稱解析庫(位於/var/named/)"中的每一行稱作一個資源記錄。

    第三,DNS服務器:用於存儲和應答資源記錄的名稱查詢

    第四,DNS客戶端(解析程序):查詢從服務器來的搜索及將名稱解析爲查詢中指定的資源記錄類型


DNS服務器分爲如下四種

    第一。主DNS服務器(master):數據庫更新由管理員手動完成

    第二。輔助DNS服務器(slave):數據庫更新從主服務器或其他輔助DNS服務器那裏完成

    第三。轉發DNS服務器(forward):轉發服務器接受查詢請求,把查詢發送到其他DNS服務器,查詢結果保存到緩存中。如沒有指定轉發服務器,DNS服務器會使用根區域記錄,向根發送查詢

    第四。緩存DNS服務器:不包含域名數據庫文件,它每次將從域名服務器得到的查詢結果返回給客戶端,並在本地留以緩存,以供下次查詢使用


第二,DNS名稱空間

    DNS域名空間爲層出化結構,此層次化結構有利於計算機將複雜問題簡單化。整個DNS域名空間呈倒立的樹狀結構分佈,被稱爲“域樹”。

    根域:最上面是根域名 dot,全球13臺根域服務器。

     頂級域:由兩三個字母組成的名稱,用於知識國家(地區)或使用名稱的單位的類型。

        組織域:.net  .com .org  .mil  .edu  .gov .cc。

        國家域:.jp  .tw  .hk.iq  .ir .cn .uk .us

    二級域:在Internet上使用而註冊到個人或單位的長度可變的名稱。這些名稱始終基於相應的頂級域,這取決於單位的類型或使用名稱所在的地理位置。例如:sina.com.就是一個2級域。

    子域:單位可創建的其他名稱,這些名稱從已註冊的二級域名中派生。例如:sport.sina.com.

    重點理解子域授權

[名詞解釋]

    FQDN:Fully Qualified Domain Name,完全限定域名,就是從根開始,一層一層的往下找,最終能唯一確定主機的完全路徑,FQDN能保證網絡中的主機不會重名。

    主機名:不包含上層查找路徑,www.magedu.com是一個主機名


第三,DNS的工作原理

<1> DNS服務器的名稱查詢原理

    查詢方法有兩種:遞歸查詢,迭代查詢。

    遞歸查詢:客戶端要求直接得到結果,要麼成功,要麼失敗(本地客戶端和DNS服務直接交互,被請求的DNS服務器必須給出最終答案。)

    迭代查詢:服務器以相關參考性應答返回本地DNS(DNS服務與DNS服務交互,得到的是參考答案)

    注意:本地客戶端向本地域名服務器查詢請求時,查詢類型爲:一次遞歸,多次迭代。

    一般情況下,DNS服務器之間的查詢方式都是迭代查詢。如果要查詢www.lifehacker.com(lifehacker.com域不是本地DNS負責的區域),那麼本地DNS就需要向外迭代查詢(迭代查詢從根域開始,因此,本地DNS就必須知道根域的IP地址)。根提示的功能可以讓本地DNS服務器查詢根域DNS服務器

    在Linux系統中,安裝好了bind服務,會自動創建全球13臺根服務器的解析庫文件,保存在/var/named/named.ca中;~]#cat /var/named/named.ca


<2>反向查詢原理: 

    客戶端一般執行正向查詢,用存儲在地址(A)資源記錄中的另一臺計算機的DNS名稱來搜索IP地址等信息。同時,DNS也提供反向查詢過程,允許客戶端在名稱查詢期間使用已知的IP地址查詢計算機名。

    DNS在最初設計上並不支持反向查詢。因爲支持反向查詢過程可能存在一個問題,即DNS名稱空間如何組織和索引名稱,IP地址如何分配,這些方面都有差別。爲了解決這個問題,在DNS標準中採用了一種叫做“線索追蹤的機制”,即定義了特殊域“in-addr.arpa”,並保留在Internet DNS名稱空間中。爲了創建名稱空間,in-addr.arpa域中的子域是按照帶句點十進制編號的IP地址的相反順序構造,且採用與正向解析完全不同的解析庫。因此,創建in-addr.arpa域樹的時候,IP地址八位字節的書訊必須倒置,並且定義一種新的資源記錄類型“PTR”。


<3>區域傳送原理



第四,DNS的名稱解析庫及資源記錄:

    名稱解析:以主機名爲搜索碼,在DNS解析數據庫中查找對應的IP地址的過程。在本地通過hosts文件來解析; Linux中:/etc/hosts ;windows系統中:%windir%\system32\drivers\etc\hosts

    DNS解析類型:正向解析:FQDN-->IP;反向解析: IP --> FQDN

    

    DNS名稱解析庫:通常爲一個保存在/var/named/目錄下的文本文件,每一行稱作一個資源記錄。 每一個名稱解析庫稱作“區域(zone)”

注意: 區域zone是一個物理概念,一個區域就是一個DNS解析庫。域是一個邏輯概念,一個域對應一個DNS域名稱空間。正向解析與反向解析採用的是不同的解析庫,一個配置了正向解析庫和反向解析庫的DNS意味着其包含了兩個區域(正向zone和反向zone)

    

資源記錄

分類:FQDN-->IPv4: A (Address);
           FQDN-->IPv6: AAAA
           Domain-->DNS Server:NS (Name Server)
           Domain-->Master DNS: SOA (Start OfAuthority), 起始授權記錄(用於明確說明一個域內的主DNS服務器是哪個,必須是名稱解析庫中的第一條記錄)
           FQDN-->FQDN: CNAME (Canonical Name)別名 
           IP-->FQDN: PTR (pointer)  
           Domain-->Mail Server: MX (Mail eXchanger), 有優先級:0-99,數字越小級別越高
注意:1.SOA記錄定義了誰是一個域內的主DNS。主輔DNS服務器之間如何同步(即如何進行區域傳送)的。
        2.正向解析不能有PTR記錄; 反向解析不能有A記錄,也不需要MX記錄


資源記錄的格式:

name   [ttl]    class  type  value
說明:name字段表示該記錄所描述的實體(通常是主機或者一個域)。如果幾個連續的記錄涉及同一個實體的話,那麼第一條之後可以省略,利用@來代替這個name字段。
    TTL(time to live (存活時間)),默認字段以秒爲單位指定時間長度,在指定的時間內,數據項可被緩存並且仍被認爲是有效的。TTL必須位於該區域數據文件的第一行,默認可省。
    class指定網絡類型:默認類型爲IN,IN(指Internet)、HS(Hesiod:本地使用的目錄服務)、CH(供域名服務器內部用來標示自己)
    type:資源記錄類型
    value:  資源記錄的值


SOA記錄格式:

 mageedu.com 600 IN SOA dns.magedu.com. admin.magedu.com. (
                    20150916001
                    2H
                    20M
                    7D
                    5H)


NS記錄格式:

 magedu.com      600 IN  NS      dns.magedu.com.


A記錄格式:

dns.magedu.com. 600     IN A 192.168.0.105


別名記錄(CNAME)格式:

 ftp.magedu.com. 600     IN      CNAME   www


郵件記錄格式:

 magedu.com      600     IN      MX      20      mailserver1.magedu.com.


PTR記錄格式:

105.0.168.192.in-addr.arpa     600    IN PTR     dns.magedu.com.


SOA記錄寫法比較特別,有兩種寫法,寫法一:

SOA:
                zone [TTL] IN  FQDN  admin_mailbox  (
                2013081201 ;序列號, serial number,每次更改配置值是都要在原來的基礎上加上1,表示有更新
                2h ;刷新時間, refresh time, 通知(notify): 只通知給本區域解析庫文件中定義NS記錄的所有主機;
                5m ;重試時間, retry time
                7d ;過期時間, expire time
                1d ;否定答案的ttl
                )


寫法二

SOA:
            @ [TTL] IN  FQDN  admin_mailbox  (
            2013081201   ;序列號, serial number
            2h ;刷新時間, refresh time, 通知(notify): 只通知給本區域解析庫文件中定義NS記錄的所有主機;
            5m ;重試時間, retry time
            7d ;過期時間, expire time
            1d ;否定答案的ttl
            )


第五,DNS服務器類型:

    緩存服務器:不負責解析,僅爲加速,不需要註冊

    主DNS服務器:負責解析本地客戶端請求

    輔助DNS服務器:輔助服務器的區域數據都是從主服務器複製而來,其數據都是隻讀的

第二部分——bind安裝和配置

第一,bind詳細介紹

    進程:named    協議:dns    使用端口:53(tcp,udp)    程序文件:/usr/sbin/named

    相關包:

    1.bind-chroot:將named進程的活動範圍限定在chroot目錄,保證安全性

    2.bind-devel:與開發相關的頭文件和庫文件(編譯安裝bind時所需)

    3.bind-libs:bind服務器端和客戶端都使用到的公共庫文件

    4.bind-utils : bind客戶端工具


bind配置文件:

[root@localhost etc]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf    #主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones    #區域配置文件(用include指令包含在主配置文件中)
/etc/named.root.key    #根區域的key文件以實現事務簽名;
/etc/rndc.conf    #rndc(遠程名稱服務器控制器)配置文件;
/etc/rndc.key     #rndc加密密鑰
/etc/sysconfig/named
/var/named/named.ca    #13個根服務器存放文件/var/named/named.empty
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback

主配置文件:named.conf,每個語句都要使用分號結尾;其功能如下:定義區域;定義各區域的全局配置;定義視圖;定義日誌


bind客戶端工具:

/usr/bin/dig        #最常用的DNS服務器測試工具
/usr/bin/host      #一款輕量級DNS測試工具
/usr/bin/nslookup    #DNS查詢工具,在衆多平臺上都有實現(windows上也有)
/usr/bin/nsupdate    #更新工具


dig命令:

語法:dig -t 資源記錄類型  名稱 @server-ip

若不加"@server-ip":則根據/etc/resolv.conf文件中的配置解析文件來查詢

[root@localhost etc]# dig -t NS www.baidu.com
        ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t NS www.baidu.com
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58677
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
        ;; QUESTION SECTION:
        ;www.baidu.com.            IN    NS
        ;; ANSWER SECTION:
        www.baidu.com.        138    IN    CNAME    www.a.shifen.com.
        ;; AUTHORITY SECTION:
        a.shifen.com.        500    IN    SOA    ns1.a.shifen.com. baidu_dns_master.baidu.com. 1509110003 5 5 86400 3600
        ;; Query time: 16 msec
        ;; SERVER: 124.207.160.106#53(124.207.160.106)   #通過此處的DNS服務器解析;
        ;; WHEN: Mon Sep 14 06:41:52 2015
        ;; MSG SIZE  rcvd: 115

說明:

    (1)加"@server-ip":根據指定的DNS服務器來解析,繞過了本地解析庫中設置的DNS服務器。

    (2)注意標誌位:

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

        如果flags後出現aa標誌,則說明這是一條權威應答

        Note:dig命令不會查緩存,而是直接查服務器;

[root@localhost etc]# dig -t A www.baidu.com @114.114.114.114
        ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t A www.baidu.com @114.114.114.114
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5861
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5
        ;; QUESTION SECTION:
        ;www.baidu.com.            IN    A
        ;; ANSWER SECTION:
        www.baidu.com.        600    IN    CNAME    www.a.shifen.com.
        www.a.shifen.com.    600    IN    A    119.75.218.70
        www.a.shifen.com.    600    IN    A    119.75.217.109
        ;; AUTHORITY SECTION:
        a.shifen.com.        681    IN    NS    ns1.a.shifen.com.
        a.shifen.com.        681    IN    NS    ns4.a.shifen.com.
        a.shifen.com.        681    IN    NS    ns5.a.shifen.com.
        a.shifen.com.        681    IN    NS    ns2.a.shifen.com.
        a.shifen.com.        681    IN    NS    ns3.a.shifen.com.
        ;; ADDITIONAL SECTION:
        ns1.a.shifen.com.    553    IN    A    61.135.165.224
        ns2.a.shifen.com.    365    IN    A    180.149.133.241
        ns3.a.shifen.com.    439    IN    A    61.135.162.215
        ns4.a.shifen.com.    213    IN    A    115.239.210.176
        ns5.a.shifen.com.    213    IN    A    119.75.222.17
        ;; Query time: 4 msec
        ;; SERVER: 114.114.114.114#53(114.114.114.114)  #使用的是該地址查詢;
        ;; WHEN: Mon Sep 14 06:50:11 2015
        ;; MSG SIZE  rcvd: 260


dig 常用選項:
    dig -x IP @server-ip:查詢方向解析;
    dig -t axfr zone :驗證完全區域傳送;
    dig -t 資源記錄類型 名稱 +trace:追蹤解析過程

[root@localhost etc]# dig -t A www.baidu.com +trace
            ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t A www.baidu.com +trace
            ;; global options: +cmd
            #首先找根
            .            248296    IN    NS    c.root-servers.net.
            .            248296    IN    NS    l.root-servers.net.
            .            248296    IN    NS    g.root-servers.net.
            .            248296    IN    NS    k.root-servers.net.
            .            248296    IN    NS    i.root-servers.net.
            .            248296    IN    NS    h.root-servers.net.
            .            248296    IN    NS    d.root-servers.net.
            .            248296    IN    NS    j.root-servers.net.
            .            248296    IN    NS    b.root-servers.net.
            .            248296    IN    NS    a.root-servers.net.
            .            248296    IN    NS    f.root-servers.net.
            .            248296    IN    NS    m.root-servers.net.
            .            248296    IN    NS    e.root-servers.net.
            ;; Received 496 bytes from 124.207.160.106#53(124.207.160.106) in 1320 ms
            #然後找.com
            com.            172800    IN    NS    k.gtld-servers.net.
            com.            172800    IN    NS    m.gtld-servers.net.
            com.            172800    IN    NS    c.gtld-servers.net.
            com.            172800    IN    NS    a.gtld-servers.net.
            com.            172800    IN    NS    f.gtld-servers.net.
            com.            172800    IN    NS    g.gtld-servers.net.
            com.            172800    IN    NS    j.gtld-servers.net.
            com.            172800    IN    NS    d.gtld-servers.net.
            com.            172800    IN    NS    l.gtld-servers.net.
            com.            172800    IN    NS    h.gtld-servers.net.
            com.            172800    IN    NS    i.gtld-servers.net.
            com.            172800    IN    NS    e.gtld-servers.net.
            com.            172800    IN    NS    b.gtld-servers.net.
            ;; Received 503 bytes from 192.5.5.241#53(192.5.5.241) in 103 ms
            #然後找baidu.com
            baidu.com.        172800    IN    NS    dns.baidu.com.
            baidu.com.        172800    IN    NS    ns2.baidu.com.
            baidu.com.        172800    IN    NS    ns3.baidu.com.
            baidu.com.        172800    IN    NS    ns4.baidu.com.
            baidu.com.        172800    IN    NS    ns7.baidu.com.
            ;; Received 201 bytes from 192.41.162.30#53(192.41.162.30) in 266 ms
            #最後找到最終結果;
            www.baidu.com.        1200    IN    CNAME    www.a.shifen.com.
            a.shifen.com.        1200    IN    NS    ns5.a.shifen.com.
            a.shifen.com.        1200    IN    NS    ns4.a.shifen.com.
            a.shifen.com.        1200    IN    NS    ns2.a.shifen.com.
            a.shifen.com.        1200    IN    NS    ns1.a.shifen.com.
            a.shifen.com.        1200    IN    NS    ns3.a.shifen.com.
            ;; Received 228 bytes from 61.135.165.235#53(61.135.165.235) in 12 ms


host命令:
    語法:host -t 資源記錄類型  名稱

[root@localhost etc]# host -t A www.baidu.com
        www.baidu.com is an alias for www.a.shifen.com.
        www.a.shifen.com has address 119.75.217.109
        www.a.shifen.com has address 119.75.218.70


第二,DNS(bind)服務器配置

實驗環境

VMware station 10
BIND服務器:兩臺CentOS 6.4虛擬機做主輔DNS
一臺windows 7做客戶端
Domain Name:test.com.                192.168.1.0/24
主DNS:LinuxMaster.test.com.       192.168.1.58
輔助DNS:LinuxSlave.test.com.       192.168.1.59
Win2008Slave.test.com.   192.168.80.3  (在windows 2008 R2上實現 )
web主機:www.test.com.    192.168.1.58    192.168.1.59   192.168.80.3
ftp主機:ftp.test.com.   CNAME  www.test.com.
mx郵件服務器:mx.test.com.  192.168.1.58


配置正向解析

第一步:通過yum安裝bind

]# yum install -y bind

第二步:修改主配置文件(/etc/named.conf)   註釋:自己創建也可以

[root@localhost etc]# cat /etc/named.conf
// C/C++風格的語法,註釋用//或/* */
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
    listen-on port 53 { 127.0.0.1; };        //指明監聽端口;
    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     { localhost; };        //允許那些主機查詢;
    recursion yes;                        //是否允許遞歸查詢;
    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {                                //定義日誌;
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                //定義根區域文件名稱
    type hint;                //類型 爲根
    file "named.ca";        //使用的是相對路徑,默認存放在/var/named/named.ca
};
//把另外兩個文件也包含進來,作爲主配置文件的一部分;
include "/etc/named.rfc1912.zones";            //該文件 定義區域配置文件;
include "/etc/named.root.key";          //該文件,根區域的key文件,與實務簽名相關;
註釋掉上述文件中的以下三行:
    //    listen-on port 53 { 127.0.0.1; };        指明監聽端口;
    //    listen-on-v6 port 53 { ::1; };            IPv6   
    allow-query     { localhost; };        允許那些主機查詢;


啓動named服務

[root@localhost etc]# /etc/rc.d/init.d/named start
    Generating /etc/rndc.key:                                  [  OK  ]
    Starting named:                                            [  OK  ]


驗證named服務是否已經啓動

[root@localhost etc]# ss -taunl | grep "53"
    udp    UNCONN     0      0          172.16.21.100:53                    *:*     
    udp    UNCONN     0      0          192.168.0.105:53                    *:*     
    udp    UNCONN     0      0              127.0.0.1:53                    *:*     
    tcp    LISTEN     0      3          172.16.21.100:53                    *:*     
    tcp    LISTEN     0      3          192.168.0.105:53                    *:*     
    tcp    LISTEN     0      3              127.0.0.1:53                    *:*     
    tcp    LISTEN     0      128                  ::1:953                  :::*     
    tcp    LISTEN     0      128            127.0.0.1:953                   *:*


將named服務設爲開機啓動

[root@localhost etc]# chkconfig --list named
    named              0:off    1:off    2:off    3:off    4:off    5:off    6:off
    [root@localhost etc]# chkconfig named on
    [root@localhost etc]# chkconfig --list named
    named              0:off    1:off    2:on    3:on    4:on    5:on    6:off

到此,一臺DNS緩存服務器就配置好了


編輯區域配置文件/etc/named.rfc1912.zones

格式:

zone "區域名稱"IN { 
        type master|slave|forward;  //注意每個語句要以分號結尾 
        file"ZONE_NAME.zone";     
    };  //注意要以分號結尾

例子:

zone "company.com" IN {
            type master;
            file"company.com.zone";
    };



第三步:創建區域數據文件(/var/named/***.zone)

在/var/named/下建立"ZONE_NAME.zone"文件,通常只包含宏定義和資源記錄,且第一個記錄必須是SOA記錄,格式如下:

$TTL 600; 
        name  [TTL]  IN RR_Type  value

(1)一個FQDN可對應同多個IP;(負載均衡) 
(2)多個FQDN可對應一個IP:(一臺主機有多個名稱,且可以用CNAME定義)

$TTL 600;
    @ IN    SOA     LinuxMaster.company.com. admin.company.com.(
                                            20150916001
                                            1H
                                            5M
                                            7D
                                            3D )
            IN      NS      LinuxMaster
            IN      MX      20 MX
    LinuxMaster     IN      A 192.168.0.105
    www     IN      A       192.168.0.105
    www     IN      A       172.16.21.100
    www     IN      A       192.168.0.110
    mx      IN      A       192.168.0.110
    ftp     IN      CNAME   www


第四步:使用相關命令(named-checkconf、named-checkzone)測試配置文件及區域文件是否存在語法錯誤

[root@localhost named]# named-checkconf 
    [root@localhost named]# named-checkzone "company.com" /var/named/company.com.zone 
    zone company.com/IN: loaded serial 2971046817
    OK


第五步:確保主配置文件和各區域解析庫文件的權限爲640,屬主爲root,屬組爲named

(1)檢查主配置文件的權限

[root@localhost named]# ls -l /etc/named*
    -rw-r----- 1 root named 1014 Sep 14 07:26 /etc/named.conf #權限爲640,屬主root,數組named;
    -rw-r----- 1 root named 1014 Sep 12 12:12 /etc/named.conf.rpmsave
    -rw-r--r-- 1 root named 2389 Oct 15  2014 /etc/named.iscdlv.key
    -rw-r----- 1 root named  999 Sep 14 07:42 /etc/named.rfc1912.zones #權限爲640,屬主root,數組named;
    -rw-r--r-- 1 root named  487 Jul 19  2010 /etc/named.root.key

(2)檢查區域解析庫文件/var/named/company.com.zone的權限

[root@localhost named]# ls -l /var/named/company.com.zone 
-rw-r--r-- 1 root root 288 Sep 14 07:55 /var/named/company.com.zone

更改權限

[root@localhost named]# chown root:named /var/named/company.com.zone 
[root@localhost named]# chmod 640 /var/named/company.com.zone 
[root@localhost named]# ll /var/named/company.com.zone 
-rw-r----- 1 root named 288 Sep 14 07:55 /var/named/company.com.zone


第六步:重啓服務或重新加載配置文件:

[root@localhost named]# /etc/rc.d/init.d/named restart
    Stopping named:                                            [  OK  ]
    Starting named:                                            [  OK  ]


第七步:檢查iptables和selinux的配置(要關閉)

[root@localhost named]# service iptables stop
[root@localhost named]# setenforce 0
  setenforce: SELinux is disabled
[root@localhost named]# getenforce 
  Disabled


第八步:分別使用(dig/nslookup)在Linux/Windows主機進行查詢DNS相關資源記錄

使用dig命令在Linux主機上進行DNS資源查詢

[root@localhost ~]# hostname
 LinuxSlave.company.com    #在輔助Linux主機上查詢
[root@localhost ~]# dig -t SOA company.com @192.168.0.105    #通過主Linux主機查詢
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t SOA company.com @192.168.0.105
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37165
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    ;; QUESTION SECTION:                #請求部分;
    ;company.com.            IN    SOA
    ;; ANSWER SECTION:                   #應答部分;
    company.com.        600    IN    SOA    LinuxMaster.company.com. admin.company.com. 2971046817 3600 300 604800 259200
    **********************************************************
    ;; AUTHORITY SECTION:
    company.com.        600    IN    NS    LinuxMaster.company.com.
    ;; ADDITIONAL SECTION:
    LinuxMaster.company.com. 600    IN    A    192.168.0.105
    **********************************************************
    ;; Query time: 4 msec
    ;; SERVER: 192.168.0.105#53(192.168.0.105)
    ;; WHEN: Mon Sep 14 08:16:39 2015
    ;; MSG SIZE  rcvd: 113



配置反向解析

反向區域的區域名稱格式: ReverseIP.in-addr.arpa.

例如:假設網絡地址爲192.168.0.1,那麼規則命名爲0.168.192.in-addr.arpa

第一步:修改配置文件/etc/named.conf,添加反向解析區域配置文件

zone "168.192.in-addr.arpa" IN {
        type master;
        file"0.168.192.zone"   //反向解析區域文件名;
    };

第二步:創建反向區域解析文件0.168.192.zone

$TTL 600;
    @ IN SOA LinuxMaster.company.com. admin.company.com. (
                                            20150916001
                                            1H
                                            5M
                                            7D
                                            3D )
            IN      NS      LinuxMaster.company.com.
    105     IN      PTR     LinuxMaster.company.com.
    105     IN      PTR     mx.company.com.
    105     IN      PTR     www.company.com.
    110     IN      PTR     www.company.com.
    3       IN      PTR     www.company.com.


第三步:檢查語法

[root@localhost named]# named-checkconf 
    [root@localhost named]# named-checkzone "0.168.192.zone" /var/named/0.168.192.zone 
    zone 0.168.192.zone/IN: loaded serial 2971046817
    OK


第四步:設置權限

[root@localhost named]# chmod 640 /var/named/0.168.192.zone 
[root@localhost named]# chown root:named /var/named/0.168.192.zone
[root@localhost named]# ll /var/named/0.168.192.zone
 -rw-r----- 1 root named 528 Sep 14 09:19 /var/named/0.168.192.zone


第五步:重新加載配置文件

[root@localhost named]# service named restart
    Stopping named:                                            [  OK  ]
    Starting named:                                            [  OK  ]


第六步,使用dig命令驗證反向解析

[root@localhost named]# dig -x 192.168.0.105 @192.168.0.105
        ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -x 192.168.0.105 @192.168.0.105
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47804
        ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 1
        ;; QUESTION SECTION:
        ;105.0.168.192.in-addr.arpa.    IN    PTR
        ;; ANSWER SECTION:
        105.0.168.192.in-addr.arpa. 600    IN    PTR    www.company.com.
        105.0.168.192.in-addr.arpa. 600    IN    PTR    LinuxMaster.company.com.
        105.0.168.192.in-addr.arpa. 600    IN    PTR    mx.company.com.
        ;; AUTHORITY SECTION:
        0.168.192.in-addr.arpa.    600    IN    NS    LinuxMaster.company.com.
        ;; ADDITIONAL SECTION:
        LinuxMaster.company.com. 600    IN    A    192.168.0.105
        ;; Query time: 0 msec
        ;; SERVER: 192.168.0.105#53(192.168.0.105)
        ;; WHEN: Mon Sep 14 09:59:28 2015
        ;; MSG SIZE  rcvd: 146



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