选择显示字体大小

freebsd 5.2上安装配置dns server(bind 9)


  ----文 / 重庆.樊礼(梦飞)

欢迎转载﹐本文遵循gnu协议规则﹗

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 {
#       .net 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就可以顺利运行了,请按下面的步骤测试吧!

/usr/local/sbin/named -g bind -c /usr/local/etc/named.conf &

& 的作用是在后台运行

-c的作用是以指定的配置文件运行

-g的作用是以一个用户组名初使化,屏幕上面也会显示很多调试信息出来,我的如下:

freebsd# /usr/local/sbin/named -gc /usr/local/etc/named.conf &
[1] 730
feb 17 20:20:36.892 starting bind 9.2.3 -gc /usr/local/etc/named.conf
feb 17 20:20:36.892 using 1 cpu
feb 17 20:20:36.894 loading configuration from '/usr/local/etc/named.conf'
feb 17 20:20:36.894 listening on ipv4 interface fxp0, 192.168.0.19#53
feb 17 20:20:36.895 listening on ipv4 interface lo0, 127.0.0.1#53
freebsd# feb 17 20:20:36.896 command channel listening on 127.0.0.1#953
feb 17 20:20:36.896 ignoring config file logging statement due to -g option
feb 17 20:20:36.898 zone 0.0.127.in-addr.arpa/in: loaded serial 20040217
feb 17 20:20:36.899 zone 1.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: loaded serial 20040217
feb 17 20:20:36.899 zone 1.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: loaded serial 20040217
feb 17 20:20:36.899 running


当你有看到running字样时,说明已经配置正确了,如果要控制bind 9的运行,更方便的使用rndc命令来进行,比如检测它的状态可以使用下面的命令:

/usr/local/sbin/rndc status

当显示如下信息时,可能会显示如下信息…

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

如果没有显示上面的信息,请检查你的/usr/local/etc/named.conf文件里面是否配置了/usr/local/etc/rndc.conf里面的key。

还有另外一种测试方法是:

nslook,dig.netstat 等命令,都可以观察是否安装bind成功,具体方法,建议大家找找其他资料吧,thx!

下面我们再把bind 9加入系统服务里面,让它每次开机时运行…

vi /etc/rc.conf

请在它后面加上下面几行

named_enable="yes"

named_program="/usr/local/sbin/named" # path to named, if you want a different one.
named_flags="-c /usr/local/etc/named.conf"   # flags for named


存盘退出!

因为freebsd 5.2系统里面自带了bind 8的,为了不引起冲突,我们必须加参数,用bind 9的配置文件引导才可以的。

好了,请重新启动一下你的freebsd 即可测试是否完全安装成功了。



结束语
至此为止,一般可以实际运作的bind 9就建立起来了,您可以reboot一下,让最新的设置及软件生效。
如果在安装过程中出现错误,您可以先检查完错误,再接着安装下去。或者你可以选择你感兴趣的某些部份安装!
当然因为时间仓促,涉及到的知识太广,加上本人能力有限,其中错误在所难免,恳请各位读者提出来,大家共同提高,共同进步!
我的联络方式是:
cqfanli@163.com

http://cqfanli.blogbus.com


──文 重庆.樊礼(梦飞)
2004/02/17


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons