DNS服務基礎

DNS服務:是一種工作在應用層的特定應用,也是.c/s架構模式的,DNS的是一種應用層協議,他的端口是UPD協議的53號端口,()根據應用場景不同也會用到tcp協議)這就意味著DNS是默認通過UDP協議進行通信的

我們訪問任何一個網站都是通過主機名的方式進行訪問的;例如www.baidu.com,這是個主機名.稱之為FQDN(完全限定域名)

常見的頂級域中的組織域有:.com,.net,.org,.gov,.edu,.mil

常見的頂級域中的國家域有:.iq,.tw,.jp,.cn…

DNS查詢類型:
遞歸查詢:
迭代查詢:
DNS名稱解析方式:
名稱 --> IP:正向解析
IP --> 名稱:單向解析
注意:二者的名稱空間,非為同一個空間;即非為同一顆樹,因此,也不是同一個解析庫
DNS服務器類型:
負責解析至少一個域:
    主名稱服務器
    輔助名稱服務器
不負責域解析:
    緩存名稱服務器
一次完整的查詢請求經過的流程:
client --> hosts文件 --> DNS Loscal Cache --> DNS Server(recursion,遞歸) -->
自己負責解析的域:直接查詢數據庫并返回答案;
不是自己負責域:server cache --> iteration(迭代)

解析答案:
    肯定答案:
    否定答案:不存在查詢的鍵,因此,不存在與其查詢對應的值

    權威答案:由直接負責的DNS服務器返回的答案
    非權威答案:

主-輔DNS服務器

主DSN服務器:維護所負責解析的域的數據庫的那臺服務器,讀寫操作均可進行
從DNS服務器:從主DNS服務器那里或其他的從服務器那里"復制"一份解析庫,但只能進行讀操作
    "復制"操作的實施方式
        序列號:也即是數據庫的版本號,主服務器數據庫內容發生變化時,其版本號遞增
        刷新時間間隔:從服務器每多久到主服務器檢查序列號更新狀況
        重試時間間隔:從服務器從主服務器請求同步解析庫失敗時,再次發起嘗試請求的時間間隔
        過期時長:從服務器始終聯系不到主服務器時,多久之后放棄從主服務器同步數據,停止提供服務
        否定答案的緩存時長:

        注意:主服務器數據發送更新以后,主服務器會"通知"從服務器隨時更新數據,忽略刷新時間間隔機制進行
    同步方式:
        區域傳送:
            全量傳送:傳送整個數據庫;
            增量傳送:僅傳送變化的數據
區域和域的區別:
    以magedu.com域為例
        FQDN --> IP 
            正向解析庫:正向解析區域
        IP --> FQDN
            反向解析庫:反向解析區域
區域數據庫文件:
資源記錄:簡稱rr
    記錄有類型:A,AAA,PTR,SOA,NS,CHAME,MX
    SOA:起始授權記錄,一個區域解析庫有且只能有一個SOA記錄;而且只能放在第一條
    NS:域名服務記錄;一個區域解析庫可以有多個NS記錄;其中一個為主
    A:地址記錄,從FQDN解析為IPV4地址記錄
    AAAA:地址記錄,從FQDN解析為IPV6地址記錄
    CNAME:別名記錄
    PTR:把IP地址解析成FQDN,所以PTR記錄是用來反向解析的記錄
    MX:郵件交換器
        優先級:0-99,數字越小優先級越高
資源記錄的定義格式:
    語法: name    [ttl]   IN  RR_TYPE value
多種不同的資源記錄他們的名稱和值的特點要求,如下;
SOA:
    name:當前區域的名字;例如"magedu.com",或者"2.3.4.in-addr.arpa"
    value:有多部分組成
        1)當前區域的區域名稱(也可以使用主DNS服務器名稱)
        2)當前區域的管理員的郵箱地址;但地址中不能使用@符號,一般使用點號來替代
        3)(朱從的服務協調屬性的定義以及否定答案的TTL)

            例如:
                magedu.com. 86400   IN  SOA magedu.com. admin.magedu.com. (
                    2017010801 ;serial
                    2H         ;refresh
                    10m        ;retry
                    1w         ;expire
                    1D         ;negative answer ttl
                )
NS:
    name:當前區域的區域名稱
    value:當前區域的某DNS服務器的名字,例如ns.magedu.com
        注意:一個區域可以用多個ns記錄
    例如:
        magedu.com. 86400   IN  NS  ns1.magedu.com.
        magedu.com. 86400   IN  NS  ns2.magedu.com.

MX:
    name:當前區域的區域名稱
    value:當前區域某郵件交換器的主機名
        注意:MX記錄可以有多個;但每個記錄的value之前應該有一個數字表示其優先級
    例如:
        magedu.com. 86400   IN  MX  10  mx1.magedu.com.
        magedu.com. 86400   IN  MX  20  mx2.magedu.com.
