Bind9用view配主从

时间:2022-08-26 17:52:37

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. JDBC-java访问数据库

    定义:JDBC是一个独立于数据库管理系统的,通用的SQL数据库存取和操作的公共接口 (由JAVA类和接口组成,接口由各数据库厂家负责实现) 使用方法: 1.加载驱动 Class.forName(&qu ...

  2. Facebook揭密:如何让MySQL数据库集群自主运行

    Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上.让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群 ...

  3. 总结Selenium自动化测试方法(四)WebDriver常用的操作

    四.WebDriver常用的操作 1.控制浏览器操作 #控制浏览器的大小 self.driver.set_window_size(480,800) #控制浏览器返回 self.driver.back( ...

  4. linux shell ls -1 列显示文件

    /******************************************************************************* * linux shell ls -1 ...

  5. 数据库(学习整理)----4--Oracle数据查询(基础点1)

    其他: 计算机中的内存是线性的,一维. length('')计算字符的个数,而不是字节的个数 Oracle中的日期类型和数值类型的数据可以做运算符(>,=,<,<>)比较 如果 ...

  6. javasript生成 uuid的几种算法分享

    方式一 function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i &l ...

  7. UVa 10285 - Longest Run on a Snowboard

    称号:给你一个二维矩阵,找到一个点.每一个可以移动到的位置相邻的上下,求最长单调路径. 分析:贪婪,dp.搜索. 这个问题是一个小样本,我们该怎么办. 这里使用贪心算法: 首先.将全部点依照权值排序( ...

  8. 对JavaScript闭包的理解

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 在开始了解闭包前我们必须要先理解JavaScript的变量作用域. 一.变量的作用域无非就是两 ...

  9. Unity 读取资源(图片)

    方法一: 采用Resource.Load方法读取,读取在Unity中Assets下Resources目录下的资源名(不采用后缀). //图片放在Asset/Resources/ Texture2D t ...

  10. CodeForces - 589J(DFS)

    题目链接:http://codeforces.com/problemset/problem/589/J 题目大意:一个机器人打扫一个密闭的房间,房间由一个矩形构成,'*'表示家具,'.'表示该位置为空 ...