|
|
| FREEBSD5.2上安装配置DNSSERVER(BIND9) | | 发布日期:2005-3-28 浏览:425次 | | 关键字: | ----文/重庆.樊礼(梦飞)
欢迎转载﹐本文遵循GNU协议规则﹗
FreeBSD5.2出来几个月了,一直想系统全面的学习一下它的新功能,但最近工作实在太忙,没有办法全面的学习。今天下午快下班时忙里偷闲,花了一个小时从新安装了一遍DNSSERVER(BIND9),怕自己以后忘记了,俗话说好记性不如烂笔头嘛,就记在自己的BLOG里面了…
准备工作:当然要安装FREEBSD,最好更新ports,如果不知道怎么更新,请参考我以前写和FREEBSD升级优化大全,^_^
安装BIND9:
cd/usr/ports/dns/bind9进入bind9的目录
makeinstall
运行安装程序,等硬盘响一阵时间后,系统就安装好了,方便吧,*^_^*。在安装完成后,BIND9会提醒你:"如果你使用FREEBSD4.X。请浏览http://people.freebsd.org/~dougb/randomness.html得到更多的信息,如果是FREEBSD5.X则不需要执行这一步,如果你想要BIND9运行在chroot环境,必须把/dev/random设备chroot",它还提醒我们要运行"rndc-confgen-a"来生成一个正确的配置文件--随机密钥。系统是以/usr/local为根目录的,所以BIND9的命令文件都放到/usr/local/sbin目录里面和/usr/local/bin目录里面。系统在安装完成BIND9后,会自动建立uid为53的"bind"用户和gid为53的"bind"群组,以供BIND服务用…
我喜欢FREEBSD的PORTS的强大功能,什么东西,只要makeinstall就行啦,呵呵…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进入BIND9的配置目录
vinamed.conf打开并编译named.conf,BIND9的配置文件
options{ directory"/etc/namedb";//工作目录 pid-file"/var/run/named/pid";//放pid文件到工作目录 };
......
请大家注意,这文件里面很多垃圾,自己要小心判断,不要编辑错误了,要不然你是无法正常运行BIND9的。最后面那一段有/*和*/注释的部份和前面内容意思相同,你可以根据需要使用:
zone"onlinecq.com"{//这是域名 typeslave; file"s/onlinecq.com.bak"; masters{ 192.168.0.19; }; };
zone"0.168.192.in-addr.arpa"{ typeslave; 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
chownbind:bind/etc/namedb/s
chmod750/etc/namedb/s
好了,然后我们再配置localhost.rev文件,一开始,该目录下面是不存在此文件的,但我们可以运行make-localhost,让系统自动生成该文件…
chmod755make-localhost改变make-localhost脚本权限
./make-localhost
运行后/etc/named目录里面会自动产生localhost.rev文件和localhost-v6.rev文件,localhost.rev文件是给IPv4使用的,而localhost-v6.rev文件是给IPv6使用的,暂时用不到…
这是我的localhost.rev文件的内容:
$TTL3600
@INSOAfreebsd.onlinecq.com.root.freebsd.onlinecq.com.( 20040217;Serial 3600;Refresh 900;Retry 3600000;Expire 3600);Minimum INNSfreebsd.onlinecq.com. 1INPTRlocalhost.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的密钥文件了,呵呵,如果你想看一下内容,也可以使用:
virndc.conf
查看一下,我的文件内容是这样子的:
#Startofrndc.conf key"rndc-key"{ algorithmhmac-md5; secret"9lLye919/f2DTE cObb1kg=="; };
options{ default-key"rndc-key"; default-server127.0.0.1; default-port953; }; #Endofrndc.conf
#Usewiththefollowinginnamed.conf,adjustingtheallowlistasneeded: #key"rndc-key"{ #algorithmhmac-md5; #secret"9lLye919/f2DTE cObb1kg=="; #}; # #controls{ #inet127.0.0.1port953 #allow{127.0.0.1;}keys{"rndc-key";}; #}; #Endofnamed.conf
注意,请把后面以:
#Usewiththefollowinginnamed.conf,adjustingtheallowlistasneeded:
开始的这一部份,加到/usr/local/etc/named.conf后面并去掉#才可以,否则后面的rndcstatus将显示超时退出...
嗯,到此为止,好象BIND9就可以顺利运行了,请按下面的步骤测试吧!
/usr/local/sbin/named-gbind-c/usr/local/etc/named.conf&
&的作用是在后台运行
-c的作用是以指定的配置文件运行
-g的作用是以一个用户组名初使化,屏幕上面也会显示很多调试信息出来,我的如下:
freebsd#/usr/local/sbin/named-gc/usr/local/etc/named.conf& [1]730 Feb1720:20:36.892startingBIND9.2.3-gc/usr/local/etc/named.conf Feb1720:20:36.892using1CPU Feb1720:20:36.894loadingconfigurationfrom'/usr/local/etc/named.conf' Feb1720:20:36.894listeningonIPv4interfacefxp0,192.168.0.19#53 Feb1720:20:36.895listeningonIPv4interfacelo0,127.0.0.1#53 freebsd#Feb1720:20:36.896commandchannellisteningon127.0.0.1#953 Feb1720:20:36.896ignoringconfigfileloggingstatementdueto-goption Feb1720:20:36.898zone0.0.127.IN-ADDR.ARPA/IN:loadedserial20040217 Feb1720:20:36.899zone1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA/IN:loadedserial20040217 Feb1720:20:36.899zone1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT/IN:loadedserial20040217 Feb1720:20:36.899running
当你有看到running字样时,说明已经配置正确了,如果要控制BIND9的运行,更方便的使用rndc命令来进行,比如检测它的状态可以使用下面的命令:
/usr/local/sbin/rndcstatus
当显示如下信息时,可能会显示如下信息…
numberofzones:5 debuglevel:0 xfersrunning:0 xfersdeferred:0 soaqueriesinprogress:0 queryloggingisOFF serverisupandrunning
如果没有显示上面的信息,请检查你的/usr/local/etc/named.conf文件里面是否配置了/usr/local/etc/rndc.conf里面的key。
还有另外一种测试方法是:
nslook,dig,netstat等命令,都可以观察是否安装BIND成功,具体方法,建议大家找找其他资料吧,THX!
下面我们再把BIND9加入系统服务里面,让它每次开机时运行…
vi/etc/rc.conf
请在它后面加上下面几行
named_enable="YES"
named_program="/usr/local/sbin/named"#pathtonamed,ifyouwantadifferentone. named_flags="-c/usr/local/etc/named.conf"#Flagsfornamed
存盘退出!
因为FREEBSD5.2系统里面自带了BIND8的,为了不引起冲突,我们必须加参数,用BIND9的配置文件引导才可以的。
好了,请重新启动一下你的FREEBSD即可测试是否完全安装成功了。
结束语 至此为止,一般可以实际运作的BIND9就建立起来了,您可以reboot一下,让最新的设置及软件生效。 如果在安装过程中出现错误,您可以先检查完错误,再接着安装下去。或者你可以选择你感兴趣的某些部份安装! 当然因为时间仓促,涉及到的知识太广,加上本人能力有限,其中错误在所难免,恳请各位读者提出来,大家共同提高,共同进步! 我的联络方式是: cqfanli@163.com
http://cqfanli.blogbus.com
──文 重庆.樊礼(梦飞) 2004/02/17
| | 关键字: |
|
|