|
這個是我用了周六一個上午的時間總結(jié)出的我在學(xué)習(xí)DNS期間的心得與體會,特與大家分享,也以此答謝冷風(fēng)和游魂站長的厚愛。把他獻(xiàn)給和我一樣的linux菜鳥們! DNS學(xué)習(xí)心得 徐俊暉(OICQ:19054300 linux菜鳥) DSN即domain name server也叫域名服務(wù)器,他是域名和IP地址相互轉(zhuǎn)換的一種服務(wù)器。對于初學(xué)者來說是一個很難理解的問題。本人在DNS的學(xué)習(xí)中深有體會,百受折磨。特把自己在學(xué)習(xí)DNS中的心得奉獻(xiàn)給哪些linux菜鳥們。 域名服務(wù)(DNS)是Internet的核心,沒有DNS,人們使用Internet將會非常困難,對于服務(wù)器管理員來說,理解DNS運行方法和掌握把Red Hat Linux系統(tǒng)配置為DNS服務(wù)器的方法非常重要。你或許已經(jīng)知道Internet使用協(xié)議(IP)。換句話說,在Internet上的所有計算機都有唯一的IP地址,并且來自和去往每個計算機的全部通信都要使用IP進(jìn)行傳輸。與此類似的是公共電話網(wǎng)。每個電話都有自己唯一的電話號碼。要打電話必須知道對方的電話號碼。同樣,為了在Internet上為了進(jìn)行能夠交流,需要IP地址。但是人們一般討厭記憶特別大的數(shù)字。因此有必要實現(xiàn)更簡單的交流方法。DNS填補了這個空白。 使用DNS一定要明白你是否需要DNS?;蛘甙涯愕姆?wù)器配置為遠(yuǎn)程ISP的DNS服務(wù)器的客戶端。下面將介紹如何將一臺服務(wù)器配置為DNS客戶端簡單點說如何讓你的服務(wù)器能夠上網(wǎng)。這里需要的文件是一個叫解析器的配置文件。 Ⅰ DNS客戶端的配置 一./etc/resolv.conf 配置這個文件非常簡單,你可以在進(jìn)行服務(wù)器安裝過程中進(jìn)行設(shè)置,或者當(dāng)你遠(yuǎn)程的ISP的DNS不可用的時候需要手工改變這個文件。 # Default domain domain xxx.com # Default search list search xxx.com # First name server nameserver 202.97.224.68 # Second name server nameserver 211.99.24.85 這個文件以#為注釋行,不被系統(tǒng)所解釋,其中nameserver一般設(shè)置兩個,通常可以支持三個名字服務(wù)器。當(dāng)然可以把nameserver設(shè)置為在任意Internet上的域名服務(wù)器的IP地址。不過為了減少在域名解析中使用的時間,應(yīng)該使用最近的名字服務(wù)器IP地址,另外不要在解析器配置文件中未經(jīng)許可使用別人的域名服務(wù)器IP地址。如果你的解析器加重了別人域名服務(wù)器的負(fù)擔(dān),會被認(rèn)為是無禮并會吃官司。 二.當(dāng)然也可以在/etc/hosts文件硬編碼一個或多哥主機名的IP地址。該文件的形式為: IP address hostname shot-cut hostname 例如: 210.76.63.163 heb.col.com.cn heb 127.0.0.1 localhost localhost 這樣當(dāng)遠(yuǎn)程的DNS服務(wù)器不可以使用的時候,解析器能用該文件來解析地址。另外如果網(wǎng)絡(luò)較小那么不想運行本地的DNS就可以使用此文件來進(jìn)行解析地址。不過當(dāng)遠(yuǎn)程的DNS服務(wù)器和/etc/hosts都可以使用的時候解析器必須知道該按照什么樣的順序進(jìn)行處理DNS查詢這樣我們就涉及到了另外的一個文件/etc/host.conf 三:/etc/host.conf order hosts,bind 如果/etc/hosts.conf文件有order命令行的話,解析器首先使用/etc/hosts文件為查詢提供服務(wù),并且如果這個文件中沒有能被使用的入口,那么就使用在/etc/resolv.conf文件中規(guī)定的bind或者DNS服務(wù)器。如果你有大量的用戶,可以使用本地的DNS服務(wù)器而不是利用/etc/hosts文件提高DNS有關(guān)性能,這是因為對每個DNS請求進(jìn)行/etc/hosts文件讀取非常的浪費時間。一旦設(shè)置了上面的幾個文件你就可以ping互聯(lián)網(wǎng)上的任意一臺主機了。當(dāng)然在此之前你的服務(wù)器安裝應(yīng)該正確的,起碼網(wǎng)卡的安裝要正確。檢驗網(wǎng)卡的安裝是否正確可以ping自己的IP地址。但是運行自己的DNS服務(wù)器對管理非常有益。例如,如果擁有一個或者多個Internet域,就可以增加、刪除或者修改DNS記錄,下面我將把如何設(shè)置本地DNS服務(wù)器的心得告訴給大家。 Ⅱ 本地服務(wù)器如何配置DNS。 在一些比較普遍的DNS服務(wù)器上我們只涉及主DNS服務(wù)器,所以在這里我們只介紹主DNS服務(wù)器的配置方法,當(dāng)然我們可以隨著要求的提高學(xué)習(xí)如何配置從DNS服務(wù)器,使用DNS服務(wù)器平衡負(fù)載。這里只是簡單的介紹一下。 一:主DNS服務(wù)器配置方法介紹。 如果在進(jìn)行服務(wù)器的安裝過程中選擇了完全安裝那么DNS就已經(jīng)在你的服務(wù)器上安家了,當(dāng)然如果在安裝服務(wù)器的時候疏忽了DNS那么也不用著急,我們可以從光盤中找到DNS的安裝軟件包,通過FTP把他長傳到你的服務(wù)器上。他的包名稱為(6.2)bind-8.2-6.i386.rpm 采用如下安裝方法rpm –ivh bind-8.2.6-2.i386.rpm BIND軟件帶有3個程序;/usr/sbin/named(名字服務(wù)器),/usr/sbin/named-zxfer(名字服務(wù)器的附帶程序),/usr/sbin/ndc(控制名字服務(wù)器的程序),和/usr/doc/bind-8.1-2/named-booot-conf.pl(把舊配置文件改變成新格式的perl腳本附件).理解DNS的配置基礎(chǔ)。BIND域名服務(wù)器named的主要配置文件為/etc/named.conf.在DNS啟動的時候他會讀取該文件來決定如何進(jìn)行工作的。 // 、#和/*是用來進(jìn)行注釋的。 我們常用的配置是: options { directory path_name; }; 當(dāng)然還有好多其他的選項,由于本人水平有限就不提供給大家了,我們只討論最常用的方法。 這個選項很重要。通常是用于指定服務(wù)器的工作目錄,服務(wù)器工作目錄是保存全部域或區(qū)域特有文件的地方。 通常是(注意一定要用絕對路徑否則會被認(rèn)為是服務(wù)器啟動的當(dāng)前目錄) options { directory “/var/named”; }; zone區(qū)域聲明。除了選項聲明之外 ,在任何的named.conf上都必須有區(qū)域聲明。通常有三種聲明類型。 1. 主要區(qū)域聲明 zone “” { type master; file “db.”; } 這里名字服務(wù)器配置為主名字服務(wù)器。File后面是用來指定區(qū)域特有的配置文件名,他必須在指定路徑/var/named下。 2. 從域名服務(wù)器 我們可以把一臺服務(wù)器配置成從域名服務(wù)器。這樣當(dāng)主域名服務(wù)器出現(xiàn)故障的時候從域名服務(wù)器可以擔(dān)當(dāng)起主服務(wù)器的職責(zé)。他就象UPS一樣。 zone “xujh.com” { type slave; masters {210.76.62.223;}; file “db.xujh.com”; }; 這里xujh.com被設(shè)置為從服務(wù)器。主服務(wù)器用IP地址表示。這樣從服務(wù)器就會從主服務(wù)器地址聯(lián)系更新他的區(qū)域拷貝。 3.高速緩存DNS服務(wù)器。 Zone “.”{ Type hint; File “named.ca”; }; 從技術(shù)的角度講,所有的DNS服務(wù)器都是使用高速緩存的服務(wù)器。這樣可以加速訪問的速度。也就是當(dāng)客戶進(jìn)行DNS查詢時可以直接從緩存中取出IP地址反饋給客戶。 以上是三種服務(wù)器的類型,也就是在/etc/named.conf配置文件中我們經(jīng)常使用的類型。當(dāng)然我們通常使用的是第一種和第三種。例如,如下是一個主DNS服務(wù)器的配置文件。 /etc/named.conf options { directory “/var/named”; }; zone “.”{ type hint; file “named.ca”; }; zone “0.0.127.in-addr.arpa”{ type master; file “named.local”; }; zone “”{ type master; file “db.”; }; zone “63.76.210.in-addr.arpa”{ type master; file “db.210.76.62.223”; }; 在上面的例子中你會發(fā)現(xiàn)一個區(qū)域為zone “0.0.127.in-addr.arpa”和zone “63.76.162.in-addr.arpa” 不要驚奇,剛才忘了介紹。因為在前面我們已經(jīng)提到了DNS是域名和IP地址之間的相互轉(zhuǎn)換,所以如果當(dāng)我們知道一個主機的IP地址的時候想獲得這臺機器的主機名那么我們就用到了上面的兩個區(qū)域文件,他們通常被稱為是反向DNS解析也就是IP到域名的轉(zhuǎn)換。要注意的是特殊的區(qū)域名字(0.0.127)是對本機localhost 的解析。反向解析要求的是把網(wǎng)絡(luò)數(shù)字反向DNS區(qū)域。 下面我們將介紹/var/named下的區(qū)域文件的配置方法。 對于上面的例子來說,服務(wù)器的/var/named下應(yīng)該具備的文件是 named.ca、named.local、db.、db.210.76.62.223 我們拿db.區(qū)域文件來講解區(qū)域文件的配置 db. @ IN SOA . root..{ 2001031818; serial 28800;refresh 14400;retry 3600000;expire 86400 ;default_ttl } @ IN NS 5 http://www.. IN MX mail.. http://www.. IN A 210.76.62.223 mail.. IN A 210.76.62.223 ftp.. CNAME http://www.. SOA:為授權(quán)的開始記錄用來表示區(qū)域的啟動。第一欄是名字欄。該欄總是被設(shè)置為@,并且在相同的文件中別的資源記錄不能重復(fù)。被用來指定當(dāng)前的名字服務(wù)器的主機名,root.是用來為區(qū)域指定系統(tǒng)管理員的電子信箱地址也可以用root@.來指定。注意后面的點一定不要省略。serial是該區(qū)域文件的版本號。通常使用YYYYMMMMDDNNNN 格式的數(shù)字,也表明此文件最后修改的時間。要注意的是每次的修改一定要改變此號碼,這樣才能被服務(wù)器所認(rèn)為已經(jīng)修改了這個配置文件,本人在這個地方受了很多的折磨。Refresh和從名字服務(wù)器有關(guān)系,即要多長時間從名字服務(wù)器需要和主名字服務(wù)器聯(lián)系然后比較是否需要更新從名字服務(wù)器信息。Retry表示由于外部的問題,從名字服務(wù)器重新傳輸一個失敗的區(qū)域前要等待的時間.expire是從名字服務(wù)器使用區(qū)域數(shù)據(jù)有效期的上限值。Minimum是指在區(qū)域文件中沒有指定壽命的資源記錄上壽命(TTL的強制最低限度)所以每個區(qū)域文件必須只有1個SOA記錄。 @ IN NS http://www..用來指明該www.是該區(qū)域文件的名字服務(wù)器,可以指定多個NS記錄。實際上應(yīng)該有兩個NS記錄一個為主一個為從。MX記錄是該區(qū)域文件的郵件交換,用來指定為域的SMTP郵件服務(wù)器的主機名。5這個數(shù)值稱為preference只有在存在一個或者多個郵件服務(wù)器的時候才起作用。也叫優(yōu)先級。CNAME:規(guī)范命名記錄,指定規(guī)范主機名的別名也就是ftp.和www.是同一個主機的意思。 一般情況下named.ca和named.local不用設(shè)置。這里不做介紹了。讓我們來看看反向解析的配置文件吧。我們用db.210.76.62.223為例子。 @ IN . root.. { 2147836550;serial 28800;refresh 14400;retry 3600000;expire 86400;default_ttl } @ IN NS http://www.. 223 IN PTR http://www.. 這里我們主要介紹PTR,他是域名指針記錄用來把主機名翻譯為IP地址。也就是反向域名服務(wù)。 三:從/輔DNS服務(wù)器配置。 配置這樣的服務(wù)器很簡單。唯一需要修改的就是/etc/named.co比如我有兩臺服務(wù)器,其中一個是www.(主)另外的是www.webstage.com(從),那么我應(yīng)該做的是在從服務(wù)器上在/etc/named.conf中創(chuàng)建類似以下的區(qū)域聲明: zone “webstage.com”{ type slave; file “db.webstage.com”; }; 因為他是從名字服務(wù)器所以我們并不用手工建立db.webstage.com我們可以利用 named-xfer –z db.webstage.com –f db.webstage.com \ -s 0 http://www. -z 選項用來說明區(qū)域命名,-f選項用來指定區(qū)域文件名,-s選項用來指定信息當(dāng)前存在的名字服務(wù)器。這樣我們就創(chuàng)建了db.webstage.com了,我們把他拷貝到webstage.com的/var/named中我們就做完了從DNS服務(wù)器的配置了。 四:使用DNS服務(wù)器平衡負(fù)載 這種想法是在多哥同類服務(wù)器中共享負(fù)載。他也叫循環(huán)域名服務(wù)。比如有兩臺服務(wù)器。www1.(192.168.0.1)和www2.(192.168.0.2),并且想使用循環(huán)DNS方法在兩個服務(wù)器上平衡www.的負(fù)載那么。就可以在區(qū)域文件中增加如下兩行: www1 IN A 192.168.0.1 www2 IN A 192.168.0.2 www IN A www1 www IN A www2 這樣如果我們ping http://www.的話我們可以看到192.168.0.1停止之后我們在ping http://www.我們會發(fā)現(xiàn)192.168.0.2了,但是這種方法雖然很好但是如果我們這兩臺服務(wù)器中有一臺出了故障那么他們并不知道這些所以會出現(xiàn)有的人可以瀏覽到網(wǎng)站而其他的人無法瀏覽網(wǎng)站。 五.DNS的控制 DNS的控制很簡單。在/etc/rc.d/init.d/named中可以進(jìn)行控制當(dāng)然我們可以創(chuàng)建一個叫SXXnamed的符號連接 Ln –s /etc/rc.d/named S55named 或者我們可以利用ndc start命令 重載DNS命令為:ndc reload不要忘記把SOA記錄中的序列號進(jìn)行修改。 終止DNS ndc stop 查看服務(wù)器的統(tǒng)計ndc stats 六.測試DNS服務(wù)器 nslookup 如果把你的服務(wù)器配置為主NDS服務(wù)器了,并且在/etc/resolv.conf中first nameserver已經(jīng)寫入了你的主服務(wù)器的IP那么這里會出現(xiàn) nslookup >210.76.62.223 >www. 您成功了嗎! |
|
|