前言

DNS服务器搭建参考上一篇;

DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向、反向解析了。从服务器向主服务器更新查询数据,保证数据一致性,此为区域传送。也可以说,DNS区域传送,就是DNS主从复制的实现方法,DNS主从复制是DNS区域传送的表现形式。

DNS区域传送的两种方式:

  • zxfr:完全区域传送
  • ixfr:增量区域传送

当一个新的DNS服务器添加到区域中并配置为从DNS服务器时,它则会执行完全区域传送,在主DNS服务器上获取完整的资源记录副本;同时为了保证数据同步,主域名服务器有更新时也会及时通知辅助域名服务器从而进行更新(增量区域传送)。

区域传送

主服务器:192.168.2.72

从服务器: 192.168.2.104

两台服务器都提前安装好named服务

完全区域传送

1.对主服务器/etc/named.conf配置进行修改,在options配置段内增加:

notify yes;

2.在主服务器上正向、反向文件中增加从服务器的NS记录

正向区域

@       NS      dns2
dns2 A 192.168.2.104

反向区域

IN      NS      dns2.magedu.com.
104 IN PTR dns2.magedu.com.

3.复制主服务器上配置文件至从服务器

#scp 192.168.1.72:/etc/named.rfc1912.zones /etc/

#scp 192.168.1.72:/etc/named.conf /etc/

4.修改从服务器上/etc/named.rfc1912.zones

zone "magedu.com" IN {
type slave;
masters { 192.168.2.72; };
file "magedu.com.zone";
}; zone "2.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.2.72; };
file "2.168.192.zone";
};

5.启动从服务器DNS服务,查看日志,及/var/named/目录下是否已同步成功主服务器区域文件

增量区域传送

1.修改主服务器正向解析文件,增加一条A记录,将序列号加1后保存退出

2.reload主DNS服务器,查看日志

主服务器日志:

Jan 20 02:12:55 agent named[35582]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019011301)
Jan 20 02:12:55 agent named[35582]: client 192.168.2.104#39669 (magedu.com): transfer of 'magedu.com/IN': AXFR-style IXFR started
Jan 20 02:12:55 agent named[35582]: client 192.168.2.104#39669 (magedu.com): transfer of 'magedu.com/IN': AXFR-style IXFR ended
Jan 20 02:12:56 agent named[35582]: client 192.168.2.104#34346: received notify for zone 'magedu.com'

从服务器日志:

Jan 20 03:02:25 zabbix named[100773]: client 192.168.2.72#60290: received notify for zone 'magedu.com'
Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: Transfer started.
Jan 20 03:02:25 zabbix named[100773]: transfer of 'magedu.com/IN' from 192.168.2.72#53: connected using 192.168.2.104#39669
Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: transferred serial 2019012001
Jan 20 03:02:25 zabbix named[100773]: transfer of 'magedu.com/IN' from 192.168.2.72#53: Transfer completed: 1 messages, 10 records, 268 bytes, 0.001 secs (268000 bytes/sec)
Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: sending notifies (serial 2019012001)
Jan 20 03:02:25 zabbix named[100773]: client 192.168.2.72#4595: received notify for zone '2.168.192.in-addr.arpa'
Jan 20 03:02:25 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: notify from 192.168.2.72#4595: zone is up to date

3.在反向解析文件增加一条PTR记录,同样序列号加1

主DNS服务器日志:

Jan 20 02:17:44 agent named[35582]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019012001)
Jan 20 02:17:44 agent named[35582]: client 192.168.2.104#57041 (2.168.192.in-addr.arpa): transfer of '2.168.192.in-addr.arpa/IN': AXFR-style IXFR started
Jan 20 02:17:44 agent named[35582]: client 192.168.2.104#57041 (2.168.192.in-addr.arpa): transfer of '2.168.192.in-addr.arpa/IN': AXFR-style IXFR ended

从DNS服务器日志:

Jan 20 03:07:38 zabbix named[100773]: client 192.168.2.72#17270: received notify for zone '2.168.192.in-addr.arpa'
Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: Transfer started.
Jan 20 03:07:38 zabbix named[100773]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.72#53: connected using 192.168.2.104#57041
Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: transferred serial 2019012001
Jan 20 03:07:38 zabbix named[100773]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.72#53: Transfer completed: 1 messages, 8 records, 242 bytes, 0.001 secs (242000 bytes/sec)
Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019012001)

