DNS-03-主从模型

DNS-03-主从模型

注意:这里的从域名服务器是区域级别的概念

实验环境

ns1.magedu.com 172.18.71.101/24 CentOS-6.7-x86_64 master
ns2.magedu.com 172.18.71.102/24 CentOS-7.2-x86_64 slaver

iptablesSELinux均处于关闭状态。

安装bind

[root@ns1 ~]# yum install -y bind bind-libs bind-utils

首先,分别修改两个节点主机的主配置文件/etc/named.conf,注释掉仅允许本机查询请求和dnssec(可能影响实验结果),并在监听地址列表中增加各自向外部提供服务的IP地址。

options {
    listen-on port 53 { 127.0.0.1; 172.18.71.101; };
    ...
    //allow-query     { localhost; };
    ...

    //dnssec-enable yes;
    //dnssec-validation yes;
    //dnssec-lookaside auto;
    ...
};

时间同步

一般来说,多节点协同工作首先就是要校准时间,使之时间同步。联网状态下可使用ntpdate命令统一找授时中心校准,不能联网可使用date命令手动校准。

配置master

首先参照DNS-02-单服务器配置一个正向区域magedu.com

另外需要在mastermagedu.com区域数据库文件中增加slaverNS记录以及相应的A记录。

$TTL 1D
@       IN      SOA     @       ns-admin.magedu.com. (
                2016040801
                1D
                1H
                1W
                3H )
        IN      NS      ns1
        IN      NS      ns2
        IN      MX      10 mx1
ns1     IN      A       172.18.71.101
ns2     IN      A       172.18.71.102
mx1     IN      A       172.18.71.101
www     IN      A       172.18.71.101
www     IN      A       172.18.71.102
bbs     IN      CNAME   www

检查区域解析数据库文件和主配置文件的语法

[root@ns1 named]# named-checkzone magedu.com magedu.com.zone 
zone magedu.com/IN: loaded serial 2016040801
OK
[root@ns1 named]# named-checkconf

启动服务

[root@ns1 named]# /etc/init.d/named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

配置slaver

slaver的主配置文件/etc/named.rfc1912.zones中增加区域magedu.com。只需要指明自身是哪个master的从属就可以,区域数据库文件是master同步过来的。

zone "magedu.com" IN {
        type slave;
        file "slaves/magedu.com.zone";
        masters { 172.18.71.101; };
        allow-update { none; };
};

启动服务

[root@ns2 ~]# systemctl start named

区域传送

如果严格按照以上步骤来操作,在slaver上启动服务时master中的magedu.com区域会自动传送至slaver中。

master的日志文件中可以看到做区域传送的过程

[root@ns1 named]# tail -20 /var/log/messages 
...
Apr  8 23:22:07 ns1 named[20836]: zone magedu.com/IN: loaded serial 2016040802
Apr  8 23:22:07 ns1 named[20836]: zone magedu.com/IN: sending notifies (serial 2016040802)
Apr  8 23:22:07 ns1 named[20836]: client 172.18.71.102#32854: transfer of 'magedu.com/IN': AXFR-style IXFR started
Apr  8 23:22:07 ns1 named[20836]: client 172.18.71.102#32854: transfer of 'magedu.com/IN': AXFR-style IXFR ended
Apr  8 23:22:07 ns1 named[20836]: client 172.18.71.102#2637: received notify for zone 'magedu.com'
Apr  8 23:23:11 ns1 named[20836]: client 172.18.71.102#42260: transfer of 'magedu.com/IN': AXFR started
Apr  8 23:23:11 ns1 named[20836]: client 172.18.71.102#42260: transfer of 'magedu.com/IN': AXFR ended
Apr  8 23:23:59 ns1 named[20836]: client 172.18.71.102#56313: transfer of 'magedu.com/IN': AXFR started
Apr  8 23:23:59 ns1 named[20836]: client 172.18.71.102#56313: transfer of 'magedu.com/IN': AXFR ended
Apr  8 23:24:00 ns1 named[20836]: client 172.18.71.102#56152: received notify for zone 'magedu.com'
...

slaver上可以看到magedu.com区域数据库文件已经同步过来了。

[root@ns2 ~]# ls /var/named/slaves/
magedu.com.zone

但如果出现偏差,那么你首先需要尝试一下重载配置文件。

[root@ns1 named]# rndc reload
server reload successful

然后尝试一下增加master的区域数据库文件的序列号,然后再重载配置文件。因为只有slaver发现master的区域数据库文件的序列号比自己大时才会给做区域传送,所以master的区域数据库文件如有修改应该增加其序列号。

如果区域传送仍然失败,你可以在slaver上使用dig命令来测试是否可以手动完成区域传送。如果可以,那么可能是配置问题,比如slaver上存放区域数据库文件的目录不存在或没有权限等;如果手动区域传送也不行,排除一下网络故障。

[root@ns2 named]# dig -t axfr magedu.com @172.18.71.101

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t axfr magedu.com @172.18.71.101
;; global options: +cmd
magedu.com.        86400    IN    SOA    magedu.com. ns-admin.magedu.com. 2016040802 86400 3600 604800 10800
magedu.com.        86400    IN    NS    ns1.magedu.com.
magedu.com.        86400    IN    NS    ns2.magedu.com.
magedu.com.        86400    IN    MX    10 mx1.magedu.com.
bbs.magedu.com.        86400    IN    CNAME    www.magedu.com.
mx1.magedu.com.        86400    IN    A    172.18.71.101
ns1.magedu.com.        86400    IN    A    172.18.71.101
ns2.magedu.com.        86400    IN    A    172.18.71.102
www.magedu.com.        86400    IN    A    172.18.71.101
www.magedu.com.        86400    IN    A    172.18.71.102
magedu.com.        86400    IN    SOA    magedu.com. ns-admin.magedu.com. 2016040802 86400 3600 604800 10800
;; Query time: 1 msec
;; SERVER: 172.18.71.101#53(172.18.71.101)
;; WHEN: Fri Apr 08 23:33:00 CST 2016
;; XFR size: 11 records (messages 1, bytes 267)

注意:AXFR表示完整区域传送,LXFR表示增量区域传送。只有第一次同步过程才会是AXFR,后面区域数据库文件中再有增、删、改等变动时只会是LXFR

反向区域传送也是同理,不再赘述。


你可能感兴趣的:(dns)