時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
盡管Linux在桌面計(jì)算的世界中還沒(méi)有取得引人注目的進(jìn)展,但作為網(wǎng)絡(luò)服務(wù)器它已經(jīng)小有名氣了。由于其出色的可靠性,我們可以放心地在Linux上運(yùn)行當(dāng)今Internet時(shí)代所必需的各種重要服務(wù)程序。由此,Linux最普遍的一些用途包括用作郵件服務(wù)器、Web服務(wù)器以及DNS服務(wù)器。
下面我們將研究怎樣在Red Hat Linux上使用BIND建立一個(gè)DNS服務(wù)器。BIND(Berkeley Internet Name Domain)是一個(gè)在UNIX/Linux系統(tǒng)上實(shí)現(xiàn)的域名解析服務(wù)軟件包。我們將學(xué)習(xí)在Linux上建立和運(yùn)行一個(gè)DNS服務(wù)器所需的安裝、初始配置以及系統(tǒng)設(shè)置等步驟。
在本文中我們用Red Hat作為示例,所以你也許希望使用BIND的RPM版本,可以通過(guò)搜索www.rpmfind.net找到它,因?yàn)槭褂肦PM形式的發(fā)行包是安裝BIND最簡(jiǎn)便的方法。下載了BIND的RPM之后,比如bind-9.1.0-10.i386.rpm,需要以超級(jí)用戶(hù)的身份執(zhí)行rpm -ivh bind-9.1.0-10.i386.rpm命令。在RPM安裝BIND時(shí)要注意檢查任何能夠?qū)е掳惭b失敗的缺失的依賴(lài)關(guān)系。
如果你更愿意從源碼包安裝的話,在下載如bind-9.1.3.tar.gz這樣的文件之后需要以超級(jí)用戶(hù)身份運(yùn)行tar xvfz bind-9.1.3.tar.gz命令對(duì)它進(jìn)行解壓。就本例而言會(huì)生成一個(gè)名為bind-9.1.3的目錄,它包含了進(jìn)行安裝所必需的所有文件。下一步,進(jìn)入這個(gè)新創(chuàng)建的目錄然后執(zhí)行./configure命令,在腳本程序完成所有配置工作后,運(yùn)行make,接著運(yùn)行make install完成安裝過(guò)程?,F(xiàn)在在你的系統(tǒng)中應(yīng)該已經(jīng)安裝好了基本配置的BIND,接下來(lái)要根據(jù)需要對(duì)它進(jìn)行調(diào)整。
配置BIND
當(dāng)系統(tǒng)中安裝好BIND之后,你就可以把它配置成多種方式。最常用的兩種之一是使用ISP類(lèi)型的設(shè)置,DNS服務(wù)器接受并解析來(lái)自任何人的請(qǐng)求(或者一組預(yù)先定義的用戶(hù));另一種是Web主機(jī)方式,服務(wù)器只解析對(duì)服務(wù)域名的請(qǐng)求。當(dāng)服務(wù)器的用途改變時(shí),你也可以隨時(shí)改變配置的類(lèi)型。
DNS服務(wù)器既可以是主控服務(wù)器也可以是輔助服務(wù)器。主控服務(wù)器也稱(chēng)為主服務(wù)器,是判定域名的最終來(lái)源。主控服務(wù)器同時(shí)也是傳送到輔助服務(wù)器的區(qū)傳送(zone transfer)的源頭。輔助服務(wù)器接收所有來(lái)自主控服務(wù)器的區(qū)信息。一個(gè)常見(jiàn)的錯(cuò)誤是試圖改變二級(jí)服務(wù)器上的區(qū)數(shù)據(jù)庫(kù)文件而沒(méi)有改變主控服務(wù)器上的區(qū)數(shù)據(jù)庫(kù)文件(zone file)。為什么要兩個(gè)服務(wù)器呢?在任何配置中使用冗余都是一個(gè)好主意,這是BIND和DNS的一個(gè)原生部分。幸運(yùn)的是,在機(jī)房中增加第二臺(tái)Linux機(jī)器作為輔助DNS服務(wù)器一般來(lái)說(shuō)不會(huì)影響你的預(yù)算。
要記住當(dāng)有兩種類(lèi)型的服務(wù)器時(shí),主控服務(wù)器也可以同時(shí)擔(dān)當(dāng)其他域的輔助服務(wù)器。在大多數(shù)ISP環(huán)境當(dāng)中都可以看到這種情形,客戶(hù)擁有自己的主控DNS服務(wù)器,同時(shí)又出于備份的目的把ISP當(dāng)作二級(jí)服務(wù)器。這種類(lèi)型的配置以及BIND中幾乎所有的其他配置項(xiàng)都是通過(guò)named.conf文件完成的。這個(gè)文件以純文本的形式存放各服務(wù)器信息和區(qū)信息。如表A所示。
named.conf 文件示例
options {
notify-source 10.0.0.2;
pid-file "/var/run/named.pid";
};
zone "." {
type master;
file "root.db";
};
zone "example.com" {
type master;
file "/var/named/sample.com.zone";
};
DNS服務(wù)器有多種可用的選項(xiàng),如果你需要某種特殊的安裝方式,我建議你通讀一遍附帶的文檔。上面的例子中notify-source指明服務(wù)器把區(qū)變動(dòng)通知(NOTIFY)消息發(fā)送到什么地方,當(dāng)主控服務(wù)器檢測(cè)到區(qū)數(shù)據(jù)庫(kù)文件發(fā)生變動(dòng)時(shí)就會(huì)向輔助服務(wù)器發(fā)出這樣的消息。pid-file選項(xiàng)只是告訴守護(hù)進(jìn)程(daemon)服務(wù)器寫(xiě)入ID信息的路徑,通常是/var/run/named.pid,但如果你重新設(shè)置了目錄的布局的話也可以根據(jù)需要對(duì)其進(jìn)行更改。
上面的例子中第一個(gè)區(qū)登記項(xiàng)用來(lái)通知BIND在何處定位根服務(wù)器的信息。服務(wù)器發(fā)送和接收的不僅是你自己的域信息同時(shí)也包括Internet上所有的域信息。并不是每個(gè)服務(wù)器上都有每個(gè)域名的登記項(xiàng),但每個(gè)服務(wù)器都知道怎樣獲取信息。當(dāng)然,由于列表會(huì)定期更新,所以也應(yīng)當(dāng)定期作記錄。
在named.conf示例文件中第二個(gè)區(qū)登記項(xiàng)是一個(gè)"主控"域項(xiàng),意思是這個(gè)DNS服務(wù)器保存著example.com的有效信息, Internet上其他所有的DNS服務(wù)器都將用它來(lái)參照任何與這個(gè)域相關(guān)的信息。Example.com項(xiàng)引用/var/named/sample.com.zone這個(gè)文件。這是一個(gè)純文本文件,它告訴DNS服務(wù)器所有有關(guān)example.com的信息,包括serial值、刷新率、所有的DNS紀(jì)錄以及其他一些項(xiàng)目。表B顯示了這個(gè)區(qū)數(shù)據(jù)庫(kù)文件的示例。
DNS區(qū)數(shù)據(jù)庫(kù)文件示例
@ IN SOA ns1.sample.com. (
200101111 ;serial
14400 ;refresh after 4 hours
3600 ;retry after 1 hour
604800 ;expire after 1 week
86400) ;minimum TTL of 1 day
;
;Nameservers
;
IN NS ns1.sample.com. ;
IN NS ns2.sample.com. ;
;
;Domain Mail Handlers
;
sample.com. IN MX 10 mail
;
;Hosts in order
;
www IN A 212.204.219.71
ftp IN A 212.204.219.71
mail IN A 212.204.219.71
pop IN CNAME mail
SOA是Start of Authority的縮寫(xiě),所有區(qū)文件都要以它打頭。順序號(hào)(serial)使服務(wù)器能夠紀(jì)錄所進(jìn)行過(guò)的各次更新,守護(hù)進(jìn)程最近一次啟動(dòng)后只要數(shù)字出現(xiàn)了增長(zhǎng),它就會(huì)重新把信息讀入到數(shù)據(jù)庫(kù)中去。舉例來(lái)說(shuō),你可以從0開(kāi)始然在每次更新之后加讓一個(gè)數(shù)字,也可以使用日期項(xiàng)如200101111。這很有用,因?yàn)樗屇隳軌蚩醋罱囊淮胃碌陌l(fā)生并且看出一天是否發(fā)生過(guò)多次更新。接下來(lái)的四行以秒的形式處理刷新和超時(shí)周期,如果BIND數(shù)據(jù)庫(kù)沒(méi)有發(fā)生過(guò)人工或者服務(wù)器范圍的刷新,服務(wù)器會(huì)自動(dòng)的重新讀入信息。不需要經(jīng)常改變此處所列出的數(shù)值,只有由于某種原因域非常頻繁地改變它們的信息時(shí)才需要對(duì)這些數(shù)值進(jìn)行更改。接著列出的是域名,這樣BIND就會(huì)知道是誰(shuí)控制整個(gè)域。
接著列出的是MX紀(jì)錄,,它使服務(wù)器知道當(dāng)有郵件信息請(qǐng)求sample.com時(shí)應(yīng)當(dāng)發(fā)出什么信息,在本例中,mail.samle.com的優(yōu)先級(jí)是10。你可以列出多個(gè)MX紀(jì)錄作為郵件服務(wù)器的備份。數(shù)字越小優(yōu)先級(jí)越高。要注意的是還有一個(gè)相應(yīng)的A紀(jì)錄給出了mail.sample.com的IP地址,這是必不可少的,這樣DNS服務(wù)器就可以知道怎樣根據(jù)域直接把郵件請(qǐng)求發(fā)往何處。一個(gè)A紀(jì)錄僅僅是把IP地址賦給一個(gè)子域項(xiàng),如www、mail、ftp或者ns,這些都必須用上面的格式錄入,而且必須與一個(gè)IP地址相關(guān)聯(lián)。比如說(shuō),當(dāng)某個(gè)用戶(hù)請(qǐng)求www.sample.com時(shí),他將會(huì)被指向該域所在的Web服務(wù)器的IP地址212.104.219.71。
上面的例子中還有一個(gè)CNAME項(xiàng),CNAME是指canonical name,用于指定IP地址的別名,使用這些別名時(shí)還是要回過(guò)頭參考已經(jīng)使用過(guò)的A紀(jì)錄。
輔助服務(wù)器部分看過(guò)name.conf中的主控服務(wù)器部分后我們?cè)賮?lái)看看輔助服務(wù)器部分: zone "sample2.com" {
type slave;
file "/var/named/sample2.com.zone";
master { 10.0.0.1; };
最主要的兩個(gè)區(qū)別一是type項(xiàng),它既可以是master也可以使slave,二是IP地址指定的是主控DNS服務(wù)器。其他的都和Master項(xiàng)相同。
啟動(dòng)BIND
用于啟動(dòng)DNS服務(wù)的程序是named,讀作"name D"。你可以通過(guò)執(zhí)行/etc/rc.d/init.d/named start命令來(lái)運(yùn)行這個(gè)程序。如果服務(wù)器已經(jīng)處于運(yùn)行狀態(tài),你可以用restart命令。這個(gè)腳本程序應(yīng)該是在安裝時(shí)放進(jìn)正確的目錄中的,它在啟動(dòng)時(shí)運(yùn)行以初始化服務(wù)器。你總是應(yīng)當(dāng)用ps aux命令檢查一下named是否已經(jīng)運(yùn)行,這個(gè)命令會(huì)列出當(dāng)前所有進(jìn)程的清單。
關(guān)鍵詞標(biāo)簽:linux,DNS服務(wù)器
相關(guān)閱讀
熱門(mén)文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶(hù)端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤(pán)序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷(xiāo) 命令 查看linux服務(wù)器硬盤(pán)IO讀寫(xiě)負(fù)載