DNS解析之前的步驟:
1
2
3
4
<code>-------> 查找hosts檔案</code>
<code> </code><code>-------> DNS緩存(DNS用戶端)</code>
<code> </code><code>--------> 查找DNS伺服器緩存 </code>
<code> </code><code>---------> 由DNS伺服器去解析如下圖</code>
<a href="http://s3.51cto.com/wyfs02/M01/44/A4/wKioL1PiFyCgCSQAAAJtYAdqm6w831.jpg" target="_blank"></a>
說明:(這裡略去國家域的解析)
5
6
7
8
9
10
11
12
<code>1、 DNS用戶端向DNS域名解析伺服器(營運商DNS)發送域名www.9527du.com解析請求。</code>
<code>2、 營運商DNS收到請求後,發現【.com】該域并不在自己的解析能力範圍内。</code>
<code> </code><code>把解析請求送出給根域。</code>
<code>3、 根域告訴營運商DNS,負責解析【.com】域的DNS伺服器的位址</code>
<code>4、 運作商DNS伺服器,從根域那裡知道了負責【.com】域的DNS伺服器的位址,</code>
<code> </code><code>就請求幫忙解析【9527.com】</code>
<code>5、 負責解析【.com】域的DNS伺服器就告訴,運作商DNS負責【9527du】該域的DNS伺服器的位址</code>
<code>6、 運作商DNS伺服器,就向負責【9527du】域DNS伺服器,請求解析【www】主機的位址</code>
<code>7、 負責解析【9527du】域的DNS,查找自己的A記錄,确實有這www這台主機,</code>
<code> </code><code>就把該主機對應的IP位址,告訴營運商DNS伺服器。</code>
<code>8、 營運商DNS伺服器,就告訴自己的用戶端你要解析的域名的IP位址是什麼。</code>
<code>9、 DNS用戶端(浏覽器)就使用IP位址通路www.9527du.com這域名對應主機的資源了。</code>
從上面,可以看出,域名解析也就是從域名找出,它所對應的IP位址。屬于名稱解析的一種。那麼我們應該使用檔案或資料庫把域名與IP位址的對應關系存儲起來,檔案或資料庫就被稱為:解析庫。
解析庫的種類有:
<code>1、文本檔案</code>
<code> </code><code>查找速度慢,如果文本檔案很大的知,把該檔案加載入記憶體,才可以查找占用很大記憶體</code>
<code>2、基于關系型資料庫</code>
<code> </code><code>可以通過一級索引,多級索引,加速資料的檢索速度</code>
<code>3、LDAP:LightweightDirectory Access Protocol</code>
<code> </code><code>比關系型資料庫的檢索快100倍資料級。</code>
我們的應用應該選擇哪種解析庫呢,視實際應用而定。
那麼,DNS伺服器是如何定義解析庫的呢?
<code>[root@stu13 ~]</code><code># vim/etc/named.rfc1912.zones</code>
<code>zone </code><code>"9527du.com"</code> <code>IN {</code>
<code> </code><code>type</code> <code>master;</code>
<code> </code><code>file</code> <code>"9527du.zone"</code><code>;</code>
<code>};</code>
說明:
Zone 關鍵字,是定義域的名稱。域有嫡屬關系的。如上圖【.9527du】這個域是【.com】域的子 域,而【.com】域又屬于根域的子域。是以,我們定義域的時候,要标明該域是屬于那個 域的。如:【.9727du.com】.這也是域的層級結構決定的。我們隻有了解域的層級才可以
正确配置DNS伺服器的。
Type 關鍵字,是定義負責該域解析的DNS伺服器工作類型:主DNS還是slave DNS還是根:hint.
File 關鍵字,指定我們的解析庫名稱。該解析庫是使用相對路徑表示的,是相對于named工作 的目錄而言的,工作目錄在options{…};主配置段中使用:directory關鍵字來定義的。
我們有了解析庫了,就應該在解析庫中定義要解析的内容了,也就是定義資源類型。那麼DNS有那些資源類型呢,定義資源類型的格式又是什麼樣的呢?
1、 資源類型
<code>(1)、SOA Start Of Authority 起始授權記錄;</code>
<code> </code><code>作用:定義負責該區域zone的DNS域名解析的伺服器的工作特征的。</code>
<code> </code><code>注意:一個區域檔案中隻能有一個 SOA 資源記錄。</code>
<code>(2)、NS Name Server 辨別一個區域zone内,誰是DNS伺服器。</code>
<code>(3)、MX Mail eXchange标明一個域内誰是郵件DSN 伺服器。</code>
<code> </code><code>注意要指明優先級:[0-99]</code>
<code>(4)、A address A記錄,專門用于正向解析庫。</code>
<code>(5)、PTR 專用于反向解析庫。FQDN-------> IP</code>
<code> </code><code>注意:A資源記錄與PTR不能同時出現。</code>
<code>(6)、AAAA 專用于IPV6</code>
<code>(7)、CNAME Canonical Name 别名記錄</code>
2、資源記錄類型的格式;
<code>Name [ttl] IN RRType value</code>
<code> </code><code>緩存時長 資源記錄類型</code>
(1)、SOA Start Of Authority 起始授權記錄
<code>Name 目前區域的域名,也就是負責解析的區域zone..通常可以簡寫成:@</code>
<code>Value 負責解析該區域的DNS的FQDN,也可以是目前區域的區域名稱。</code>
例:
<code>@ IN SOA ns.9527du.com. admin.9527du.com. (</code>
<code> </code><code>serialnumber ; 解析庫的版本号。分号為注釋。每改變一次配置版本号要+1</code>
<code> </code><code>refreshtime ; DNS伺服器是主從架構時,解析庫資料同步的時間間隔</code>
<code> </code><code>retry </code><code>time</code> <code>; 當從伺服器連接配接不到主伺服器時,每隔多長時間聯系一次。</code>
<code> </code><code>expiretime ; 從伺服器聯系不到主伺服器。從伺服器幫助主伺服器解析域名的時長</code>
<code> </code><code>negativeanswer ttl ; 否定答案(不能解析的域名)的統一緩存時長。</code>
<code>)</code>
注意:任何解析庫檔案的第一個記錄必須是SOA
(2)、NS name server
<code>Name DNS伺服器負責解析的區域zone,,可以簡寫成:@</code>
<code>Value DSN 伺服器的FQDN</code>
<code>@ IN NS ns.9527du.com.</code>
注意:
如果有多台NS伺服器,每一個都必須有對應的NS記錄。對于正向解析檔案來說,每一個NS的FQDN都應該有一個A記錄。
(3)、MX: Mail eXchanger
<code>name: 郵件DNS伺服器負責解析的區域zone名稱</code>
<code>value: 郵件伺服器的FQDN</code>
<code>@ IN MX 10(優先級) mail.9527du.com</code>
<code>@ IN MX 20 mail2.9527du.com</code>
如果有多台MX伺服器,每一個必須有對應的MX記錄,但各MX記錄還有優先級屬性
對于正向解析檔案來說,每一個NS的FQDN都應該有一個A記錄。
做為郵件的DNS伺服器,必需有正反解的功能。
(4)、A (Address):記錄
<code>Name FQDN</code>
<code>Value IP位址</code>
<code>ns.9527du.com IN A 10.16.13.1</code>
<code>mail.9527du.com IN A 202.1.50.8</code>
<code>www.9527du.com IN A 202.1.50.8</code>
<code>bbs.9527du.com IN A 202.1.50.8</code>
(5)、CNAME: Canonical Name
<code>name: FQDN</code>
<code>value: FQDN</code>
<code>web.8527du.com IN CNAME www.9527du.com.</code>
那如何配置DNS的正向解析功能呢?
1、 要先确定DNS伺服器負責解析的區域?再定義DNS伺服器的工作模式和解析庫
負責解析:9527du.com該區域,該DNS工作在master,解析庫檔案為:9527du.zone
2、在解析庫9527du.com.zone中添加資源記錄。
<a href="http://s3.51cto.com/wyfs02/M01/44/AA/wKiom1PiJ_DSalx-AAENJYGxFx4834.jpg" target="_blank"></a>
3、使用【host】測試是否能夠解析成功
<code>[root@stu13~]</code><code># host -t A www.9527du.com 172.16.13.1</code>
<code>Usingdomain server:</code>
<code>Name:172.16.13.1</code>
<code>Address:172.16.13.1</code><code>#53</code>
<code>Aliases:</code>
<code> </code>
<code>www.9527du.comhas address 172.16.249.50</code>
<code>www.9527du.comhas address 172.16.249.51</code>
<code>[root@stu13~]</code><code># host -t A web.9527du.com 172.16.13.1</code>
<code>web.9527du.comis an </code><code>alias</code> <code>for</code> <code>www.9527du.com.</code>
<code>[root@stu13~]</code><code># host -t A bbs.9527du.com 172.16.13.1</code>
<code>bbs.9527du.com has address 172.16.249.52</code>
OK!!!!
本文轉自成長的小蟲 51CTO部落格,原文連結:http://blog.51cto.com/9528du/1536602,如需轉載請自行聯系原作者