Centos 6.5下DNS服务器主从复制搭建及测试

一、实验环境及IP地址规划

    VMware Workstation 10.0, CentOS 6.5 X86系统

    主DNS服务器:192.168.1.102

    从DNS服务器:192.168.1.110

    www服务器:  192.168.0.102

                 192.168.0.103

    pop服务器:  192.168.0.109  

二、实验步骤

1、关闭网络防火墙及SElinux(主从DNS服务器上都要有此操作)

[root@junjie ~]# /etc/init.d/iptables stop
[root@junjie ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
(注意:此步骤不容忽略,否则会吃大亏,比如我在此就耗费大半天的时间)
[root@junjie ~]# setenforce 0
[root@junjie ~]# getenforce 
Permissive(或是disable也可以)

主DNS服务器的安装及配置

2、 安装DNS服务器

[root@junjie ~]# yum install bind bind-libs bind-utils -y
[root@junjie ~]# yum list all | grep ^bind
bind.i686                                32:9.8.2-0.17.rc1.el6_4.6         @Base
bind-libs.i686                           32:9.8.2-0.17.rc1.el6_4.6         @Base
bind-utils.i686                          32:9.8.2-0.17.rc1.el6_4.6         @Base
bind-chroot.i686                         32:9.8.2-0.17.rc1.el6_4.6         Base 
bind-devel.i686                          32:9.8.2-0.17.rc1.el6_4.6         Base 
bind-dyndb-ldap.i686                     2.3-5.el6                         Base 
bind-sdb.i686                            32:9.8.2-0.17.rc1.el6_4.6         Base

3、修改配置文件/etc/named.conf

[root@junjie ~]# mv /etc/named.conf /etc/named.conf.bak (先备份原始配置文件)
[root@junjie ~]# vi /etc/named.conf
  1 # named.conf
  2 options {
  3         directory       "/var/named";
  4         allow-recursion { 192.168.0.0/24; };
  5 
  6 };
  7 
  8 
  9 zone "." IN {
 10         type hint;
 11         file "named.ca";
 12 };
 13 
 14 zone "localhost" IN {
 15         type master;
 16         file "named.localhost";
 17         allow-transfer { none; };
 18 };
 19 
 20 zone "0.0.127.in-addr.arpa" IN {
 21         type master;
 22         file "named.loopback";
 23         allow-transfer { none; };
 24 };
 25 
 26 zone "junjie.com" IN {
 27         type master;
 28         file "junjie.com.zone";
 29         allow-transfer { 192.168.0.110; };
 30         
 31 };
 32 
 33 zone "0.168.192.in-addr.arpa" IN {
 34         type master;
 35         file "192.168.0.zone";
 36         allow-transfer { 192.168.0.110; };
 37         
 38 };

4、新建正反向解析文件并修改权限及属组

[root@junjie ~]# cd /var/named
[root@junjie named]# vi junjie.com.zone
1 $TTL 600
  2 junjie.com.     IN      SOA     ns1.junjie.com. admin.junjie.com. (
  3                         2015041601
  4                         1H
  5                         5M
  6                         2D
  7                         6H)
  8                 IN      NS      ns1
  9                 IN      NS      ns2
 10 ns1             IN      A       192.168.0.102
 11 ns2             IN      A       192.168.0.110
 12 www             IN      A       192.168.0.102
 13 www             IN      A       192.168.0.103
[root@junjie named]# vi 192.168.0.zone
1 $TTL 600
  2 @               IN      SOA     ns1.junjie.com. admin.junjie.com. (
  3                         2015041601
  4                         1H
  5                         5M
  6                         2D
  7                         6H)
  8                 IN      NS      ns1.junjie.com.
  9                 IN      NS      ns2.junjie.com.
 10 102             IN      PTR     ns1.junjie.com.
 11 110             IN      PTR     ns2.junjie.com.
 12 102             IN      PTR     www.junjie.com.
 13 103             IN      PTR     www.junjie.com.
[root@junjie named]# chmod 640 junjie.com.zone 192.168.0.zone
[root@junjie named]# chown root:named junjie.com.zone 192.168.0.zone
[root@junjie named]# ll junjie.com.zone 192.168.0.zone
-rw-r-----. 1 root named 366 Apr 12 07:02 192.168.0.zone
-rw-r-----. 1 root named 342 Apr 12 07:02 junjie.com.zone

5、启动主DNS服务器上的named服务

[root@junjie named]# rndc-confgen -r  /dev/urandom -a  (首先执行此步操作,否则启动DNS服务会卡住不动)
[root@junjie named]# service named start
Starting named:                                            [  OK  ]
[root@junjie named]# chkconfig named on  (将named服务设为开机自启动)
[root@junjie named]# chkconfig --list named
named          0:off1:off2:on3:on4:on5:on6:off

主DNS服务器的安装及配置

6、安装DNS服务器(同2、此处省略具体步骤)

7、修改配置文件/etc/named.conf

[root@localhost ~]# mv /etc/named.conf /etc/named.conf.bak (先备份原始配置文件)
[root@localhost ~]# vi /etc/named.conf
1 options {
  2         directory       "/var/named";
  3         allow-recursion { 192.168.0.0/24; };
  4 };
  5 
  6 zone "." IN {
  7         type hint;
  8         file "named.ca";
  9 };
 10 
 11 zone "localhost" IN {
 12         type master;
 13         file "named.localhost";
 14         allow-transfer { none; };
 15 };
 16 
 17 zone "0.0.127.in-addr.arpa" IN {
 18         type master;
 19         file "named.loopback";
 20         allow-transfer { none; };
 21 };
 22 
 23 zone "junjie.com" IN {
 24         type slave;
 25         file "slaves/junjie.com.zone";
 26         masters { 192.168.0.102; };
 27 };
 28 
 29 zone "0.168.192.in-addr.arpa" IN {
 30         type slave;
 31         file "slaves/192.168.0.zone";
 32         masters { 192.168.0.102; };
 33 };
 34

三、进行实验

8、启动从DNS服务器上的named服务

[root@localhost ~]# rndc-confgen -r  /dev/urandom -a  (首先执行此步操作,否则启动DNS服务会卡住不动)
[root@localhost ~]# service named start
Starting named:                                            [  OK  ]
[root@localhost ~]# chkconfig named on  (将named服务设为开机自启动)
[root@localhost ~]# chkconfig --list named
named          0:off1:off2:on3:on4:on5:on6:off

9、查看同步结果

[root@localhost ~]# cd /var/named/slaves/
[root@localhost slaves]# ls
192.168.0.zone  junjie.com.zone
[root@localhost slaves]# cat 192.168.0.zone
$ORIGIN .
$TTL 600	; 10 minutes
0.168.192.in-addr.arpa	IN     SOA	ns1.junjie.com. admin.junjie.com. (
                2015041601 ; serial
                3600       ; refresh (1 hour)
                300        ; retry (5 minutes)
                172800     ; expire (2 days)
                21600      ; minimum (6 hours)
                )
            NS	ns1.junjie.com.
            NS	ns2.junjie.com.
$ORIGIN 0.168.192.in-addr.arpa.
102	    PTR	    ns1.junjie.com.
        PTR	    www.junjie.com.
103	    PTR	    www.junjie.com.
110	    PTR	    ns3.junjie.com.
[root@localhost slaves]# cat junjie.com.zone 
$ORIGIN .
$TTL 600	; 10 minutes
junjie.com	IN     SOA	ns1.junjie.com. admin.junjie.com. (
                2015041601 ; serial
                3600       ; refresh (1 hour)
                300        ; retry (5 minutes)
                172800     ; expire (2 days)
                21600      ; minimum (6 hours)
                )
            NS	ns1.junjie.com.
            NS	ns2.junjie.com.
$ORIGIN junjie.com.
ns1	    A	192.168.0.102
ns2	    A	192.168.0.110
www	    A	192.168.0.102
          A	192.168.0.103

此时,看的以上两个文件已经自动从主服务器上同步到从服务器上,表明实验成功。

以后每次,主服务器上更新正反向解析文件的话,从服务器上的解析文件会自动与之同步。以下为验证过程:

首先,在主DNS服务器上更新junjie.com.zone和192.168.0.zone文件,分别添加如下内容:

[root@junjie named]# vi junjie.com.zone
  1 $TTL 600
  2 junjie.com.     IN      SOA     ns1.junjie.com. admin.junjie.com. (
  3                         2015041602
  4                         1H
  5                         5M
  6                         2D
  7                         6H)
  8                 IN      NS      ns1
  9                 IN      NS      ns2
 10 ns1             IN      A       192.168.0.102
 11 ns2             IN      A       192.168.0.110
 12 www             IN      A       192.168.0.102
 13 www             IN      A       192.168.0.103
 14 pop             IN      A       192.168.0.109
[root@junjie named]# vi 192.168.0.zone
  1 $TTL 600
  2 @               IN      SOA     ns1.junjie.com. admin.junjie.com. (
  3                         2015041601
  4                         1H
  5                         5M
  6                         2D
  7                         6H)
  8                 IN      NS      ns1.junjie.com.
  9                 IN      NS      ns2.junjie.com.
 10 102             IN      PTR     ns1.junjie.com.
 11 110             IN      PTR     ns2.junjie.com.
 12 102             IN      PTR     www.junjie.com.
 13 103             IN      PTR     www.junjie.com.
 14 109             IN      PTR     pop.junjie.com.
[root@junjie named]# service named restart

然后,在从DNS服务器上查看这两个解析文件192.168.0.zone和junjie.com.zone

 [root@localhost slaves]# cat 192.168.0.zone 
$ORIGIN .
$TTL 600; 10 minutes
0.168.192.in-addr.arpa    IN     SOA    ns1.junjie.com. admin.junjie.com. (
                        2015041602 ; serial
                        3600       ; refresh (1 hour)
                        300        ; retry (5 minutes)
                        172800     ; expire (2 days)
                        21600      ; minimum (6 hours)
                        )
            NSns1.junjie.com.
            NSns2.junjie.com.
$ORIGIN 0.168.192.in-addr.arpa.
102        PTR    ns1.junjie.com.
           PTR    www.junjie.com.
103        PTR    www.junjie.com.
109        PTR    pop.junjie.com.
110        PTR    ns2.junjie.com.
[root@localhost slaves]# cat junjie.com.zone 
$ORIGIN .
$TTL 600; 10 minutes
junjie.com    IN     SOA    ns1.junjie.com. admin.junjie.com. (
                        2015041602 ; serial
                        3600       ; refresh (1 hour)
                        300        ; retry (5 minutes)
                        172800     ; expire (2 days)
                        21600      ; minimum (6 hours)
                        )
            NSns1.junjie.com.
            NSns2.junjie.com.
$ORIGIN junjie.com.
ns1        A    192.168.0.102
ns2        A    192.168.0.110
pop        A    192.168.0.109
www        A    192.168.0.102
                A192.168.0.103

可以看到,在主服务器更新的数据、序列号,在从服务器上都自动更新过来了,表明验证成功。

原创文章,作者:蝙蝠侠•杰,如若转载,请注明出处:http://www.178linux.com/3376

(2)
上一篇 2015-04-18 16:41
下一篇 2015-04-19 09:52

相关推荐

  • Linux的文本处理工具及grep正则表达式的使用

    文本处理工具及grep正则表达式的使用 本章节学习的内容: 1、各种文本工具来查看、分析、统计文本文件 2、grep正则表达式 3、扩展正则表达式 一、抽取文本的工具: 1、按文件内容:less和cat 2、按文件截取:head和tail 3、按列抽取:cut 4、按关键字抽取:grep 二、文件查看命令:cat, tac,rev 1、命令cat: (1)文…

    Linux干货 2016-08-05
  • IO重定向和管理及管道

    IO重定向   通常对程序来讲,输入输出数据可以是键盘、鼠标、显示器等;IO重定向就是将原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器输出而是希望输入到某以文件中的可以通过Linux重定向进行这项工作。  IO重定向和FD(File Descriptor)有关。      标准输入(std…

    Linux干货 2016-08-05
  • linux 中条件测试判断

    文件条件测试判断:   -e 文件存在   -a 文件存在   这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用.   -f 表示这个文件是一个一般文件(并不是目录或者设备 文件)   -s 文件大小不为零   -d 表示这是一个目录   -b 表示…

    Linux干货 2017-02-02
  • 小懒豆-运维28-01

    1.计算机的组成及其功能
    2.linux的发行版,并描述差异及其联系
    3.说明linux的哲学思想,并按照自己的理解进行解释描述
    4.linux的命令使用格式,并介绍下列命令 ifconfig echo tty startx export pwd history shundown poweroff reboot hwclock date的
    5.如何获取linxux的帮助命令
    6.简述fhs(Filesystem hierarchy standard)

    2017-12-03
  • MHA安装包及其依赖包下载

    MySQL MHA是一款在业界广泛部署的MySQL高可用软件。但是在安装时,需要安装较多依赖包,并且有些依赖包在操作系统中默认的yum源是不存在的,因此需要到多个地方去寻找相应的包,费时费力。特别是在某些公司的网络政策,只允许少数机器连接外网,因此部署MHA更是苦不堪言。     为了方便大家也是方便以后我自己的使用,…

    Linux干货 2016-12-05
  • linux 基础3

    linux 基础3

    Linux干货 2018-03-25

评论列表(1条)

  • stanley
    stanley 2015-04-20 21:43

    看得出非常仔细,实验也很细致,赞,标签的添加有利于文章的seo