实验环境

两台虚拟机BindM和BindS,装的系统都是centos6.3 minimal

 IP地址主机名hostname
主DNS服务器192.168.137.102bindm.cas.cn
从DNS服务器192.168.137.103binds.cas.cn
主机win7  

安装bind(针对bindm,binds)

1.让yum安装包保留在服务器上

[root@bindm grid]# vi /etc/yum.conf 
centos minimal Bind 主从服务器部署-LMLPHP

2.使用yum 安装Bind (主DNS)服务器;

[root@bindm grid]# yum -y install bind  bind-utils  bind-chroot

(注:新版本CentOS 6.x 已将chroot所需使用的目录,透过mount --bind的功能进行目录 链接了,故在CentOS 6.x中,根本无须切换到/var/named/chroot/了,只需按常规目录操 作 即可!)请cat /etc/sysconfig/named目录,其下是不是有“ROOTDIR="/var/named/chroot

3.修改resovl.conf解析和hosts

目的是为了提高域名解析效率,需要将主从DNS的地址写入到/etc/hosts,同时在/etc/resolv.conf文件中指定主从DNS地址。

[root@bindm etc]# vi resolv.conf

centos minimal Bind 主从服务器部署-LMLPHP

[root@bindm etc]# vi hosts

centos minimal Bind 主从服务器部署-LMLPHP

3、配置主DNS服务器

设置Bind配置文件

(1)设置主配置文件named.conf,其主要是设置DNS服务器能管理哪些区域(zone)以及对应文件名和存储路径;

[root@bindm etc]# vi /etc/named.conf 
listen-on port 53 { any; };

注销listen-on-v6 
allow-query     { any; };

centos minimal Bind 主从服务器部署-LMLPHP

注意:name.conf文件最后include 两个文件 :

centos minimal Bind 主从服务器部署-LMLPHP

修改named.rfc1912.zones

[root@bindm etc]# vi named.rfc1912.zones

添加:

  1. zone "cas.cn" IN {
  2. type master;
  3. file "cas.cn";
  4. allow-transfer  {192.168.137.103;};
  5. };
  6. zone "137.168.192.in-addr.arpa" IN {
  7. type master;
  8. file "192.168.137.rev";
  9. allow-transfer  {192.168.137.103;};
  10. };

centos minimal Bind 主从服务器部署-LMLPHP

检查:[root@bindm etc]# named-checkconf

(2)建立区域文件,依据named.conf文件中指定的路径来建立区域文件,此文件主要记录该区域内的资料记录;

//正向解析配置文件:

centos minimal Bind 主从服务器部署-LMLPHP

//检查正向区域配置文件:

[root@bindm named]# named-checkzone cas.cn. /var/named/cas.cn

centos minimal Bind 主从服务器部署-LMLPHP

//反向解析配置文件:

[root@bindm named]# vi 192.168.137.rev

centos minimal Bind 主从服务器部署-LMLPHP

//检查反向区域配置文件:

[root@bindm named]# named-checkzone 137.168.192.in-addr.arpa. /var/named/192.168.137.rev
centos minimal Bind 主从服务器部署-LMLPHP

3)重新加载配置文件或重启named服务使用配置生效

[root@bindm named]# chkconfig --list named
[root@bindm named]# chkconfig named on
[root@bindm named]# chkconfig --list named
[root@bindm named]# chkconfig --add named
[root@bindm named]# service named restart

centos minimal Bind 主从服务器部署-LMLPHP

验证能否解析

  1. [root@bindm ~]# service named restart
  2. Stopping named: .                                          [  OK  ]
  3. Starting named:                                            [  OK  ]
  4. [root@bindm ~]# nslookup
  5. > 192.168.137.102
  6. Server:         192.168.137.102
  7. Address:        192.168.137.102#53
  8. 102.137.168.192.in-addr.arpa    name = bindm.cas.cn.
  9. 102.137.168.192.in-addr.arpa    name = mail.cas.cn.
  10. 102.137.168.192.in-addr.arpa    name = www.cas.cn.
  11. > bindm.cas.cn
  12. Server:         192.168.137.102
  13. Address:        192.168.137.102#53
  14. Name:   bindm.cas.cn
  15. Address: 192.168.137.102
  16. > mail.cas.cn
  17. Server:         192.168.137.102
  18. Address:        192.168.137.102#53
  19. Name:   mail.cas.cn
  20. Address: 192.168.137.102
  21. > www.cas.cn
  22. Server:         192.168.137.102
  23. Address:        192.168.137.102#53
  24. Name:   www.cas.cn
  25. Address: 192.168.137.102

centos minimal Bind 主从服务器部署-LMLPHP

防火墙配置

关闭防火墙

[root@bindm etc]# service iptables stop

设置为开机不启动防火墙chkconfig iptables off

  1. [root@bindm sysconfig]# service iptables stop
  2. iptables: Flushing firewall rules:                         [  OK  ]
  3. iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
  4. iptables: Unloading modules:                               [  OK  ]
  5. [root@bindm sysconfig]# service iptables status
  6. iptables: Firewall is not running.
  7. [root@bindm sysconfig]# chkconfig iptables off
  8. [root@bindm sysconfig]#

4.配置从DNS服务器

修改主配置文件named.conf

主要设置DNS服务器能管理哪些区域(zone)以及对应文件名和存储路径;

[root@binds etc]# vi /etc/named.conf

centos minimal Bind 主从服务器部署-LMLPHP

修改named.rfc1912.zones

[root@binds etc]# vi named.rfc1912.zones 
在文件最后添加以下内容:

  1. zone "cas.cn"   IN      {
  2. type slave;
  3. masters {192.168.137.102;};
  4. file "slaves/cas.cn";
  5. };
  6. zone "137.168.192.in-addr.arpa" IN {
  7. type slave;
  8. masters {192.168.137.102;};
  9. file "slaves/192.168.137.rev";
  10. };

检查并重启服务 :

[root@binds etc]# chkconfig --list named
[root@binds etc]# chkconfig named on
[root@binds etc]# chkconfig --list named
[root@binds etc]# chkconfig --add named
[root@binds etc]# service named restart

centos minimal Bind 主从服务器部署-LMLPHP

数据同步测试

经过上面重启从域名服务器named服务,使其与主域名服务器数据同步,成功后,在系统日志文件中可以看到下载区域数据库文件的记录,在"/var/named/chroot/var/named/slaves/” (/var/named/slaves/)目录中也可以看到自动保存的区域数据库文件。

动态跟踪日志记录:

[root@binds ~]# tail -f /var/log/messages

centos minimal Bind 主从服务器部署-LMLPHP

//用ll 查看/var/named/slaves/下,是否有自动保存的区域数据库文件

centos minimal Bind 主从服务器部署-LMLPHP

验证从域名服务器

centos minimal Bind 主从服务器部署-LMLPHP

dig测试

[root@bindm ~]# dig @localhost www.cas.cn
centos minimal Bind 主从服务器部署-LMLPHP

[root@binds ~]# dig @localhost mail.cas.cn
centos minimal Bind 主从服务器部署-LMLPHP

遇到问题

问题1:none:0: open: /etc/rndc.key: permission denied

解决方法:主从服务器执行命令(赋予rndc.key读取权限)

[root@binds etc]# chmod +r rndc.key

问题2:service named restart时, 停滞在Generating /etc/rndc.key,没有反应

解决方法:执行命令[root@binds etc]# rndc-confgen -r /dev/urandom -a,再重新执行service named restart即可.

05-11 18:00