DNS的主从架构与数据同步

DNS的主从架构与数据同步

一、主从架构


// 主服务器
[root@tk ~]# cat /etc/named.conf
//
// named.conf
options {
        directory "/var/named";
        recursion no;
        // 修改为允许从服务器的IP地址下载主服务器的配置文件
        allow-transfer { 10.0.0.205; };
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};
zone "test.cn" IN {
        type master;
        file "test.cn.zone";
};
zone "test1.cn" IN {
        type master;
        file "test1.cn.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

[root@tk ~]#
// 配置地址库文件中从服务器的地址
[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
test.cn. NS     tk
test.cn. NS     gitlab
tk      A       10.0.0.200
gitlab  A       10.0.0.205
www     A       10.0.0.201
www     A       10.0.0.202
abc     A       10.0.0.203
*       A       1.1.1.1
bieming CNAME   abc
[root@tk ~]#
[root@tk ~]# systemctl    restart    named

// 从服务器
[root@gitlab named]# cat /etc/named.conf
//
// named.conf
options {
        directory       "/var/named";
};
zone "test.cn" IN {
    // 类型为slave
        type slave;
        // 配置文件设置,也可以放到其他目录下,但是我们要修改named
        //  的权限为rwx
        file "/var/named/slaves/test.cn.slave";
        // 声明主服务器
        masters { 10.0.0.200; };
        // 以明文方式存储
        masterfile-format text;
};
[root@gitlab named]# systemctl    restart   named
[root@gitlab named]# ls slaves/
test.cn.slave
[root@gitlab named]# nslookup www.test.cn
// 此时就会同步数据
[root@gitlab named]# cat slaves/test.cn.slave
$ORIGIN .
$TTL 86400      ; 1 day
test.cn                 IN SOA  test.cn. rname.invalid. (
                                0          ; serial
                                86400      ; refresh (1 day)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                10800      ; minimum (3 hours)
                                )
                        NS      tk.test.cn.
                        NS      gitlab.test.cn.
$ORIGIN test.cn.
*                       A       1.1.1.1
abc                     A       10.0.0.203
bieming                 CNAME   abc
gitlab                  A       10.0.0.205
tk                      A       10.0.0.200
www                     A       10.0.0.201
                        A       10.0.0.202
[root@gitlab named]#


二、数据同步



// 主服务器的地址库中的配置
[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
    // 数据的版本号,由10个数字组成
                        2021111111     ; serial
    // 每隔1天主从进行数据交互           
                         1D      ; refresh
     // 失效之后的时间间隔每一个1小时向主服务器尝试建立联系            
                         1H      ; retry
    // 真正的失效时间,1周,就是说每隔一个小时就行联系,一直联            
    // 系不上,此时会不在尝试
                         1W      ; expire
    // 失效记录的记忆时间3小时
                         3H )    ; minimum
test.cn. NS     tk
test.cn. NS     gitlab
tk      A       10.0.0.200
gitlab  A       10.0.0.205
www     A       10.0.0.201
www     A       10.0.0.202
abc     A       10.0.0.203
*       A       1.1.1.1
bieming CNAME   abc
[root@tk ~]#

上一篇:STP


下一篇:redhat 6.5 YUM安装kvm 并用VNC远程管理