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. 对UIWebView的学习

    建工程,建一个类WebViewController 继承于UIViewController WebViewController设置为根视图控制器 WebViewController遵守UIWebVie ...

  2. ubuntu Virtualbox菜单栏不见

    ubuntu 装了Virtualbox 后,不知道怎么操作的导致顶部菜单栏不见啦, 网上查了下,我们看到开启/关闭 Scale Mode的快捷键都是 Ctrl C ,注意Ctrl是右边的那个不是左边那 ...

  3. memcache 线程深入理解分析 及 源码研究

    http://blog.csdn.net/huithe/article/details/8006186

  4. Sprint第二个冲刺(第三天)

    一.Sprint 计划会议:        今天我们召开了第二个Sprint的第三次会议,会议上我们把各自完成的情况进行了一次总结,现在主界面和美化按钮.增添图片的功能已经完成了,Doing里面的其他 ...

  5. Codeforces Round #285 (Div. 2) A B C 模拟 stl 拓扑排序

    A. Contest time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  6. 使用isInEditMode解决可视化编辑器无法识别自定义控件的问题

    如果在自定义控件的构造函数或者其他绘制相关地方使用系统依赖的代码, 会导致可视化编辑器无法报错并提示:Use View.isInEditMode() in your custom views to s ...

  7. java如何获取当前机器ip和容器port

    获取当前机器ip: private static String getIpAddress() throws UnknownHostException { InetAddress address = I ...

  8. Codeforces Round #147 (Div. 2)

    A. Free Cash 判断值相同的最长长度. B. Young Table 按从上到下,从左到右排序,每个位置最多交换一次. C. Primes on Interval \(p_i\)表示位置\( ...

  9. HDU 1024 Max Sum Plus Plus --- dp+滚动数组

    HDU 1024 题目大意:给定m和n以及n个数,求n个数的m个连续子系列的最大值,要求子序列不想交. 解题思路:<1>动态规划,定义状态dp[i][j]表示序列前j个数的i段子序列的值, ...

  10. timus 1033 Labyrinth(BFS)

    Labyrinth Time limit: 1.0 secondMemory limit: 64 MB Administration of the labyrinth has decided to s ...