主从DNS

主辅DNS服务器数据同步的过程,首先master DNS服务器每 次修改完成并重启服务后,将传送notify给所有的Slave DNS服务器。 Slave DNS服务器将查询Master服务器的SOA记录,Master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值,如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,Slave DNS将发送zone transfer请求要求(AXFR/IXFR)。Master响应Zone transfer请求并传送结果,直到整个slave更新完成。如图:

在实际应用中主从DNS服务器一般都是用来做DNS高可用和负载的,所以你的主从DNS服务器首先就是必须要从上级获得授权,也就是顶级域的服务器中必须有你两台DNS的记录,这样客户端才可以把主从DNS的地址都设置为本地DNS服务器。其次在DNS服务器本身的区域数据文件中要有主从DNS服务器的NS(只有这样主DNS服务器才会找的到从DNS服务器),只有这两者都搞定的情况下就算有一台DNS服务器挂掉了,客户端同样可以访问另一台DNS服务器进行DNS查询。

区域传送类型

完全区域传送:传送区域的所有书(axfr)

增量区域传送:传送区域中改变的数据部分(ixfr)

配置主从DNS

主从的基础配置按照高速缓存DNS服务器的基础配置即可,注意主从DNS服务器一定要注释include “/etc/named.root.key”;和关闭防火墙

主DNS服务器: 192.168.60.10
在/etc/named.conf文件中添加区域
[root@bogon ~]# vim /etc/named.conf
zone "ywnds.com" IN {
type master;
file "ywnds";
notify yes;
also-notify { 192.168.60.30; };
allow-transfer { 192.168.60.30; };
};
在/var/named/下添加正向区域文件
[root@bogon ~]# vim /var/named/ywnds
$TTL 1D
@ IN SOA dns.ywnds.com. root.ywnds.com. (
336 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns
@ IN NS dns2
dns IN A 192.168.60.10
dns IN A 192.168.60.30
@ IN MX 10 mail
mail IN A 192.168.60.100
www IN A 192.168.60.200
[root@bogon ~]# chown root:named /var/named/ywnds
重启主DNS
[root@bogon ~]# service named restart
[root@bogon ~]# tail -f /var/log/message
Sep 29 17:51:30 localhost named[3224]: running
Sep 29 17:51:30 localhost named[3224]: zone ywnds.com/IN: sending notifies (serial 336)
Sep 29 17:51:30 localhost named[3224]: client 192.168.60.30#37129: transfer of 'ywnds.com/IN': AXFR-style IXFR started
Sep 29 17:51:30 localhost named[3224]: client 192.168.60.30#37129: transfer of 'ywnds.com/IN': AXFR-style IXFR ended
从DNS服务器: 192.168.60.30
在/etc/named.conf文件中添加区域
[root@bogon ~]# vim /etc/named.conf
zone "ywnds.com" IN {
type slave;
file "slaves/ywnds";
masters { 192.168.60.10; };
allow-transfer { none; };
};
验证传送结果
[root@bogon ~]# service named restart
[root@bogon ~]# tail -f /var/log/message
[root@bogon ~]# ll /var/named/slaves/
-rw-r--r--. 1 named named 422 Sep 29 17:51 ywnds

分别查看两台主机上的/var/log/messages日志文件看看传送过程第一次应该是AXFR完全传送,当第二次传送时就会是ixfr增量传送。

特别注意:

1、  进行增量传送时;当主服务器更改一条记录时就需要把serial的值加1;从服务器会比较serial值,如果比自己的大就进行更改自己区域的内容。

2、  主从服务器的时间同步
DNS子域授权

子域授权其实就是实现DNS分片管理,通过父域DNS可以查询解析子域,但子域无法查询解析父域,子域可以实现自我管理。如ywnds.com是父域,而market.ywnds.com是子域。

子域授权的基础配置按照高速缓存DNS服务器的基础配置即可,注意子负域DNS服务器一定要注释include “/etc/named.root.key”;和关闭防火墙

父域DNS服务器: 192.168.60.10
在/etc/named.conf文件中添加以下区域
[root@bogon ~]# vim /etc/named.conf
zone "ywnds.com" IN {
type master;
file "ywnds";
allow-transfer { none; };
};
在/var/named/下添加正向区域文件
[root@bogon ~]# vim /var/named/ywnds
$TTL 1D
@ IN SOA dns.ywnds.com. root.ywnds.com. (
336 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns
dns IN A 192.168.60.10
www IN A 192.168.60.200 market IN NS dns.market.ywnds.com.
dns.market IN A 192.168.60.30
[root@bogon ~]# chown root:named /var/named/ywnds
重启主DNS
[root@bogon ~]# service named restart
子域DNS服务器: 192.168.60.30
在/etc/named.conf文件中添加以下区域
[root@bogon ~]# vim /etc/named.conf
zone "market.ywnds.com" IN {
type master;
file "market.ywnds";
allow-transfer { none; };
};
在/var/named/下添加正向区域文件
[root@bogon ~]# vim /var/named/market.ywnds
$TTL 1D
@ IN SOA dns.ywnds.com. root.ywnds.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns
dns IN A 192.168.60.30
www IN A 192.168.60.251
重启主DNS
[root@bogon ~]# service named restart
验证
父域DNS可以解析“ywnds.com”域和“market.ywnds.com”域
[root@bogon ~]# dig -t A www.ywnds.com @192.168.60.10
[root@bogon ~]# dig -t A www.market.ywnds.com @192.168.60.10
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 3598
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.market.ywnds.com. IN A
;; ANSWER SECTION:
www.market.ywnds.com. 85956 IN A 192.168.60.251
;; AUTHORITY SECTION:
market.ywnds.com. 85956 IN NS dns.market.ywnds.com.
;; ADDITIONAL SECTION:
dns.market.ywnds.com. 85956 IN A 192.168.60.30
子域DNS只能解析“market.ywnds.com”域
[root@bogon ~]# dig -t A www.market.ywnds.com @192.168.60.30
转发域

通过子域授权可以做到父域可以解析本地域和子域,而子域只能解析本地域而解析不了父域,那么现在通过转发功能就可以做到让子域也可以解析父域。

配置转发域的两种方式

1)转发非本机负责解析的所有区域
option{
forwarders { 8.8.8.8; };
forward first;
forward only;
}; 2)转发某特定区域
zone "ywnds.com" IN {
type forward;
forwarders { 192.168.60.10; };
};

