欢迎您来到悍铭数据中心,开始互联网之旅!

新闻中心

FREEBSD 5.2上安装配置DNS SERVER(BIND 9)

 FREEBSD 5.2出来几个月了,一直想系统全面的学习一下它的新功能,但最近工作实在太忙,没有办法全面的学习。今天下午快下班时忙里偷闲,花了一个小时从新安装了一遍DNS SERVER ( BIND 9 ),怕自己以后忘记了,俗话说好记性不如烂笔头嘛,就记在自己的BLOG里面了…

准备工作:当然要安装FREEBSD,最好更新ports,如果不知道怎么更新,请参考我以前写和FREEBSD 升级优化大全,^_^

安装BIND9:

cd /usr/ports/dns/bind9 进入bind 9的目录

make install

运行安装程序,等硬盘响一阵时间后,系统就安装好了,方便吧,*^_^*。在安装完成后,BIND9会提醒你:"如果你使用FREEBSD 4.X。请浏览 http://people.freebsd.org/~dougb/randomness.html 得到更多的信息,如果是FREEBSD 5.X则不需要执行这一步,如果你想要BIND 9运行在chroot环境,必须把/dev/random设备chroot",它还提醒我们要运行" rndc-confgen -a "来生成一个正确的配置文件--随机密钥。系统是以/usr/local为根目录的,所以BIND9的命令文件都放到/usr/local/sbin目录里面和/usr/local/bin目录里面。系统在安装完成BIND 9后,会自动建立uid为53的" bind "用户和gid为53的" bind "群组,以供BIND服务用…

我喜欢FREEBSD的PORTS的强大功能,什么东西,只要make install就行啦,呵呵… LINUX还要满世界找RPM包或者源程序,我不喜欢…

PS:我个人认为,只要不是对效率要求十分高的环境下,我尽量不采用源代码编译,节约时间。如果我需要看它详细的编译命令,我可以通过读Makefile来获取信息!

安装好的BIND9,是不能直接运行的,还要让系统根据我们的需要配置一下…

配置BIND9:

BIND比较重要的配置文件有:named.conf,named.root,rndc.conf,还有/etc/named目录。因为默认的安装把named.conf,localhost.rev等内容安装在此目录下了(如果我记错了,麻烦大家更正一下),而rndc.conf则被放在了/usr/local/etc目录里面,名字叫rndc.conf.sample

mv /etc/named/named.conf /usr/local/etc/   如果我记错了,麻烦大家更正

cd /usr/local/etc 进入BIND 9的配置目录

vi named.conf 打开并编译named.conf,BIND 9 的配置文件


options {
directory "/etc/namedb"; // 工作目录
pid-file "/var/run/named/pid"; // 放pid文件到工作目录
};

......

请大家注意,这文件里面很多垃圾,自己要小心判断,不要编辑错误了,要不然你是无法正常运行BIND 9的。最后面那一段有/* 和 */注释的部份和前面内容意思相同,你可以根据需要使用:

zone "onlinecq.com" { //这是域名
type slave;
file "s/onlinecq.com.bak";
masters {
192.168.0.19;
};
};

zone "0.168.192.in-addr.arpa" {
type slave;
file "s/0.168.192.in-addr.arpa.bak";
masters {
192.168.0.19; //这是本机的IP
};
};


再使用 :wq 存盘退出,请注意刚才的配置"s/onlinecq.com.bak",我们并没有s目录,于是现在就建立并给权限吧…

mkdir /etc/namedb/s

chown bind:bind /etc/namedb/s

chmod 750 /etc/namedb/s

好了,然后我们再配置localhost.rev文件,一开始,该目录下面是不存在此文件的,但我们可以运行make-localhost,让系统自动生成该文件…

chmod 755 make-localhost 改变make-localhost脚本权限

./make-localhost

运行后/etc/named目录里面会自动产生 localhost.rev文件和localhost-v6.rev文件,localhost.rev文件是给IPv4使用的,而localhost-v6.rev文件是给IPv6使用的,暂时用不到…

这是我的localhost.rev文件的内容:


$TTL 3600

@ IN SOA freebsd.onlinecq.com. root.freebsd.onlinecq.com. (
20040217 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS freebsd.onlinecq.com.
1 IN PTR localhost.onlinecq.com.


OK,到此为止,/etc/named目录里面的操作完成…

再进入/usr/local/etc目录

cd /usr/local/etc

你会发现一个rndc.conf.sample的文件,这是一个rndc的样本文件,不用管它,我们自己生成一个即可:

/usr/local/sbin/rndc-confgen > rndc.conf

然后你会发现,当前目录有一个rndc.conf的密钥文件了,呵呵,如果你想看一下内容,也可以使用:

vi rndc.conf

查看一下,我的文件内容是这样子的:

# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "9lLye919/f2DTE cObb1kg==";
};

options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "9lLye919/f2DTE cObb1kg==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf


注意,请把后面以:

# Use with the following in named.conf, adjusting the allow list as needed:


开始的这一部份,加到/usr/local/etc/named.conf后面并去掉#才可以,否则后面的rndc status将显示超时退出...

嗯,到此为止,好象BIND 9就可以顺利运行了,请按下面的步骤测试吧!

香港云主机