架設(shè)dns全攻略
作者cpss http://cpss.zz.ha.cn
首先從 http://www.isc.org/products/BIND/ (version 9.2.2)下載bind,并如下將壓縮包解開。
tar -xzvpf bind-9.2.2rc1.tar.gz
然后,改變目錄至我們解壓產(chǎn)生的bind 原代碼目錄:
cd bind-9.2.2rc1
下一步,su成root用戶。
我們將bind安裝到“/usr/local/”目錄。如果沒有該目錄,就創(chuàng)建一個(gè):
mkdir /usr/local
bind使用autoconf, 所以編譯它是很容易的,如下:
./configure --prefix=/usr/local --mandir=/usr/local/share/man
大概幾分鐘時(shí)間,文件就配置好了。然后如下操作:
make
大約20分鐘,編譯工作可以完成。剩下的工作就是安裝(install)了。如下操作:
make install
這也需要幾分鐘時(shí)間。
當(dāng)安裝完畢后,bind并不能立即使用,這是因?yàn)檫€有些配置文件沒有配置。我們將舉些簡單的配置作為例子。
在標(biāo)準(zhǔn)安裝,有一個(gè) named.conf文件, 一個(gè)rndc.conf文件,和一個(gè)namedb 目錄,該目錄包含 localhost.rev文件。我們安裝這些到“/usr/local/etc”目錄。如果該目錄不存在,就先創(chuàng)建一個(gè):
mkdir /usr/local/etc
同樣,我們還需要?jiǎng)?chuàng)建一個(gè)“namedb”目錄:
mkdir /var/namedb
現(xiàn)在,我們編輯“named.conf”文件。我們以后可以添加更多的內(nèi)容,但現(xiàn)在它看起來是這樣的(我們可以從這里下載named.conf文件):
options {
directory "/var/namedb"; // 工作目錄
pid-file "named.pid"; // 放pid文件到工作目錄,否則pid文件在/var/run目錄
};
zone "." {
type hint;
file "named.root";
};
// 提供loopback地址127.0.0.1的反向地址映射
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
notify no;
};
zone "173.76.207.in-addr.arpa" in { type master; file "db.207.76.173";notify no; };
//注意上面和下面形式不同的例子實(shí)際上完成的是一樣的功能。
zone "bind.com" {
type master;
file "bind.com.zone";
notify no;
};
其中named.root(有時(shí)也稱為named.ca,都是指的同一個(gè)東西,大家的習(xí)慣不同嘛)中包含的是目前全球頂級(jí)域名服務(wù)器地址信息,該
文件有可能會(huì)隨著時(shí)間的推移而變得過時(shí)了,需要我們定期去網(wǎng)上更新。這里是internic提供的免費(fèi)下載的named.root,該文件的信息總是最新
的。
下面,我們創(chuàng)建localhost.rev文件。該文件看起來是這樣的:
$TTL 3600
@ IN SOA user1.bind.com. hostmaster.bind.com.
(
1 ; Serial ; Increment by one after every change
3600 ; Refresh every hour
900 ; Retry every 15 minutes
3600000 ; Expire 1000 hours
3600 ) ; Minimum 1 hour
IN NS nameserv1.bind.com.
IN NS nameserv2.bind.com.
1 IN PTR localhost.
你也可以下載localhost.rev文件,并將下載的文件放置到/var/namedb目錄中:
mv localhost.rev /var/namedb
你也可以下載地址解析文件的實(shí)例,從分析實(shí)例中得到學(xué)習(xí)。
下面我們創(chuàng)建rndc.conf文件,并用它補(bǔ)充named.conf文件。rndc.conf 文件可以通過程序自動(dòng)創(chuàng)建。我們先改變目錄至/usr/local/etc :
cd /usr/local/etc
然后,我們使用rndc-confgen產(chǎn)生該配置文件。由于Solaris 7的一個(gè)bug,我們需要鍵入一堆字母來產(chǎn)生rndc聯(lián)系bind使用的key(我在Solaris 8中安裝時(shí),是不需要的鍵入這些討厭的字母的)。命令格式如下:
/usr/local/sbin/rndc-confgen >; rndc.conf
一直鍵入直到console上提示“stop typing”為止。這將自動(dòng)產(chǎn)生rndc.conf 文件。rndc.conf文件也包括一些必須加入到named.conf的行。我們可以通過下面命令自動(dòng)將這些行加到named.conf文件中:
tail -n10 rndc.conf | head -n9 | sed -e s/#\ //g >;>; named.conf
現(xiàn)在,我們可以準(zhǔn)備運(yùn)行bind了。首先我們先在console上通過命令運(yùn)行:
/usr/local/sbin/named -gc /usr/local/etc/named.conf &
在出現(xiàn)一些信息后,將最后顯示一行為“running”。
使用如下命令:
/usr/local/sbin/rndc status
它將顯示我們服務(wù)器已經(jīng)運(yùn)行了,顯示如下:
number of zones: 5
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running
bind啟動(dòng)后,我們可以用rndc來控制bind的運(yùn)行、重新調(diào)配置文件,而不再需要野蠻地用kill對(duì)付bind了。
現(xiàn)在我們可以去設(shè)置dns服務(wù)器啟動(dòng)時(shí)自動(dòng)運(yùn)行,不需要我們開一個(gè)窗口去運(yùn)行它。我們可以在“/etc/rc2.d”目錄下做一個(gè)啟動(dòng)文件,這樣每次服務(wù)器啟動(dòng)時(shí)bind都會(huì)自動(dòng)啟動(dòng)起來。這個(gè)工作比較簡單,這里就不再贅述了。
ps :擅自把 cpss 兄的大作貼出來,望 cpss 兄見諒!:)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。