前言

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. CF685B Kay and Snowflake 贪心

    CF685B Kay and Snowflake 链接 CF 题目大意 给你一颗树,询问子树的重心 思路 贪心? 重心肯定是向上走的,所以直接向上跳就好了. 不优秀的时候就不要跳了 ,因为以后也不能更 ...

  2. 【MVC】ASP.NET MVC之数据验证

    前端传到后端数据的不可信任性,DRY("Don't Repeat Yourself") 设计原则.MVC3.0出了后端数据验证特性,鼓励你只定义一次功能或行为,然后在应用程序中各处 ...

  3. python学习记录-机器学习

    首先安装了anaconda3软件,安装的是最新版,安装时勾选了写入环境变量,支持的是python3.7.3版本. 然后设置了清华大学的镜像,主要是用管理员身份运行 anaconda prompt命令行 ...

  4. PPI | protein-protein interaction | 蛋白互作分析

    STRING database的挖掘 这个数据库绝对是做实验人的宝藏,里面包含了各种蛋白互作关系,不用做实验就有一大堆证据. IPA了解一下,收费的高端分析软件,大部分就是整合的这个数据库,很多大佬喜 ...

  5. vue作用域插槽的应用

    问题场景: 存在一个列表,然后当鼠标放入列表中的名称上的时候,自动弹出简介,类似这种效果, 我们当然可以使用positon relative和absolute搭配达到这样的效果,但是现在有一个奇葩的问 ...

  6. python -- 返回函数、匿名函数、装饰器

    返回函数 高阶函数的参数可以是函数,那么其返回值也可以是函数. 闭包 对于高阶函数,内部函数可以引用外部函数的参数和局部变量.当调用外部函数返回内部函数时,相关参数和变量都保存在返回的函数(即内部函数 ...

  7. fetch请求get方式以及post提交参数为formdata类型的数据

    1.请求方式post,请求函数参数 _requestData(callback,_cityDt){ const switchIp = "http://192.168.43.103/api/p ...

  8. MongoVUE的table view视图不显示列标题

    近来项目用到mongodb,遂装了个MongoVUE,当然是破解版的. 但是发现个小问题,就是table view视图下列标题文字标签不见了,Find的执行按钮也是空白一片: 开始以为破解的不彻底,重 ...

  9. 搭建k8s(一)

    安装VMWare VMWare官网地址 点击下载-->WorkStation Pro-->点击linux免费试用版 下载安装完成后,创建一个虚拟机,去centos官网找到centos7is ...

  10. async-await用法

    转载:https://segmentfault.com/a/1190000011526612?utm_source=tag-newest