linux下DNS的配置

 一、DNS 簡述

        DNS(Domain Name System),即域名系統。因特網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。DNS服務器的作用就是就好比生活中的電話簿、114查號臺一樣,爲各種網絡程序找到對應目標主機的IP地址或對應的主機域名。

二、DNS功能

         每個IP地址都可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。當Ping主機名時可以映射出該主機的IP地址,反之亦然。配置並指定DNS服務器可以快速部署集羣,不需要每臺主機都去修改Hosts文件即可實現IP與主機名的相互解析。

    1、DNS解析方式

       在DNS的解析過程中我們可以發現有那麼兩個階段,1、客戶端將解析請求發給dns server之後只需要等待結果就OK了;2、dns server在接到客戶端的請求後,全面負責去查找目標主機,查找的每個過程都是dns server去請求的。這兩個過程的查找方式顯然是不相同,前者我們稱之爲遞歸查詢,後者稱之爲迭代查詢。遞歸查詢和迭代查詢是DNS解析過程的兩種方式,遞歸查詢一般是客戶機和服務器之間的查詢,即只發送一起請求,其他的工作交於上層服務器去解決,然後最後一層一層的反饋結果到客戶端;迭代查詢一般是DNS服務器與DNS服務器之間的方式,即最初的DNS服務器負責發起請求,而其他涉及到的DNS服務器只負責響應即可,然後一直查找到目標DNS服務器,並將結果返回給客戶端。

        DNS是一個網絡服務,因此必須要有與其相對應的端口號,DNS的端口號是53,通常在查詢的時候是以udp這個快速的數據傳輸協議來查詢的,但是一旦沒有查詢到完整的信息時就會再次以TCP協議來進行重新查詢,因此DNS服務在啓動的時候會同時開啓tcp的53號端口和udp的53號端口,這個解析記錄在DNS中稱之爲DNS數據庫,這個數據庫又分爲正解和反解,正解就是從主機名到IP的過程,反解就是從IP反向解析到主機名的過程,無論是正解還是反解,每個域名所對應的解析記錄我們稱之爲zone,如baidu.com這個zone。

    2、DNS相關的配置文件

修改/etc/named.conf訪問權限

blob.png

修改 /etc/named.rfc1912.zones文件,加入正解和反解配置 

blob.png

QQ截圖20180915103026.png

修改 /etc/named.localhost 文件

QQ截圖20180915114154.png

三、DNS測試

除了系統提供的一些名稱解析命令外,DNS的軟件包當中提供了一些測試命令,這些命令有:dig、host、nslookup。

    ##dig用於測試dns系統,因此,不會查詢hosts 文件進行解析;

    ##dig命令的語法: dig[-t type]name[@SERVER][query options]

        查詢選項:+[no]trace 跟蹤解析過程 / +[no]recurse 進行遞歸解析

        測試反向解析: dig -x IP@SERVER

        模擬區域傳送: dig -t axfr ZONE_NAME @SERVER

    ##host命令語法:  host [-a] name [SERVER]

    ##nslookup [-option][name |-] [server]

        交互式模式:

            nslookup>

                server IP:指明使用哪個DNS server 進行查詢;

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

        NAME:要查詢的名稱;

四、搭建DNS的實驗

    1、DNS模擬根實現,及主輔同步

        ##準備六臺機器,除client客戶端以外,所有機器安裝bind,並都清空防火牆和關閉selinux。

blob.png

        ##所有安裝bind的主機配置name.conf,修改2個any,2個no,除caching-only緩存機以外,都把遞歸設置爲no。

blob.png

blob.png

        ##除root“.”以外,所有機器修改named.ca

QQ截圖20180915145356.png

blob.png

        ##配置root“.”機器

        1、/etc/name.conf中刪除name.ca的項目

blob.png

            2、配置 /etc/named.rfc1912.zones文件

blob.png

            3、編輯 /var/named/root.zone文件

blob.png

                4、啓動named服務

blob.png

        ##配置com機器

            1、配置 /etc/named.rfc1912.zones文件

QQ截圖20180915152952.png

            2、編輯 /var/named/com.zone文件

blob.png

            3、啓動named服務

blob.png

        ##配置主DNS二級域

            1、配置 /etc/named.rfc1912.zones文件

blob.png

            2、編輯 /var/named/magedu.com.zone文件

blob.png

            3、編輯/etc/named.conf 文件

blob.png

            4、啓動named服務

blob.png

        ##配置從DNS二級域機器

            1、配置 /etc/named.rfc1912.zones文件

1.png

            2、啓動named服務

blob.png

        ##配置客戶機client

blob.png

        ##測試DNS是否搭建成功

            1、在緩存機caching-only上清除緩存

blob.png

            2、在客戶機client上測試

#關閉所有防火牆後測試

blob.png

#開啓主DNS二級域的防火牆後測試

blob.png

blob.png

blob.png

#將主、從DNS二級域機器的防火牆全部開啓後測試

blob.png

blob.png

2.png

至此,我們就完成了在Linux下DNS模擬根的搭建,並實現了及主輔同步。


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