域名系統(tǒng)為一個分布式數(shù)據(jù)庫,它使本地負責控制整個分布式數(shù)據(jù)庫的部分段,每一段中的數(shù)據(jù)通過客戶,服務(wù)器模式在整個網(wǎng)絡(luò)上均可存取,通過采用復(fù)制技術(shù)和緩存技術(shù)使得整個數(shù)據(jù)庫可靠的同時,又擁有良好的性能. 域名服務(wù)器包含數(shù)據(jù)庫的部分段的信息,并可提供被稱之為解析器的客戶來訪問. DNS的數(shù)據(jù)庫結(jié)構(gòu)形成一個倒立的樹狀結(jié)構(gòu),根的名字用空字符串""來表示,但在文本中用"."來書寫.樹的每一個節(jié)點都表示整個分布式數(shù)據(jù)庫中的一個分區(qū)(域),每個域可再進一步劃分成子分區(qū)(域),每個域都有一個標簽(LABEL),標明了它與父域的關(guān)系.域也有一個域名(domain name),給出它在整個分布式數(shù)據(jù)庫中的位置.在DNS中,域名全稱是一個從該域到根的標簽序列,以"."分隔這些標簽.該標簽最多可包含63個字符.樹中每一節(jié)點的完整域名為從該節(jié)點到根之間路徑上的標簽序列. 如果根域在節(jié)點的域名中出現(xiàn),該名字看起來就象以點結(jié)尾(實際上是以點和空標簽作結(jié)尾).這些以點結(jié)尾的域名被稱之為絕對域名(Absoulte Domain Name).不以點結(jié)尾的域名被稱之為相對域名. 域(Domains)即為樹狀域名空間中的一棵子樹,域的域名同該子樹根節(jié)點的域名一樣.也就是說,域的名字就是該域中最高層節(jié)點的名字.舉例來說,zhuhai.gd.cn域的頂端就是名為zhuhai.gd.cn的節(jié)點. 在DNS中,每個域分別由不同的組織進行管理.每個組織都可以將它的域再分成一定數(shù)量的子域并將這些子域委托給其他組織進行管理.域既能包括主機又能包括其他域(它的子域).域名被用做DNS數(shù)據(jù)庫中的索引.子域中任何域名被認為是域的一部分. 事實上,主機即為域,域名僅是DNS數(shù)據(jù)庫中的索引,"主機"可由指向相關(guān)主機信息的域名來索引,域包含所有其域名在該域的主機. 在域名樹中,葉節(jié)點的域通常代表主機,它們的域名可指向網(wǎng)絡(luò)地址,硬件信息和郵件路由信息.在樹內(nèi)的節(jié)點,其域名既可命名一臺主機,也可指向有關(guān)該域的子孫或子域的結(jié)構(gòu)信息,在域名樹中的內(nèi)部域名并不受唯一性限制,它們既可表示它們所對應(yīng)的域,又可代表網(wǎng)絡(luò)中某臺特定的主機.例如,sun.com既是sun的域,又是在sun和internet間轉(zhuǎn)發(fā)信件的郵件服務(wù)器的域名. 網(wǎng)絡(luò)上的每一臺主機都有一個域名,域名給出有關(guān)主機的信息,該信息中包含IP地址,MAIL路由信息等等,主機也可以有一個或多個域名別名,別名僅是一些指向正式域名的另 域名 判斷域是否為另一域的子域的簡單方法是比較它們的域名.子域名以其父域名結(jié)尾. 設(shè)計域名系統(tǒng)的一個主要目的是讓管理分散化,這是通過代理來實現(xiàn)的.管理域的組織將該域劃分成子域,每一個子域可以由其他組織代理,這意味著那些代理組織負責維護在該子域的所有數(shù)據(jù).他們可以自由地改變數(shù)據(jù),甚至可以將他們管理的子域再劃分成更多的子域并將它們再分配.父域中僅包含指向這些子域的指針,因而引用對那里的查詢. 域名服務(wù)器 存儲有關(guān)域名空間信息的程序被稱為域名服務(wù)器(name server).通常,域名服務(wù)器擁有部分域名空間(稱之為區(qū)zone)的完整信息.域名服務(wù)器可以擁有多個區(qū)的授權(quán). 區(qū)與域的關(guān)系: 區(qū)包含了域中除了代理給別處的子域外所含有的所有域名和數(shù)據(jù).如果域的子域沒有被代理出去,則該區(qū)包含該子域名和子域中的數(shù)據(jù). DNS定義了兩類域名服務(wù)器:primary Master 和 secondary Master.PM域名服務(wù)器 從它所運行的主機上的文件獲得它所負責的區(qū)的數(shù)據(jù),SM域名服務(wù)器則是從其它的具有該區(qū)授權(quán)的域名服務(wù)器上獲得它的區(qū)的數(shù)據(jù).SM域名服務(wù)器會定期查詢PM域名服務(wù)器以保證區(qū)數(shù)據(jù)為最新版本. 一般情況下,最好設(shè)立一臺PM域名服務(wù)器和若干臺SM域名服務(wù)器.這樣可以分擔負載.以及確保區(qū)中所有主機都有比較靠近的域名服務(wù)器,方便訪問. 解析器 運行在主機上并需要域名空間信息的重新需要解析器(Resolver),在bind中解析器僅僅是一組庫例程,并編譯進象telnet和ftp這樣的程序中,它們并非獨立的進程.解析器所做的工作為:匯集查詢,發(fā)送查詢并等待應(yīng)答,未得到應(yīng)答時重發(fā)查詢. 地址到域名的映射 在域名空間的數(shù)據(jù)是通過名字來進行索引的,找到一個給定域名的地址相對容易.但是要找到映射給一定地址的域名就要在樹上的每一個域名空間作窮盡搜索.如果這樣的話,效率將相當?shù)?為了解決這個問題,創(chuàng)建一個以地址為索引的域名空間.這部分名字空間被稱為in-addr.arpa域. in-addr.arpa域中的節(jié)點以Doted-octet(將32bitIP地址表示為由"."分隔開的四個8bit的十進制形式的方法)形式表示IP地址.IP地址在名字空間以相反的方向表示,因為名字是從葉讀到根,例如,www.zhuhai.gd.cn的IP地址為202.105.177.100,則相應(yīng)的in-addr.arpa子域為177.105.202.in-addr.arpa,使IP地址中的第一個字節(jié)出現(xiàn)在樹的最高層使的管理員有能力沿著網(wǎng)絡(luò)聯(lián)接將in-addr.arpa域代理出去,例如177.105.202.in-addr.arpa可以被代理給網(wǎng)絡(luò)177.105.202的管理員. 緩存與生存期 名字服務(wù)器在處理遞歸查詢時,可能要進行多次查詢才能得到信息,在這過程中,名字服務(wù)器可以獲得很多有關(guān)域名空間的信息,名字服務(wù)器將所以這些信息都緩存起來以加速以后的查詢.除了加速查詢外,緩存還使得我們不必再次查詢根名字服務(wù)器,這樣可使得我們不必過分依賴根名字服務(wù)器而大大減輕根名字服務(wù)器的負載. 生存期(TTL)為所容許的名字服務(wù)器對數(shù)據(jù)緩存的時間長度,一旦生存期到了,名字服務(wù)器必須丟棄緩存數(shù)據(jù)并從授權(quán)的名字服務(wù)器中重新獲取新的數(shù)據(jù).這樣可以確保域數(shù)據(jù)在整個網(wǎng)絡(luò)上的一致性 BIND:LINUX名字服務(wù) linux和其他的unix一樣,都是用BIND來實現(xiàn)名字服務(wù).BIND的服務(wù)端的軟件是被稱為named的守護進程.bind的主頁是http://www. 安裝服務(wù)器軟件 取得bind軟件包(現(xiàn)在新的版本為8.2.2 p5) 從bind的主頁http://www.上取得最新stable版的三個文件: bind-contrib.tar.gz bind-doc.tar.gz bind-src.tar.gz 或者從http://www.上取得三個文件: bind-8.2.2-p5-9.i386.rpm bind-devel-8.2.2-p5-9.i386.rpm cache-nameserver-6.2-2.noarch.rpm 安裝bind軟件包 安裝tar封裝的軟件包: 先解壓軟件包 tar zxpf bind-contrib.tar.gz tar zxpf bind-doc.tar.gz tar zxpf bind-src.tar.gz 編輯修改Makefile.set 文件,增加或修改 'DESTLIB=/usr/lib/bind/lib' 'DESTINC='/usr/lib/bind/include' 編譯并安裝 make make install 安裝rpm封裝的軟件包: rpm -Uhv bind-8.2.2-p5-9.i386.rpm rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm rpm -Uhv cache-nameserver-6.2-2.noarch.rpm
讓服務(wù)器跑起來---基本篇 BIND可被配置成幾種不同的運行方式,通用的BIND配置為純解析器系統(tǒng),純緩存服務(wù)器,主服務(wù)器,輔服務(wù)器. 解析器是指通過域名服務(wù)器查詢域信息的程序代碼,在unix系統(tǒng)中,它是以庫例程的方式實現(xiàn)的,而并不是一個單獨的客戶程序.純解析器系統(tǒng)很容易配置,只要設(shè)置一下/etc/resolv.conf文件.這種方式通常用于由于某些限制不能在本地運行域名服務(wù)器軟件的系統(tǒng)中. 例如:/etc/resolv.conf內(nèi)容類似為: search test.com nameserver 127.0.0.1 nameserver 172.16.0.1 當配置解析器庫以使用BIND名字服務(wù)進行主機查找,你也必須告知它使用哪個名字服務(wù)器。對此有一個獨立的文件,稱為resolv.conf。如果這個文件不存在或是空的,那么解析器就假設(shè)名字服務(wù)器在你本地的主機上。 如果在你的本地主機上運行一個名字服務(wù)器,你必須單獨地設(shè)置它。 resolv.conf中最重要的選項是nameserver,它給出了要使用的名字服務(wù)器的IP地址。如果你通過幾次給出nameserver選項指定了幾個名字服務(wù)器,那么它們會以給出的順序試用。因此,你應(yīng)該首先給出最可靠的服務(wù)器。目前,至多支持三個名字服務(wù)器。 如果沒有給出nameserver選項,那么解析器試圖連接本地主機上的名字服務(wù)器。 其它兩個選項,domain和search涉及到如果BIND不能用第一個請求解析主機名時附加在主機名上的缺省域。search選項指定了一個試用的域名列表。列表項是用空格或制表符分開的。 如果沒有給出search選項,就會通過使用域名本身從本地域名以及直至root的父域中建立一個搜尋列表。本地域名可以使用domain語句給出;如果一個也沒有給出,那么解析器就通過系統(tǒng)調(diào)用getdomainname(2)來獲取。 其它三類配置方式是用于域名服務(wù)器的 純緩存服務(wù)器 純緩存服務(wù)器運行域名服務(wù)器軟件,但并沒有域名服務(wù)器數(shù)據(jù)庫文件,它記錄下每一個從遠程域名服務(wù)器獲得的數(shù)據(jù),以回答將來對同一信息的查詢. 純緩存服務(wù)器所需的三個基本配置文件: /etc/named.conf /var/named/named.ca /var/named/named.local 創(chuàng)建或修改/etc/named.conf: // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; forwarders {172.16.0.1;172.16.0.11;}; }; // // a caching only nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; 在文件中"forwarders {172.16.0.1;172.16.0.11;};"其中的IP地址是你網(wǎng)絡(luò)中主服務(wù)器和輔服務(wù)器的IP地址. 創(chuàng)建或修改/var/named/named.local @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. 創(chuàng)建或修改/var/named/named.ca: 至于/var/named/named.ca就要從redhat linux光碟獲得了.也用命令從互聯(lián)網(wǎng)上獲得: dig @.aroot-servers.net.ns > /var/named/named.ca 如果是用rpm封裝的軟件包安裝的話,這三個文件會自動生成,我們只需要修改/etc/named.conf.其中/var/named.ca一般是不用修改的. 主服務(wù)器 主服務(wù)器是給定域的所有信息的授權(quán)來源.它所裝載的域信息來自于由域管理員所創(chuàng)建并在本地維護的磁盤文件. 我們用"test.com"作為例子,我們需要五個基本配置文件: /etc/named.conf /var/named/named.ca /var/named/named.local /var/named/named.test.com /var/named/named.172.16.0 創(chuàng)建或修改/etc/named.conf: // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a PM nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; //there are our primary zone files zone "test.com" { type master; file "named.test.com"; }; zone "0.16.172.in-addr.arpa" { type master; file "named.172.16.0"; }; 文件中的zone "test.com"段是聲明這是用于test.com域的主服務(wù)器,用于該域的數(shù)據(jù)從/var/named/named.test.com文件中裝載. 文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主機名的文件.用于該域的數(shù)據(jù)從/var/named/named.172.16.0文件中裝載. 創(chuàng)建或修改/var/named/named.local @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. 1 IN PTR localhost. 注意:在修改named.*文件時每次存盤時要注意增加Serial值.如使用絕對域名時千萬別忘了后面帶的"." 資源記錄中的@字符轉(zhuǎn)變?yōu)楫斍暗挠騮est.com,IN表示資源記錄使用TCP/IP地址,SOA表示管轄開始記錄.ns.test.com. 是這個域的主DNS服務(wù)器的標準名稱,在之后是聯(lián)系的EMAIL地址,其中@字符必須用"."代替. 創(chuàng)建或修改/var/named/named.test.com @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. ns A 172.16.0.1 ns2 A 172.16.0.11 www A 172.16.0.2 ftp CNAME www.test.com. mail A 172.16.0.3 MX 10 mail.test.com. 創(chuàng)建或修改/var/named/named.172.16.0 @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expi
標準資源記錄 ----------------------------------------------------------------------- 資源記錄文本名 意義 記錄類型 功能 ----------------------------------------------------------------------- Start of Authority 授權(quán)開始 SOA 標記區(qū)數(shù)據(jù)的開始,定義影響整個區(qū)的參數(shù) Name Server 名字服務(wù)器 NS 標明域的名字服務(wù)器 Address 地址 A 轉(zhuǎn)換主機名到地址 Pointer 指針 PTR 轉(zhuǎn)換地址到主機名 Mail Exchange 郵件交換 MX 標明發(fā)往給定域名的郵件應(yīng)傳送到的位置 Canonical Name 正規(guī)名 CNAME 定義主機名別名 HOST information 主機信息 HINFO 描繪主機硬件和操作系統(tǒng)的信息 Wellknown Service 著名服務(wù) WKS 通告網(wǎng)絡(luò)服務(wù) DNS使用MX記錄來實現(xiàn)郵件路由,它規(guī)定了域名的郵件服務(wù)器要么處理,要么向前轉(zhuǎn)發(fā)有關(guān)該域名的郵件.處理郵件是指將其傳送給其地址所關(guān)聯(lián)的個人,向前轉(zhuǎn)發(fā)郵件是指通過SMTP協(xié)議將其傳送給其最終目的地.為了防止郵遞路由,MX記錄除了郵件交換器的域名外還有一個特殊參數(shù):優(yōu)先級值.優(yōu)先級值是個從0到65535的無符號整數(shù),它給出郵件交換器的優(yōu)先級別. 優(yōu)先級值自身并不重要,關(guān)鍵在于它同其它郵件交換器的優(yōu)先級值的相對大小,優(yōu)先級值相對越小,優(yōu)先級越高.郵件總是首先試圖傳遞給優(yōu)先級值相對最小的郵件交換器.失敗后才試圖傳遞給優(yōu)先級值稍大的郵件交換器.郵件總是試遍了同一優(yōu)先級的郵件交換器,失敗后才試圖傳遞給優(yōu)先級稍低的郵件交換器. 注意你列為郵件交換器的主機必須擁有地址記錄. 例如: mail A 172.16.0.3 MX 10 mail.test.com. 管理工具 dig named.ca文件的作用是告訴你的服務(wù)器在哪里可以找到根域的域服務(wù)器,這個文件 一定要保證正確無誤,一般來說,這個文件幾乎不會變動,但是不能保證不會變動,最好是 每一,兩個月同步一下. 使用下面的命令獲得新的named.ca文件 dig @.aroot-servers.net.ns >/var/named/named.ca ndc ndc這個指令是由系統(tǒng)管理員用來管理域服務(wù)器的操作,在終端中輸入ndc help可 得到幫助. ndc restart 用來重新啟動named進程; ndc reload 用來裝入新的數(shù)據(jù)庫. nslookup nslookup是用來詢域名信息的命令,它分交互模式和非交互模式兩種方式. 非交互模式:nslookup www.zhuhai.gd.cn 交互模式:nslookup 注意,當用nslookup查詢時出現(xiàn)"Non-authoritative answer:",表明這次并沒有到 網(wǎng)絡(luò)外去查詢,而是在緩存區(qū)中查找并找到數(shù)據(jù). 交互模式除了能查詢單個的主機,還可以查詢DNS記錄的任何類型,并且傳輸 一個域的整個區(qū)域信息。 當不加參數(shù)地調(diào)用,nslookup將顯示它所用的名字服務(wù)器, 并且進入交互模式。 在’>’提示符下,你可以鍵入任何想要查詢的域名。缺省地,它請求類A記錄, 這些是包含與域名相關(guān)的IP地址的。 你可以通過發(fā)出“set type=type”來改變這個類型,這里type是上面描 述的資源記錄名,或ANY。 例如,你可以與它進行下面的對話: $ nslookup Default Name Server: rs10.hrz.th-darmstadt.de Address: 130.83.56.60 > sunsite.unc.edu Name Server: rs10.hrz.th-darmstadt.de Address: 130.83.56.60 Non-authoritative answer: Name: sunsite.unc.edu Address: 152.2.22.81 如果你試者去查詢一個沒有相應(yīng)IP地址的名字,但DNS數(shù)據(jù)庫中能找到其它的記 錄,nslookup將返回一個錯誤信息說“No type A records found”(“沒有類型A記錄 發(fā)現(xiàn)”)。然而,你可以通過發(fā)出“set type”命令來查詢不是類型A的其它記錄。例如, 要得到unc.edu的SOA記錄,你要發(fā)出: > unc.edu *** No address (A) records available for unc.edu Name Server: rs10.hrz.th-darmstadt.de Address: 130.83.56.60 > set type=SOA > unc.edu Name Server: rs10.hrz.th-darmstadt.de Address: 130.83.56.60 Non-authoritative answer: unc.edu origin = ns.unc.edu mail addr = shava.ns.unc.edu serial = 930408 refresh = 28800 (8 hours) retry = 3600 (1 hour) expire = 1209600 (14 days) minimum ttl = 86400 (1 day) Authoritative answers can be found from: UNC.EDU nameserver = SAMBA.ACS.UNC.EDU SAMBA.ACS.UNC.EDU internet address = 128.109.157.30 以同樣的方式你可以查詢MX記錄,等等。使用一個ANY類型將返回與一個給出的 名字關(guān)聯(lián)的所有資源記錄。 > set type=MX > unc.edu Non-authoritative answer: unc.edu preference = 10, mail exchanger = lambada.oit.unc.edu lambada.oit.unc.edu internet address = 152.2.22.80 Authoritative answers can be found from: UNC.EDU nameserver = SAMBA.ACS.UNC.EDU SAMBA.ACS.UNC.EDU internet address = 128.109.157.30 除了調(diào)試,nslookup的一個實際應(yīng)用是為named.ca文件獲取根名字服務(wù)器的當前 列表。你可以通過查詢與根域相關(guān)的所有NS類型記錄來做到: > set type=NS > . Name Server: fb0430.mathematik.th-darmstadt.de Address: 130.83.2.30 Non-authoritative answer: (root) nameserver = NS.INTERNIC.NET (root) nameserver = AOS.ARL.ARMY.MIL (root) nameserver = C.NYSER.NET (root) nameserver = TERP.UMD.EDU (root) nameserver = NS.NASA.GOV (root) nameserver = NIC.NORDU.NET (root) nameserver = NS.NIC.DDN.MIL Authoritative answers can be found from: (root) nameserver = NS.INTERNIC.NET (root) nameserver = AOS.ARL.ARMY.MIL (root) nameserver = C.NYSER.NET (root) nameserver = TERP.UMD.EDU (root) nameserver = NS.NASA.GOV (root) nameserver = NIC.NORDU.NET (root) nameserver = NS.NIC.DDN.MIL NS.INTERNIC.NET internet address = 198.41.0.4 AOS.ARL.ARMY.MIL internet address = 128.63.4.82 AOS.ARL.ARMY.MIL internet address = 192.5.25.82 AOS.ARL.ARMY.MIL internet address = 26.3.0.29 C.NYSER.NET internet address = 192.33.4.12 TERP.UMD.EDU internet address = 128.8.10.90 NS.NASA.GOV internet address = 128.102.16.10 NS.NASA.GOV internet address = 192.52.195.10 NS.NASA.GOV internet address = 45.13.10.121 NIC.NORDU.NET internet address = 192.36.148.17 NS.NIC.DDN.MIL internet address = 192.112.36.4 nslookup完整的命令集可以通過nslookup中的help命令得到.
提高域名服務(wù)器的安全 為了提高域名服務(wù)器的安全性,必須要控制區(qū)文件的傳輸.在配置named.conf時,可以采取幾方面的控制來加強安全. options { allow-transfer {202.103.166.100;}; }; 這句指令指定只有授權(quán)的輔服務(wù)器才能從本主服務(wù)器上獲得區(qū)數(shù)據(jù)信息 options { allow-query {192.168.1/24;127.0.0/8;}; }; 這句指令指定只有授權(quán)的客戶才能從本服務(wù)器上獲得區(qū)數(shù)據(jù)信息. options { forwarders {202.103.166.194;202.105.177.100;}; forward-only; }; 這句指令指定只有指定的服務(wù)器才能被本緩存服務(wù)器訪問. 應(yīng)用實例 假設(shè)有一個網(wǎng)絡(luò),網(wǎng)絡(luò)由proxy分成internet和intranet兩部分:為了保護mail server的安全,將它安置在intranet上.內(nèi)部用戶通過內(nèi)部mail server收發(fā)信件. proxy server主機上同時建有proxy server ,dns server 和smtp server. eth0 ip address:192.168.1.1 eth1 ip address:172.16.0.1 mail server主機上同時建有smtp server,pop3 server. ip address:172.16.0.2 用戶的網(wǎng)關(guān) 為172.16.0.1 dns server 為172.16.0.1 smtp server為mail.test.com pop3 server為mail.test.com 我們還是用"test.com"作為例子,我們需要六個基本配置文件: /etc/named.conf /var/named/named.ca /var/named/named.local /var/named/named.test.com /var/named/named.172.16.0 /var/named/named.192.168.1 創(chuàng)建或修改/etc/named.conf: // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a PM nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; //there are our primary zone files zone "test.com" { type master; file "named.test.com"; }; zone "0.16.172.in-addr.arpa" { type master; file "named.172.16.0"; }; zone "1.168.192.in-addr.arpa" { type master; file "named.192.168.1"; }; 文件中的zone "test.com"段是聲明這是用于test.com域的主服務(wù)器,用于該域的數(shù)據(jù)從/var/named/named.test.com文件中裝載.文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主機名的文件. 用于該域的數(shù)據(jù)從/var/named/named.172.16.0文件中裝載.文件中的zone "1.168.192.in-addr.arpa"段是指向映射IP地址192.168.1.* 到主機名的文件.用于該域的數(shù)據(jù)從/var/named/named.192.168.1文件中裝載. 創(chuàng)建或修改/var/named/named.local @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. 1 IN PTR localhost. 注意:在修改named.*文件時每次存盤時要注意增加Serial值.如使用絕對域名時千萬別忘了后面帶的"." 創(chuàng)建或修改/var/named/named.test.com @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. ns A 192.168.1.1 ns A 172.16.0.1 MX 10 ns.test.com. www A 192.168.1.2 mail A 172.16.0.2 MX 10 mail.test.com. MX 20 ns.test.com. 創(chuàng)建或修改/var/named/named.192.168.1 @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. 1 IN PTR ns.test.com. 2 IN PTR www.test.com. 創(chuàng)建或修改/var/named/named.172.16.0 @ IN SOA ns.test.com. root.ns.test.com. ( 2000051500 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.test.com. 1 IN PTR ns.test.com. 2 IN PTR mail.test.com. 假設(shè)用戶發(fā)一份郵件到tom@hotmail.com時,信件先投遞到mail.test.com主機, 由mail.test.com主機再傳遞給ns.test.com主機,再由ns.test.com主機投遞給mail.hotmail.com.然后再由用tom從mail.hotmail.com主機取得郵件. 當hotmail.com上的tom想發(fā)郵件給mail.test.com上的用戶時,tom機器上的解析器先獲得test.com的域名信息,然后郵件客戶端根據(jù)郵件投遞路由首先發(fā)給mail.test.com主機,由于mail.test.com主機為內(nèi)部主機,internet用戶無法訪問.然后郵件客戶端根據(jù)郵件投遞路由發(fā)給ns.test.com主機.由于ns.test.com主機為于internet上,ns.test.com主機收到郵件后再轉(zhuǎn)發(fā)到同一網(wǎng)段的mail.test.com主機上,然后再由用戶從mail.test.com主機取得郵件. 與Microsoft dns 的集成 Microsoft dns 定義了一個新的類型WINS的資源記錄,它附屬在域的根區(qū).這個記錄告訴Microsoft的DNS服務(wù)器如何與WINS服務(wù)器取得聯(lián)系,解決對沒有靜態(tài)DNS記錄的主機的名稱查詢問題. 示例,一個WINS資源記錄如下: @ IN WINS 192.168.1.100 為了使DNS和WINS合作,在Microsoft的DNS服務(wù)器配置中選擇相應(yīng)域的properties記錄,并且在WINS LOOKUP標簽中啟用WINS解決. 由于采用了非標準的資源記錄,大多數(shù)其他DNS并不支持這種資源記錄,如非Microsoft dns的計算機企圖從有DNS-WINS資源記錄的microsoft的DNS服務(wù)器中進行區(qū)傳送時,那么,該計算機就很可能出錯. DNS故障診斷 大多數(shù)DNS故障的原因是配置文件的語法錯誤,或者是對錯誤的計算機分配了錯誤的地址.當進行DNS故障診斷時,參照下面的指導(dǎo)方針. 對全部記錄,檢查和確認主機名稱的拼寫.記住絕對地址是以"."結(jié)尾. 如果在區(qū)文件中作了任何修改,務(wù)必修改SOA記錄中的序列號.這將保證服務(wù)器正確地重新上載文件. 確定輸入到主區(qū)的名稱和IP地址匹配反向指針文件中的反向指針信息. Microsoft的DNS服務(wù)器采用了非標準的資源記錄,可能會導(dǎo)致問題 |
|