DNS主从复制及子域(三)
主从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服务器一定要注释include “/etc/named.root.key”;和关闭防火墙
[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; };
};
[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
[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
[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可以查询解析子域,但子域无法查询解析父域,子域可以实现自我管理。如ywnds.com是父域,而market.ywnds.com是子域。
子域授权的基础配置按照高速缓存DNS服务器的基础配置即可,注意子负域DNS服务器一定要注释include “/etc/named.root.key”;和关闭防火墙
[root@bogon ~]# vim /etc/named.conf
zone "ywnds.com" IN {
type master;
file "ywnds";
allow-transfer { none; };
};
[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
[root@bogon ~]# service named restart
[root@bogon ~]# vim /etc/named.conf
zone "market.ywnds.com" IN {
type master;
file "market.ywnds";
allow-transfer { none; };
};
[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
[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服务器。
最后可以尝试手写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主从复制及子域(三)的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- DNS主从服务,子域授权,view视图,日志系统,压力测试
DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...
- DNS主从复制及区域传送
前言 DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送.也可以说,DNS区域传 ...
- 构建 DNS 主从复制服务器
一.主节点配置 1.yum install bind -y 安装 DNS 服务 2.vim /etc/named.conf 编辑 DNS 的配置文件 3.named-checkconf 检查配置文件 ...
- Linux DNS 主从复制
设置主从DNS的主要是为了冗余,分担压力,防止服务器宕机后,DNS无法正常解析. 配置 master 正常配置DNS服务. 设置主机名 [root@localhost ~]# hostnamectl ...
- DNS子域委派配置案例[转载]
最近在研究linux dns 在51上面看见这篇文章,感觉讲的很透彻,随转载,方便以后自己查阅 原文地址:http://www.51osos.com/a/Linux_CentOS_RedHat/Lin ...
- DNS区域传送、子域授权
前言 DNS服务器搭建参考上一篇: DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器更新查询数据,保证数据一致性,此为区 ...
- Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS
一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> ...
- linux dns子域授权 split分离解析 缓存dns服务器
DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...
随机推荐
- hadoop的checkpoint检查时间参数设置
1.通常情况下,SecondaryNameNode 每隔一小时执行一次. 在hdfs-default.xml文件中: <property> <name>dfs.namenode ...
- 【学习笔记】---老男孩学Python,day1
老早同学就推荐自己学编程了,因为各种事耽误了几年的时间,也可以说自己没有居安思危的意识吧… 直到今年2月份决定掏钱学线上课,但是又被兼职打断了,公司忙,兼职事多,拖来拖去只能把课程延期.这一拖就到了五 ...
- 【代码笔记】iOS-密码在进入后台1小时后重新设置
代码: AppDelegate.m #import "AppDelegate.h" #import "ViewController.h" @interface ...
- Input type=number 样式清除
/* 普通IE浏览器 样式清除 */ input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{ -webkit-appear ...
- hudson运行出现java.io.IOException Cannot run program的错误分析
作者:朱金灿 来源:http://blog.csdn.net/clever101 在昨天运行每日构建时hudson突然出错,错误信息如下: [MySoft3.1] $ cmd /c call &quo ...
- Java:运算符的问题
算术运算符: 算术运算符的注意问题 1. 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1.但被模数是负数就另当别论. -5%3=-2:-5%-3=-2:符号跟被模数(左边). 2. 对于除号 ...
- python3+unittest+HTMLTestRunner
参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园) import unittest class operatinon_unittest(un ...
- go语言练习:文件哈希
package main import ( "crypto/sha256" "encoding/hex" "fmt" "io&qu ...
- JAVAEE——SSH项目实战01:SVN介绍、eclipse插件安装和使用方法
1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...
- 【python】python常用函数
urlencode与urldecode 当url中包含中文或者参数包含中文,需要对中文或者特殊字符(/.&)做编码转换. urlencode的本质:把字符串转为gbk编码,再把\x替换成%.如 ...