4.通过dig命令验证

root@node2:~# dig -t A ftp.magedu.com @192.168.2.104

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A ftp.magedu.com @192.168.2.104
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ftp.magedu.com. IN A ;; ANSWER SECTION:
ftp.magedu.com. 600 IN A 192.168.2.1 ;; AUTHORITY SECTION:
magedu.com. 600 IN NS dns2.magedu.com.
magedu.com. 600 IN NS dns1.magedu.com. ;; ADDITIONAL SECTION:
dns1.magedu.com. 600 IN A 192.168.2.72
dns2.magedu.com. 600 IN A 192.168.2.104 ;; Query time: 5 msec
;; SERVER: 192.168.2.104#53(192.168.2.104)
;; WHEN: Sun Jan 20 15:19:47 CST 2019
;; MSG SIZE rcvd: 129

测试通过从服务器反向解析

root@node2:~# dig -x 192.168.2.1  @192.168.2.104

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -x 192.168.2.1 @192.168.2.104
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14837
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;1.2.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION:
1.2.168.192.in-addr.arpa. 600 IN PTR ftp.magedu.com. ;; AUTHORITY SECTION:
2.168.192.in-addr.arpa. 600 IN NS dns1.magedu.com.
2.168.192.in-addr.arpa. 600 IN NS dns2.magedu.com. ;; ADDITIONAL SECTION:
dns1.magedu.com. 600 IN A 192.168.2.72
dns2.magedu.com. 600 IN A 192.168.2.104 ;; Query time: 2 msec
;; SERVER: 192.168.2.104#53(192.168.2.104)
;; WHEN: Sun Jan 20 15:24:38 CST 2019
;; MSG SIZE rcvd: 151

DNS子域授权

当一个域很大时,而且还有上下层关系,如果所有的记录变更都由某一台服务来管理的话会很不方便。因此DNS也会域和子域,上层DNS可以将子域的管理授权给子域中的NDS服务器来管理记录的变更,这种做法叫子域授权。

子域授权配置

规划如下:

父域为:magedu.com

NS地址:ns1.magedu.com

子域为:dev.magedu.com

NS地址为:ns1.dev.magedu.com

父域服务器配置

只需在区域解析库文件中添加下层DNS服务器的NS与A记录即可

dev.magedu.com. NS      dns1.dev.magedu.com.
dns1.dev.magedu.com. A 192.168.2.165

子域服务器配置

子域需要有完整的区域相关配置

在/etc/named.rfc1912.zones中加入子域定义

zone "dev.magedu.com" IN {
type master;
file "dev.magedu.com.zone";
};

创建dev.magedu.com.zone区域解析文件

$TTL 600
@ IN SOA dns1.dev.magedu.com. admin.dev.magedu.com. (
2019012002;
2H;
15M;
1W;
1D);
@ IN NS dns1
dns1 IN A 192.168.2.165
www IN A 192.168.2.18

在子域DNS服务器添加指向父域的转发器

//将查询父域的请求转发给父域DNS
zone "magedu.com" IN {
type forward;
forward only;
forwarders { 192.168.2.72; };
};

配置完成重启服务。

通过dig命令测试解析结果:

通过子域解析 www.dev.magedu.com

root@node2:~# dig -t A www.dev.magedu.com @192.168.2.165

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.dev.magedu.com @192.168.2.165
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36922
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.dev.magedu.com. IN A ;; ANSWER SECTION:
www.dev.magedu.com. 600 IN A 192.168.2.18 ;; AUTHORITY SECTION:
dev.magedu.com. 600 IN NS dns1.dev.magedu.com. ;; ADDITIONAL SECTION:
dns1.dev.magedu.com. 600 IN A 192.168.2.165 ;; Query time: 17 msec
;; SERVER: 192.168.2.165#53(192.168.2.165)
;; WHEN: Sun Jan 20 16:09:31 CST

通过父域解析 www.dev.magedu.com

root@node2:~# dig -t A www.dev.magedu.com @192.168.2.72

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.dev.magedu.com @192.168.2.72
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61135
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.dev.magedu.com. IN A ;; ANSWER SECTION:
www.dev.magedu.com. 600 IN A 192.168.2.18 ;; AUTHORITY SECTION:
dev.magedu.com. 600 IN NS dns1.dev.magedu.com. ;; Query time: 318 msec
;; SERVER: 192.168.2.72#53(192.168.2.72)
;; WHEN: Sun Jan 20 16:19:13 CST 2019
;; MSG SIZE rcvd: 82

