溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DNS(域名系統(tǒng))與BIND(Berkeley互聯(lián)網(wǎng)名稱域)

發(fā)布時間:2020-08-09 20:46:03 來源:網(wǎng)絡(luò) 閱讀:606 作者:whj3656 欄目:建站服務(wù)器

一直以來對瀏覽器地址欄輸入的地址有極大的困惑,為什么輸入的是www?為什么結(jié)尾是.com?為什么要用"."來分隔三部分(大多數(shù)情況下)?好吧,大學(xué)后才知道,這東西學(xué)名是叫域名,而不是網(wǎng)民稱的網(wǎng)址什么的;域名讓我們更方便的訪問,而不是要死記住那一大串的數(shù)字:ip地址;


一、先認識一下這個名稱域,也可以叫ta名稱空間,在空間上形象的把ta看作一棵倒置的樹,數(shù)據(jù)結(jié)構(gòu)里的樹形結(jié)構(gòu)知道吧,就跟那差不多的樣子;

比如www.baidu.com

根域(.)在最后被省略不寫,com是它的頂級域,baidu是二級域名,www是三級域名,也叫主機名

下面詳細介紹域名空間:

首先是根域(.);

根域下面是頂級域,也由Internet域名注冊授權(quán)機構(gòu)管理,共有3種類型的頂級域.
1.組織域,采用3個字符的代號,表示DNS域中所包含的組織的主要功能或活動,常用的組織域名.
2.地理域.采用兩個字符的國家或地區(qū)代號,如cn為中國,kr為韓國,us代表美國.
3.反向域.這是一個特殊域,名字為in-addr.arpa,用于將IP地址映射到名字.

  對于頂級域的下級域,Internet域名注冊授權(quán)機構(gòu)授權(quán)給Internet的各種組織,當一個組織獲得了對域名空間某一部分的授權(quán)后,這個組織就負責(zé)命令所分配的域及其子域,包括域中的計算機的其他設(shè)備,并管理分配的域中主機名字與IP地址的映射信息.


域名系統(tǒng)就是負責(zé)名稱解析的,有正向解析和反向解析。顧名思義就是由名稱知曉IP抑或是由IP知曉名稱;

二、一次完整的DNS查詢有兩種:

 1、主機向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。所謂遞歸查詢就是:如果主機所詢問的本地域名服務(wù)器不知道被查詢的域名的IP地址,那么本地域名服務(wù)器就以DNS客戶的身份,向其它根域名服務(wù)器繼續(xù)發(fā)出查詢請求報文(即替主機繼續(xù)查詢),而不是讓主機自己進行下一步查詢。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。

 2、本地域名服務(wù)器向根域名服務(wù)器的查詢的迭代查詢。迭代查詢的特點:當根域名服務(wù)器收到本地域名服務(wù)器發(fā)出的迭代查詢請求報文時,要么給出所要查詢的IP地址,要么告訴本地服務(wù)器:“你下一步應(yīng)當向哪一個域名服務(wù)器進行查詢”。然后讓本地服務(wù)器進行后續(xù)的查詢。根域名服務(wù)器通常是把自己知道的頂級域名服務(wù)器的IP地址告訴本地域名服務(wù)器,讓本地域名服務(wù)器再向頂級域名服務(wù)器查詢。頂級域名服務(wù)器在收到本地域名服務(wù)器的查詢請求后,要么給出所要查詢的IP地址,要么告訴本地服務(wù)器下一步應(yīng)當向哪一個權(quán)限域名服務(wù)器進行查詢。最后,知道了所要解析的IP地址或報錯,然后把這個結(jié)果返回給發(fā)起查詢的主機。


舉個栗子:

假定域名為m.xyz.com的主機想知道另一個主機y.abc.com的IP地址。例如,主機m.xyz.com打算發(fā)送郵件給y.abc.com。這時就必須知道主機y.abc.com的IP地址。下面是上圖a的幾個查詢步驟:

1、主機m.abc.com先向本地服務(wù)器dns.xyz.com進行遞歸查詢。

2、本地服務(wù)器采用迭代查詢。它先向一個根域名服務(wù)器查詢。