子域DNS服务器: 192.168.60.30

1)在/etc/named.conf文件中追加父域,红色部分
[root@bogon ]# vi /etc/named.conf
zone "market.ywnds.com" IN {
type master;
file "market.ywnds";
allow-transfer { none; };
}; zone "ywnds.com" IN {
type forward;
forwarders { 192.168.60.10; };
forward first;
allow-transfer { none; };
}; 表示子域只要解析“ywnds.com”域都转发到父域进行解析。同时如果在全局配置中也配置转发域。如下:
option{
forwarders { 8.8.8.8; };
forward first;
forward only;
};

这样就可以做到除父域外其他只要有解析不了的域统统转发到指定的DNS服务器中,前提是被指定的DNS服务器必须能够做递归。这样当在optionP{}和zone{}中都使用了转发功能时就可以做到访问不同的域名找不同的DNS服务器。

手写DNS配置文件

最后可以尝试手写named.conf配置文件,但是文件权限要改成640并且属主是root;属组是namd,当你手写配置文件时大概只需要以下内容即可。其余大部分都是默认,比如监听地址默认是监听所有和允许查询默认允许所有。如下:

[root@bogon ]# vi /etc/named.conf
options {
directory "/var/named";
recursion yes;
}; zone "." IN {
type hint;
file "named.ca";
}; zone "ywnds.com" IN {
type master;
file "ywnds";
allow-transfer { none; };
};
include "/etc/named.rfc1912.zones"; 本文转自:https://www.linuxprobe.com/dns-server-3.html​

DNS主从复制及子域(三)的更多相关文章

  1. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  2. DNS主从服务,子域授权,view视图,日志系统,压力测试

    DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...

  3. DNS主从复制及区域传送

    前言 DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送.也可以说,DNS区域传 ...

  4. 构建 DNS 主从复制服务器

    一.主节点配置 1.yum install bind -y 安装 DNS 服务 2.vim /etc/named.conf 编辑 DNS 的配置文件 3.named-checkconf 检查配置文件 ...

  5. Linux DNS 主从复制

    设置主从DNS的主要是为了冗余,分担压力,防止服务器宕机后,DNS无法正常解析. 配置 master 正常配置DNS服务. 设置主机名 [root@localhost ~]# hostnamectl ...

  6. DNS子域委派配置案例[转载]

    最近在研究linux dns 在51上面看见这篇文章,感觉讲的很透彻,随转载,方便以后自己查阅 原文地址:http://www.51osos.com/a/Linux_CentOS_RedHat/Lin ...

  7. DNS区域传送、子域授权

    前言 DNS服务器搭建参考上一篇: DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器更新查询数据,保证数据一致性,此为区 ...

  8. Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS

    一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> ...

  9. linux dns子域授权 split分离解析 缓存dns服务器

    DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...

随机推荐

  1. 使用git将本地仓库同步到github远程仓库

    一.下载安装git客户端windows版本 二.建立本地仓库文件夹 三.在本地仓库里右键点击Git Bash Here 四.初始化本地仓库 [git init] 执行之后仓库中会创建隐藏的文件夹.gi ...

  2. HDU1160(KB12-J DP)

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. 使用ThinkPHP实现分页功能

    前几篇(上传,缩略图,验证码,自动验证表单)文章介绍的功能实现都是基于ThinkPHP框架封装好的类进行实现的,所以这次自己写一个分页类在框架中使用. 首先在根目录建一个Tools文件夹,在Tools ...

  4. enum 的使用方法(java)

    作者QQ:1095737364    QQ群:123300273     欢迎加入! enum很像特殊的class,实际上enum声明定义的类型就是一个类.而这些类都是类库中Enum类的子类(java ...

  5. 【代码笔记】iOS-4个可以单独点击的button

    一,效果图. 二,工程图. 三,代码. ViewController.m #import "ViewController.h" @interface ViewController ...

  6. 【读书笔记】iOS-网络-使用推送通知

    一,本地通知 本地通知有64位的最大限制.虽然,你依然可以调度通知,不过到到达的通知数被限定为接近64个,并且按照fireDate的顺序排序,系统会忽略掉其余的通知.这意味着如果现在有64个调用的本地 ...

  7. CentOS7下 将django工程部署到Apache2.4上

    因为需要写一个网站,考虑到也没写过其他的语言,就直接采用了python,说起python的框架,就是大名鼎鼎的Django啦. 工程所采用的版本是python 2.7,django 是1.8,wind ...

  8. Oracle 修改SYS、system用户密码

    Oracle 修改SYS.system用户密码 by:授客 QQ:1033553122 概念 SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户.在数据库安装完之后,应 ...

  9. LeetCode题解之Binary Tree Tilt

    1.题目描述 2.分析 利用递归实现. 3.代码 int findTilt(TreeNode* root) { if (root == NULL) ; ; nodesTilt(root,ans); r ...

  10. Safari中的Date

    在js中处理Date时,发现Safari和其他浏览器的支持方式不一致 1.例如:2017-01-01 12:00:00 在其他浏览器中,使用这个格式的字符串进行new Date操作没有问题,但是在Sa ...