We use two Bind server to realize view, master, slave
-------------------------------------------------------------------------------------------------
ns1: 192.168.1.99 --master
ns2: 192.168.1.100/98 --slave
-------------------------------------------------------------------------------------------------
Install Bind on ns1 and ns2
# yum install bind-chroot bind-libs bind-utils caching-nameserver
-------------------------------------------------------------------------------------------------
Configure ns1: Bind Master
1.[root@1_99 named]# vi /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 192.168.1.99; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
acl "cnc"{
192.168.52.0/24;
};
acl "tel"{
192.168.112.0/24;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

view "tel"{
match-clients {"tel";192.168.1.98;};
recursion no;
zone "." IN {
type hint;
file "named.ca.tel";
};
zone "domain.cn" IN {
type master;
file "my-tel.zone";
allow-transfer {192.168.1.98;};
};
};

view "cnc"{
match-clients {"cnc";192.168.1.100;};
recursion no;
zone "." IN {
type hint;
file "named.ca.cnc";
};
zone "domain.cn" IN {
type master;
file "my-cnc.zone";
allow-transfer {192.168.1.100;};
};
};
include "/etc/rndc.key";

2.[root@1_99 named]# vi /var/named/chroot/var/named/my-cnc.zone
$TTL 86400
@ IN SOA ns1.domain.cn root (
20110519 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS ns1.domain.cn
www IN A 202.55.21.3
ns1 IN A 192.168.1.99
ns2 IN A 192.168.1.100

[root@1_99 named]# vi /var/named/chroot/var/named/my-tel.zone
$TTL 86400
@ IN SOA ns1.domain.cn root (
20110518 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS ns1.domain.cn
www IN A 89.33.12.4
ns1 IN A 192.168.1.99
ns2 IN A 192.168.1.100

# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
# chown root.named /etc/named.conf
3.[root@1_99 named]# cd /var/named/
4.[root@1_99 named]# ln -s /var/named/chroot/var/named/my-cnc.zone my-cnc.zone
5.[root@1_99 named]# ln -s /var/named/chroot/var/named/my-tel.zone my-tel.zone
6.[root@1_99 named]# cd /var/named/chroot/var/named/
7.[root@1_99 named]# cp named.ca named.ca.tel
8.[root@1_99 named]# cp named.ca named.ca.cnc
9.[root@1_99 named]# service named start
-------------------------------------------------------------------------------------------------
Configure ns2: Bind Slave
1.[root@1_100 named]# vi /etc/named.conf
options {
listen-on port 53 { 192.168.1.100; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
acl "cnc"{
192.168.52.0/24;
};
acl "tel"{
192.168.112.0/24;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
view "cnc" {
match-clients{"cnc";};
recursion no;
notify-source 192.168.1.100; 指定哪个本地地址,以及本地端口被用来作为发送通知信息的源.此项受限于allow-notify.
transfer-source 192.168.1.100; 指定通过哪个IPV4的源地址进行域的传送.
query-source address 192.168.1.100; 如果服务器不知道答案,将查询其他的name服务器, query-source指定地址和端口用户这些查询.

zone "." IN {
type hint;
file "named.ca.c";
};
zone "domain.cn" IN {
type slave;
file "my-cnc.slave";
masters{192.168.1.99;};
};
};
view "tel"{
match-clients {"tel";};
recursion no;
notify-source 192.168.1.98;
transfer-source 192.168.1.98;
query-source address 192.168.1.98;
zone "." IN {
type hint;
file "named.ca.t";
};
zone "domain.cn" IN {
type slave;
file "my-tel.slave";
masters{192.168.1.99;};
};
};
2.[root@1_100 named]# vi /etc/sysconfig/named
ENABLE_ZONE_WRITE=yes
3.[root@1_100 named]# cd /var/
4.[root@1_100 named]# chown -R named.named named/
5.[root@1_100 named]# chmod -R 755 named.named named/
6.[root@1_100 named]# cd /var/named/chroot/var/named/
7.[root@1_100 named]# cp named.ca named.ca.t
8.[root@1_100 named]# cp named.ca named.ca.c
9.[root@1_100 named]# service named start
10.[root@1_100 named]# ls -l my-*
-rw-r--r-- 1 named named 410 May 18 06:32 my-cnc.slave
-rw-r--r-- 1 named named 409 May 18 06:32 my-tel.slave
-------------------------------------------------------------------------------------------------
Test result on 192.168.52.107
1.login 192.168.52.107
2.test nameing
# dig @192.168.1.100 www.domain.cn | grep 86400
www.domain.cn. 86400 IN A 202.55.21.3
# dig @192.168.1.99 www.domain.cn | grep 86400
www.domain.cn. 86400 IN A 202.55.21.3

Test result on 192.168.112.107
1.login 192.168.112.107
2.test nameing
# dig @192.168.1.100 www.domain.cn | grep 86400
www.domain.cn. 86400 IN A 89.33.12.4
# dig @192.168.1.99 www.domain.cn | grep 86400
www.domain.cn. 86400 IN A 89.33.12.4
-------------------------------------------------------------------------------------------------
refer:https://www.isc.org/faq/item/182

Bind9用view配主从的更多相关文章

  1. centos 7.2 安装域名服务器(bind9.9 集群--主从架构),私有域名服务器+缓存

    1.安装组件 yum install bind bind-utils -y 2.启动域名服务 service named start chkconfig named on ss -unlt |grep ...

  2. 【架构】docker环境搭建mysql主从

    序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...

  3. Mysql 单表主从同步

    先配主从同步,后将主库表老数据传输到从库 说明:api-server的数据库为主,其他harbor为从 1.master 配置文件更改 [mysqld] log-bin = mysql-bin ser ...

  4. Mysql主从(主从不同步解决办法,常见问题及解决办法,在线对mysql做主从复制)

    一.主从不同步解决办法 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mys ...

  5. mysql5.7主从复制

    1.简介 1.1主从复制 是指建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个: 一是作为后备数据库,主数据库服务器故障后,可切 ...

  6. Centos 7 搭建DNS笔记

    bindind的程序包 bind-libs:被bind和bind-utils包中的程序共同用到的库文件: bind-utils:bind客户端程序集:提供了,dig , host, nslookup等 ...

  7. DNS智能解析的搭建与配置

    分类: LINUX 原文地址:DNS智能解析的搭建与配置 作者:十年梦生  9月份整整忙了一个月,都抽不出时间来写篇文章,这几天趁着10.1终于有时间来写些东西了,将9月份所做的一些东西来做下总结. ...

  8. MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

    写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节,准 ...

  9. MySQL 三万字精华总结

      写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节 ...

随机推荐

  1. SAP 物料移动tcode

    月底,财务月结,需要关账,关闭物料移动功能,支持财务对账: 其中一项任务是要锁定物料移动tcode,这应该是其中部分: CO27 PPIOM000 1000 拣配清单MB1A SAPMM07M 400 ...

  2. HDU 4358 莫队算法+dfs序+离散化

    Boring counting Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 98304/98304 K (Java/Others)T ...

  3. Codeforces Testing Round #8 B. Sheldon and Ice Pieces 水题

    题目链接:http://codeforces.com/problemset/problem/328/B 水题~ #include <cstdio> #include <cstdlib ...

  4. 使用SSH密钥连接Github

    使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己 的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦. ...

  5. Java——异常

     /* * 异常:   是在运行时期  发生的 不正常情况. *  在java中类的形式对不正常情况进行了描述和封装对象. * * 描述不正常的情况类,就成为异常. * * 问题很多,就意味着描述 ...

  6. JSBinding + SharpKit / Important Notes

    Serialization of List<T> is not supported. 1 public int v; // SUPPORTED 2 public GameObject go ...

  7. 了解oracle数据库的情况

    1.了解你的数据库版本号 2.是否配置了DataGuard? SQL> select protection_mode, protection_level, remote_archive,data ...

  8. Android Apk反编译得到Java源代码

    大家做Android开发,看到别人应用里一些好的功能,是不是很想得到源码,借鉴一下?既然Android是用JAVA开发的,那么我们就能很容易的通过反编译的到应用的源代码.下面我简单介绍下应该怎么操作. ...

  9. WCF入门教程四[WCF的配置文件]

    一.概述 配置也是WCF编程中的主要组成部分.在 以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里.但WCF有所不同.他指定向客户端公开的服务,包括服务的地址. 服务 ...

  10. PHP使用Mysql事务

    <?php //数据库连接 $conn = mysql_connect('localhost', 'root', ''); mysql_select_db('test', $conn); mys ...