3、根域名服務(wù)器告訴本地服務(wù)器,下一次應(yīng)查詢的頂級域名服務(wù)器dns.com的IP地址。

4、本地域名服務(wù)器向頂級域名服務(wù)器dns.com進行查詢。

5、頂級域名服務(wù)器dns.com告訴本地域名服務(wù)器,下一步應(yīng)查詢的權(quán)限服務(wù)器dns.abc.com的IP地址。

6、本地域名服務(wù)器向權(quán)限域名服務(wù)器dns.abc.com進行查詢。

7、權(quán)限域名服務(wù)器dns.abc.com告訴本地域名服務(wù)器,所查詢的主機的IP地址。

8、本地域名服務(wù)器最后把查詢結(jié)果告訴m.xyz.com。


三、資源記錄 RR

有以下幾種類型:

    A,AAAA,PTR,SOA,NS,CNAME,MX

下面分別介紹每個資源類型及在數(shù)據(jù)庫中的具體格式

1.SOA:Start Of Authority,起始授權(quán)記錄

在任何一個數(shù)據(jù)庫中有且只能由一條SOA記錄,而且必須是數(shù)據(jù)庫的第一條記錄

name:當前域的域名,如:qhdlink.com.;或者可以使用"@"代替

value:

1.當前區(qū)域的主DNS服務(wù)器的FQDN;

2.當前區(qū)域數(shù)據(jù)庫的管理員的郵件地址;但是使用"."來代替"@";

   如:mailmaster.(@)whjlab.com

3.主從服務(wù)器進行區(qū)域傳送的相關(guān)時間定義及否定答案的統(tǒng)一TTL;

(Serial 1H 15M 1W 1D)

括號內(nèi)的字段的意義是:

    

Serial

代表這個zone file 的版本,每當zone file 內(nèi)容有變動,name server 管理者就應(yīng)該增加這個號碼,因為slave 會將這個號碼與其copy 的那份比對以便決定是否要再copy 一次(即進行zone transfer )。


Refresh

slave server 每隔這段時間(秒),就會檢查master server 上的serial number。 不 過這里會發(fā)生一個問題就是,在master server 在update data 完成到slave server 來檢查時再update 可能還有 好一段時間,因此這段期間master/slave DNS server間zone files 就可能出現(xiàn)不一致。 所 以在Bind較新的版本中便加入"notify"功能,使用者在"named.conf" 設(shè)定中在需要的zone 中加入"notify"的設(shè)定,則master server在update 完成某個zone file 的data 后便會主動發(fā)個訊息(NOTIFY),借以通知該其它的slave servers,因此如果slave servers 也有支援這個"notify"功能時,接下來slave servers 馬上就可以做zone transfer 來update data。 

當slave server 無法和master 進行serial check時,要每隔幾秒retry 一次。


Expire

當時間超過Expire 所定的秒數(shù)而slave server 都無法和master 取得連絡(luò),那么slave 會刪除自己的這份copy。


Minimum

代表這個zone file 中所有record 的內(nèi)定的TTL 值,也就是其它的DNS server cache 這筆record 時,最長不應(yīng)該超過這個時間。

例:

@ 86400 IN SOA ns1.whjliab.com. mail.whjlab.com.(

  2017081001;serial

  1H;refresh

  15M;retry

  1W;expire

  1D;)ttl

2.A:Address,主機記錄

標識從完全合格域名到IP地址的映射關(guān)系;FQDN --> IPv4

name:域中某主機的FQDN或主機名

value: 與主機名對應(yīng)的IPv4地址


例:

www.whjlab.com. 86400 IN A 192.168.1.1

www IN A 192.168.1.1



3.AAAA:Address,F(xiàn)QDN --> IPv6


4.NS記錄:

name:當前域的域名

value:當前區(qū)域內(nèi)某DNS服務(wù)器的完全合格域名,如:ns#.qhdlink.com

注意:

    1.一個域內(nèi)可以有多個NS資源記錄

    2.每個NS資源記錄都必須要有一個A記錄與之對應(yīng)


例如:

whjliab.com. 86400 IN NS ns1.whjlab.com.


5.MS記錄:

name

value:當前域中某有效的郵件服務(wù)器的主機名

注意:

1.一個域中可以有多條

2.每個MX都要有一條A記錄對應(yīng)

例如

whjlab.com. 86400 IN MX 10 mail1.whjlab.com

@ IN MX 20 mail2

6.CNAME:

name 別名的FQDN或者簡單名稱

value 真正名稱的FQDN或者其簡單名稱

例:

web.qhdlink.com. 86400 IN CNAME www.qhdlink.com.

web IN CNAME www


7.PTR記錄:

  name:IP地址反過來寫,并在其后綴加反向域標準后綴

比如:1.72.16.172.in-addr.arpa.

四、主從DNS服務(wù)器:

主DNS:維護所負責(zé)解析的區(qū)域數(shù)據(jù)庫文件的主體服務(wù)器,即:可以在區(qū)域數(shù)據(jù)庫中進行增刪改等管理操作;讀寫操作均可進行

從DNS:輔助DNS服務(wù)器,從主DNS-server或者其他的從DNS-server以區(qū)域傳送的方式復(fù)制對方的區(qū)域數(shù)據(jù)庫;所以從DNS不具備管理操作的作用;

    

為了保證兩者中 的數(shù)據(jù)庫保持一致,需要保證:

序列號一致:Serial,即數(shù)據(jù)庫中的版本號;主DNS服務(wù)器的數(shù)據(jù)庫內(nèi)容如果發(fā)生變化,序列號應(yīng)該自增。如果從服務(wù)器接收到的新數(shù)據(jù)庫,如果其序列號沒有變化,則忽略;如果發(fā)現(xiàn)其序列號比當前自身的數(shù)據(jù)庫序列號大,則更新;

     刷新時間間隔:refresh,從DNS服務(wù)器每隔多長時間到主DNS服務(wù)器上去檢查序列號的變化更新情況;


    重試時間間隔:retry,從DNS服務(wù)器向主DNS服務(wù)器要求同步數(shù)據(jù)失敗之后,再次發(fā)起嘗試請求的時間間隔;


過期時間:expire,從DNS服務(wù)器始終聯(lián)系不到主DNS服務(wù)器時,從DNS服務(wù)器多長時間之后停止服務(wù);


    否定答案的緩存時長:minimal TTL


五、實現(xiàn)方式-Bind軟件

實現(xiàn)DNS協(xié)議的程序是BIND,其中BIND的服務(wù)器的主程序是named


bind:

主配置文件:/etc/named.conf

可以在此配置文件中使用include命令包含其他的配置文件;

/etc/named.lscdlv/key

/etc/named.rfc1912.zones

聲明區(qū)域;

/etc/named.root.key


主配置文件的格式:

1.注釋方式:

//或者/* ... */

2.分段配置的特點

 a.訪問控制列表定義字段

acl ACL_NAME {...};

 b.全局選項段:

options {...}

 c.日志配置段:

logging {...};

 d.區(qū)域配置段:

zone "ZONE_NAME" IN {...}

 e.視圖配置段:

view VIEW_NAME {...}

 f.include包含段:

include /PATH/TO/SOME_CONFIG_FILE



 options {

listen-on port 53 { 127.0.0.1; };

//在啟動DNS服務(wù)之后,named進程所監(jiān)聽的ipv4地址

listen-on-v6 port 53 { ::1; };

//在啟動DNS服務(wù)之后,named進程所監(jiān)聽的ipv6地址

directory       "/var/named";

//規(guī)定的解析庫的根目錄


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

       //訪問控制語句,允許哪些主機將查詢請求發(fā)送至本服務(wù)器;默認為localhost,即只為服務(wù)器自身提供查詢請求處理;


      recursion yes;

      //全局開啟遞歸查詢;默認為所有客戶端開啟遞歸查詢

dnssec-enable yes;

       dnssec-validation yes;

       dnssec-lookaside yes;

       //建議初學(xué)者關(guān)閉 此dnssec功能


       /* Path to ISC DLV key */

       bindkeys-file "/etc/named.iscdlv.key";


       managed-keys-directory "/var/named/dynamic";


       pid-file "/run/named/named.pid";

       session-keyfile "/run/named/session.key";


};


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI