由于现在centos升级包yum安装的配置现在直接升级bind安装有问题了,调试了很久不成功,不晓得啥问题,现在特自己单独写一份编译安装的方式,比较清晰说明

编译,指定安装目录,开启多线程支持

tar zxvf bind-9.6.1.tar.gz

cd bind-9.6.1

./configure --prefix=/usr/local/named --enable-threads

make

make install


开始配置bind,接下来的过程是让rndc来管理bind9.6.1

创建 rndc.conf文件,用bind自带程序生成

进入/usr/local/named/etc,将rndc.conf及named.conf生成


cd /usr/local/named

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


把rndc.conf 中的key信息输出到 named.conf 中

cd etc/

tail -10 rndc.conf | head -9 | sed -e s/#\ //g > named.conf

这里强调一下,rndc.conf与named.conf的key值必须完全一样,而且并不需要生


成rndc.key,这个问题纠缠了我大约3个小时

vim named.conf 在后面添加

options {

allow-query     { any; };

directory "/usr/local/named/var/named";

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "localhost.zone";

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

allow-transfer { 192.168.10.231; };

};

zone "swm.com" IN {

type master;

file "swm.zone";

allow-update { none; };

allow-transfer { 192.168.10.231; };

};

创建/usr/local/named/var/named文件夹

mkdir /usr/local/named/var/named

cd /usr/local/named/var/named

vim localhost.zone

写入如下内容

$TTL       86400

$ORIGIN localhost.

@                          1D IN SOA          @ root (

                                           42                 ; serial 


(d. adams)

                                           3H                 ; refresh

                                           15M                ; retry

                                           1W                 ; expiry

                                           1D )               ; minimum

                           1D IN NS           @

                           1D IN A            127.0.0.1

将跟服务器的信息导入到/usr/local/named/var/named/named.ca文件中

dig -t NS .>/usr/local/named/var/named/named.ca

创建文件named.local

vim named.local

$TTL       60

@          IN         SOA        localhost. root.localhost.  (

                                         2011060500 ; Serial

                                         60         ; Refresh

                                         60         ; Retry

                                         60         ; Expire

                                         60 )       ; Minimum

           IN         NS         localhost.

1          IN         PTR        localhost.

创建swm.zone

vim swm.zone

$TTL       60

@               IN SOA  swm.com.  root.swm.com. (

                              2011060500    ; serial (d. adams)

                              60            ; refresh

                              60            ; retry

                              60            ; expiry

                              60 )          ; minimum

                IN NS         dns.swm.com.

                IN MX   5     mail

www             IN      A     192.168.10.231


下面就可以启动bind来测试是否安装成功了

/usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf &

加-gc参数,可以显示出启动日志,以便排错

如果运行结果最后一行显示

Running

表明安装并启动成功。

测试rndc命令 /usr/local/named/sbin/rndc status

正确的话应该有状态提示

我一般是直接编辑vim /root/.bashrc加进一个

alias rndc9='/usr/local/named/sbin/rndc'


把named 添加到启动项,随操作系统一起启动。

# cd /etc/rc.d

# vim rc.local

在最后添加以下内容

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

#######################################################################


####

从的bind配置基本上一样,只是在

vim named.conf 在后面添加


options {

directory "/usr/local/named/var/named";

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "localhost.zone";

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

zone "swm.com" IN {

type slave;

file "slaves/swm.zone";

masters{192.168.10.55;};

};


注意:


如果需要允许外部对此dns进行查询,还需要named.conf里面options添加一条

allow-query     { any; };


具体样式是

options {

allow-query     { any; };

directory "/usr/local/named/var/named";

};