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
下一篇 2015-04-19

相关推荐

  • 6个变态的C语言Hello World程序

    下面的六个程序片段主要完成这些事情: 输出Hello, World 混乱C语言的源代码 下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。 hello1.c   #define _________ }     #define …

    Linux干货 2015-04-01
  • linux程序包管理

         首先linux软件程序包和windows中的程序包是不兼容的,所以要在linux上使用windows上的程序,需要使用虚拟化工具。 库级别的虚拟化:     linux : WinE     windows: Cywin 而程序开发语言有多…

    Linux干货 2016-08-24
  • Linux的文件系统架构基础

    前言     当今计算机操作系统来说常见功能主要有:进程调度、内存管理、文件系统管理、网络协议栈支持、驱动程序管理、安全功能等。所有对于我们来讲学习Linux文件系统也是一个十分重要的知识,也是学习Linux的必备基础知识,学习好Linux的文件系统知识也是为接下来学习Linux的其他知识奠定良好的基础 关键词  &n…

    Linux干货 2015-04-16
  • 从Linux小白到大牛——与狼共舞的日子13

    马哥教育网络班21期+第13周课程练习 1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加sa…

    Linux干货 2017-01-03
  • N26_第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@node1 skel]# cp -r /etc/skel/home/tuser1 [root@node1 skel]# chmod go-wrx/home/tuser1/   2、编辑/etc/grou…

    Linux干货 2017-05-26
  • sed工具

    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来…

    2017-08-26

评论列表(1条)

  • stanley
    stanley 2015-04-20 21:43

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