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.www58058.com/3376

(2)
蝙蝠俠?杰蝙蝠俠?杰
上一篇 2015-04-18 16:41
下一篇 2015-04-19 09:52

相關推薦

  • bash腳本編程class2

    bash腳本class2—循環語句的使用      一.三種循環語句以及其具體使用方法   我們知道,在shell腳本編程過程中,為了實現邏輯關系的運算,有三種執行命令的順序:順序執行,選擇執行,循環執行。通過if,case這類語句可以實現條件篩選后執行命令,這次課程中所學的主要知識點為循環語句的三種使用方式:for,…

    Linux干貨 2016-08-19
  • 啟動和內核管理2

    五、自制linux系統     分區并創建文件系統         fdisk /dev/sdb         分兩個必要的分區   &n…

    Linux干貨 2016-09-18
  • linux系統啟動流程詳解

    一、 為什么要研究linux系統啟動:     或許有人會說,等它開機就好了,為什么還要研究它開機流程呢,其實如果服務器運行很好又沒有人為的誤操作等,或許不用研究,但是為了能在系統出問題后第一時間的修復它,又或者你忘記了root密碼等情況時就非常有必要研究一下linux的開機流程了,因為只有知道了它是如何運作的,才能讓…

    Linux干貨 2016-09-13
  • 文本工具

    本文將介紹Linux下使用Shell處理文本時最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和參數都是最常用和最為實用的

    2017-11-25
  • bash腳本基礎認知

    編程基礎:程序:指令+數據                過程式:以指令為中心,數據服務于指令              &nbs…

    Linux干貨 2017-03-02
  • bash的基礎特性之一

    bash的基礎特性之一 命令歷史:shell進程會保存會話中此前用戶使用過的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令歷史     -d 【#】:刪除指定的命令歷史…

    Linux干貨 2016-12-18

評論列表(1條)

  • stanley
    stanley 2015-04-20 21:43

    看得出非常仔細,實驗也很細致,贊,標簽的添加有利于文章的seo

欧美性久久久久