A:
    name:某FQDN,例如www.magedu.com.
    value:某IPV4地址
    例如:
        www.magedu.com. IN  A   1.1.1.1
        www.magedu.com. IN  A   1.1.1.2
        bbs.magedu.com. IN  A   1.1.1.1
AAAA:
    name:FQDN
    value:IPV6
PTR:
    name:IP地址,有特點格式:IP反過來寫,而且加特別后綴;
    例如:1.2.3.4的記錄應該寫為4.3.2.1.in-addr.arpa.
    value:FQDN
    例如:
        4.3.2.1.in-addr.arpa.   IN  PTR www.magedu.com
CNAME:
    name:FQDN格式的別名
    value:FQDN格式的正式名字
    例如:
        web.magedu.com. IN  CNAME   www.magedu.com

注意:
    1)TTL值可以全局繼承;不用每個都定義
    2)@表示當前區域的名稱
    3)相鄰的兩條記錄其name相同時,后面的可省略
    4)對于正向區域來說,各MX,NS等 類型的記錄的value為FQDN,此FQDN應該有一個A記錄

DNS and Bind

如何安裝配置使用DNS服務

BIND:伯克利互聯網域名,BIN是DNS協議的一種實現,BIND這個程序運行起來的進程名叫named.

dns:協議
bind:dns協議的一種實現
named:bind程序的運行的進程名
BIND的安裝配置:
bind-libs:被bind和bind-utils包中的程序共同用到的庫文件
bind-utils:bind客戶端程序集,例如dig,host,nslookup等
bind:提供的dns server程序,以及幾個常用的測試程序
bind-chroot:選裝程序,讓named運行于jail(監獄)模式下

主配置文件

/etc/named.conf
或包含其他文件;
    /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:遠程名稱域控制器

rndc默認情況下工作在tcp的953端口,但默認監聽于127.0.0.1地址,因此僅允許本地使用.BIND安裝在同一主機,bind程序安裝完成之后,默認即可做緩存名稱服務器使用;如果沒有專門復雜解析的區域,直接即可啟動服務;

開啟

centos6:service named start
centos7: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;
檢查配置文件的語法錯誤;
    named-checkconf [/etc/named.conf]
測試工具:dig,host,nslookp
    dig命令:
        dig [-t RR_TYPE] name [@SERVER] [query options]
            用于測試dns系統,因此其不會查詢hosts文件
            查詢選項:
                +[no]trace:跟蹤解析過程
                +[no]recures:進行遞歸解析
            注意:反向解析測試
                dig -x ip
            模擬完全區域傳送
                dig -t axfr DOMAIN [@server]

    host命令:
        host [-t RR_TYPE] name SERVER_IP

    nslookup命令
        nslookuop [-options] [name] [server]

    交互式模式:
        nslookup>
            server IP:以指定的IP為DNS服務器進行查詢
            set q=RR_TYPE:要查詢的資源記錄類型
            name:要查詢的名稱

原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/58133

(0)
M20-1馬星M20-1馬星
上一篇 2016-11-07
下一篇 2016-11-07

相關推薦

  • shell,系統啟動和內核管理

    shell中的for和while循環,Linux的組成,系統啟動的步驟,以及內核的管理

    2017-12-21
  • linux計劃任務

    linux計劃任務、周期性任務執行 未來的某時間點執行一次某任務:at,batch 周期性運行某任務:crontab 執行結果: 會通過郵件發送給用戶, 存放在/var/spool/mail/UserName ~]# ss -tnl 或者 ~]# netstat -tnlp  查看是否有25號端口打開,來判斷本機的郵件服務是否正常打開 本地電子郵件…

    Linux干貨 2016-09-19
  • 編譯安裝Linux內核

    實驗前準備:在https://www.kernel.org/下載內核 這里我們下載的是:linux-4.14.10.tar.xz du -sh /app/linux.tar/ 此命令可查看內核文件大小 編譯完成后/lib/modules下會生成4.14.10版的內核 1,tar xvf linux-4.14.10.tar.xz -C /app/解壓縮準備好的…

    2018-01-03
  • apache編譯安裝

    apache是什么:     Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。同時Apache音譯為阿帕奇,是北美印第安…

    Linux干貨 2016-08-24
  • DNS 及 bind的簡單配置

    bind的簡單配置 摘要:DNS  bind簡單配置        FQDN        http://www.www58058.com.  WWW是主機名  .178linux.COM.是私有域名&nbsp…

    Linux干貨 2015-10-18
  • CentOS 6 啟動流程

    CentOS6啟動流程 1.加載BIOS的硬件信息,獲取第一個啟動設備 2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息 3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備 4.核心執行init程序,并獲取默認的運行信息 5.init程序執行/etc/rc.d/rc.sysinit文件 6.啟動核心的外掛模塊 7.ini…

    2017-09-01
欧美性久久久久