通过子域DNS服务器解析父域的A记录

root@node2:~# dig -t A www.magedu.com @192.168.2.165

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.magedu.com @192.168.2.165
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47969
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 27 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.magedu.com. IN A ;; ANSWER SECTION:
www.magedu.com. 301 IN CNAME web.magedu.com.
web.magedu.com. 301 IN A 192.168.2.21 ;; Query time: 2 msec
;; SERVER: 192.168.2.165#53(192.168.2.165)
;; WHEN: Sun Jan 20 16:21:30 CST 2019
;; MSG SIZE rcvd: 873

DNS区域传送、子域授权的更多相关文章

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

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

  2. DNS区域传送漏洞实验以及二级域名爆破

    DNS区域传送漏洞实验以及二级域名爆破 目录: 1.DNS服务器的域传送漏洞(nslookup交互式.非交互式.批处理三种方式) 2.写个二级域名爆破脚本 一.DNS服务器的域传送漏洞 实验环境: 服 ...

  3. <转>DNS服务系列之二:DNS区域传送漏洞的安全案例

    DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因 ...

  4. DNS区域传送漏洞的安全案例

      DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务 ...

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

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

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

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

  7. DNS域传送漏洞利用

    DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因 ...

  8. DNS子域授权,区域传送

    dig 命令 +recurse  递归查询 默认    +norecurse 不递归查询 dig +recurse  -t A   www.baidu.com @127.0.0.1 dig  -t a ...

  9. linux服务基础之DNS正反向解析、主从同步、子域授权及视图

    关键词: 正向解析 反向解析 主从复制 自域授权 视图 一.DNS基本原理 1.1 什么是DNS?BIND又是什么? DNS:Domain Name Service,它是一个基于应用层的协议,是C/S ...

随机推荐

  1. TCP 传输控制协议

    开头先说几个协议: IP:网际协议 TCP:传输控制协议 Http:超文本传输协议 AMQP:高级消息队列协议 一:TCP是什么? TCP(Transmission Control Protocol ...

  2. rabbitmp安装记录

    第一次安装一路遇坑,安装步骤及问题如下 1:安装erlang依赖 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel opens ...

  3. 面试被问之-----sql优化中in与exists的区别

    曾经一次去面试,被问及in与exists的区别,记得当时是这么回答的:''in后面接子查询或者(xx,xx,xx,,,),exists后面需要一个true或者false的结果",当然这么说也 ...

  4. 【HNOI 2016】网络

    Problem Description 一个简单的网络系统可以被描述成一棵无根树.每个节点为一个服务器.连接服务器与服务器的数据线则看做一条树边.两个服务器进行数据的交互时,数据会经过连接这两个服务器 ...

  5. 使用ffmpeg进行视频封面截取

    项目需求:用户上传视频格式的文件,需要转为指定编码的MP4格式(为了适应在线播放),并且截取视频的第一帧作为封面图片(用于展示) 实现: 1.下载ffmpeg.exe 地址:http://ffmpeg ...

  6. 防cc攻击策略

    黑客攻击你的网站,会采取各种各样的手段,其中为了降低你网站的访问速度,甚至让你的服务器瘫痪,它会不断的刷新你的网站,或者模拟很多用户同一时间大量的访问你的网站, 这就是所谓的CC攻击,这就需要我们在程 ...

  7. 四、Python数据类型(二)

    一.布尔(Boolean) 布尔类型的数据只有两个:(真)True和(假)False.多用于条件语句或者是作为函数返回值. 二.字典(dictionary) 1.认识字典 将数据组织成键值对(key- ...

  8. loadrunner 参数化-如何从数据库中取数据-连接数据库进行参数化

    LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑就不切实际了,这时用连接数据库的功能就方 ...

  9. VS code 推荐插件

    vs code 中eslint语法检测,保存即可格式化 具体查看:(https://www.jianshu.com/p/23a5d6194a4b) { // vscode默认启用了根据文件类型自动设置 ...

  10. vstring.hpp

    //vov #ifndef VSTRING_HPP #define VSTRING_HPP #include <string> #include <sstream> #incl ...