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

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

創(chuàng)新互聯(lián)主營(yíng)甕安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開發(fā),甕安h5小程序制作搭建,甕安網(wǎng)站營(yíng)銷推廣歡迎甕安等地區(qū)企業(yè)咨詢

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

比如www.baidu.com

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

下面詳細(xì)介紹域名空間:

首先是根域(.);

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

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

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

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

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

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

舉個(gè)栗子:

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

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

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

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

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

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

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

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

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

三、資源記錄 RR

有以下幾種類型:

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

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

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

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

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

value:

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

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

   如:mailmaster.(@)whjlab.com

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

(Serial 1H 15M 1W 1D)

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

    

Serial

代表這個(gè)zone file 的版本,每當(dāng)zone file 內(nèi)容有變動(dòng),name server 管理者就應(yīng)該增加這個(gè)號(hào)碼,因?yàn)閟lave 會(huì)將這個(gè)號(hào)碼與其copy 的那份比對(duì)以便決定是否要再copy 一次(即進(jìn)行zone transfer )。

Refresh

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

當(dāng)slave server 無法和master 進(jìn)行serial check時(shí),要每隔幾秒retry 一次。

Expire

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

Minimum

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

例:

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

 2017081001;serial

 1H;refresh

 15M;retry

 1W;expire

 1D;)ttl

2.A:Address,主機(jī)記錄

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

name:域中某主機(jī)的FQDN或主機(jī)名

value: 與主機(jī)名對(duì)應(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:當(dāng)前域的域名

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

注意:

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

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

例如:

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

5.MS記錄:

name

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

注意:

1.一個(gè)域中可以有多條

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

例如

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

@ IN MX 20 mail2

6.CNAME:

name 別名的FQDN或者簡(jiǎn)單名稱

value 真正名稱的FQDN或者其簡(jiǎn)單名稱

例:

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

web IN CNAME www

7.PTR記錄:

  name:IP地址反過來寫,并在其后綴加反向域標(biāo)準(zhǔn)后綴

比如:1.72.16.172.in-addr.arpa.

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

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

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

    

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

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

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

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

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

    否定答案的緩存時(shí)長(zhǎng):minimal TTL

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

實(shí)現(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.分段配置的特點(diǎn)

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

acl ACL_NAME {...};

 b.全局選項(xiàng)段:

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

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

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

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

directory       "/var/named";

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

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

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

      recursion yes;

      //全局開啟遞歸查詢;默認(rèn)為所有客戶端開啟遞歸查詢

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

};

文章題目:DNS(域名系統(tǒng))與BIND(Berkeley互聯(lián)網(wǎng)名稱域)
當(dāng)前網(wǎng)址:http://muchs.cn/article44/geopee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站制作、用戶體驗(yàn)、Google全網(wǎng)營(yíng)銷推廣、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)