什么是DNS主从复制?
简单说一下,所谓DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向、反向解析了。
这里提一下DNS服务器类型有以下几种:
主DNS服务器
辅DNS服务器
缓存服务器(默认)
转发器
需要注意的是:
1、做主从的时候时间同步非常重要,必须保持时间的一致性;
2、DNS(bind)的版本问题,最好使用同一版本,或者从DNS版本比主DNS版本高。
什么是区域传送?
区域传送有两种类型:
完全区域传送:axfr
增量区域传送:ixfr
辅助域名服务器每隔一定时间向主域名服务器发送查询更新,以保证数据一致性,这个过程就叫做区域传送。当一个新的DNS服务器添加到区域中并配置为辅DNS服务器时,它则会执行完全区域传送,从主DNS服务器上获取一份完整的资源记录副本;同时,为了保证数据同步,主域名服务器有更新时也会及时通知辅助域名服务器从而进行更新(增量区域传送)。
区域的类型:
主区域:master
从区域:slave
提示区域:hint
转发区域:forward
注:配置只允许某从服务器进行区域传送,其它任何主机都不可以传送,可在区域内配置,下面会有示例:
allow-transfer { IP | none };
# 相关配置示例:
系统约定:
主DNS:192.168.101.168
辅DNS:192.168.101.169
# 注:DNS服务器搭建配置请看上一篇文章。
1、主DNS服务器修改相关配置
vim /etc/named.conf
zone "redhat.com" IN {
type master;
file "redhat.com.zone";
allow-transfer { 192.168.101.169; }; # 增加允许区域传送的从DNS服务器地址
};
zone "101.168.192.in-addr.arpa" IN {
type master;
file "192.168.101.zone";
allow-transfer { 192.168.101.169; }; # 同上
};
2、修改主DNS正向、反向区域配置文件
vim /var/named/redhat.com.zone
$TTL 86400
@ IN SOA ns1.redhat.com. admin.redhat.com. (
2015010101 ; serial
1H ; refresh
5M ; retry
1W ; expire
3H ) ; minimum
IN NS ns1
IN NS ns2 # 增加从服务器
IN MX 10 mail
ns1 IN A 192.168.101.168
ns2 IN A 192.168.101.169 # 增加从服务器正向解析
mail IN A 192.168.101.10
www IN A 192.168.101.11
www IN A 192.168.101.12
vim /var/named/192.168.101.zone
$TTL 86400
@ IN SOA ns1.redhat.com. admin.redhat.com. (
2015010101 ; serial
1H ; refresh
5M ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.redhat.com.
IN NS ns2.redhat.com. # 增加从服务器
168 IN PTR ns1.redhat.com.
169 IN PTR ns2.redhat.com. # 增加从服务器反向解析
10 IN PTR mail.redhat.com.
11 IN PTR www.redhat.com.
12 IN PTR www.redhat.com.
3、重新加载named服务
service named reload
# 至此,主DNS服务器完全区域传送配置完成。
4、从DNS服务器安装配置bind
# 配置IP:192.168.101.169
# 配置DNS:192.168.101.169
yum install bind-libs bind-utils bind
scp 192.168.101.168:/etc/named.conf /etc/
vim /etc/named.conf
zone "redhat.com" IN {
type slave; # 此处修改为slave
file "slaves/redhat.com.zone"; # 修改文件保存路径
masters { 192.168.101.168; }; # 添加主DNS服务器地址
allow-transfer { none; }; # 修改为none
};
zone "101.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.101.zone";
masters { 192.168.101.168; };
allow-transfer { none };
};
5、启动并在主DNS服务器查看相关日志
service named start
# 成功则/var/named/slaves/目录下成功传送所有主服务器区域配置文件
# 以下是主DNS服务器日志信息
tail /var/log/messages
Jan 1 01:32:41 node named[2539]: client 192.168.101.169#55412: transfer of '101.168.192.in-addr.arpa/IN': AXFR started
Jan 1 01:32:41 node named[2539]: client 192.168.101.169#55412: transfer of '101.168.192.in-addr.arpa/IN': AXFR ended
Jan 1 01:32:41 node named[2539]: client 192.168.101.169#40342: transfer of 'redhat.com/IN': AXFR started
Jan 1 01:32:41 node named[2539]: client 192.168.101.169#40342: transfer of 'redhat.com/IN': AXFR ended
# 至此,从DNS服务器完全区域传送完成。
6、增量区域传送
# 以下操作均在主DNS服务器进行
vim /var/named/redhat.com.zone
$TTL 86400
@ IN SOA ns1.redhat.com. admin.redhat.com. (
2015010102 ; serial # 修改序列号+1
1H ; refresh
5M ; retry
1W ; expire
3H ) ; minimum
IN NS ns1
IN NS ns2
IN MX 10 mail
ns1 IN A 192.168.101.168
ns2 IN A 192.168.101.169
mail IN A 192.168.101.10
www IN A 192.168.101.11
www IN A 192.168.101.12
test IN A 192.168.101.13 # 添加一条正向解析记录
vim /var/named/192.168.101.zone
$TTL 86400
@ IN SOA ns1.redhat.com. admin.redhat.com. (
2015010102 ; serial # 修改序列号+1
1H ; refresh
5M ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.redhat.com.
IN NS ns2.redhat.com.
168 IN PTR ns1.redhat.com.
169 IN PTR ns2.redhat.com.
10 IN PTR mail.redhat.com.
11 IN PTR www.redhat.com.
12 IN PTR www.redhat.com.
13 IN PTR test.redhat.com. # 添加一条反向解析记录
7、重新加载named配置
service named reload
# 可在从DNS服务器/var/named/slaves/目录下查看对应文件是否传送正确
# 主DNS服务器查看日志
tail /var/log/messages
Jan 1 01:37:27 node named[2539]: zone 101.168.192.in-addr.arpa/IN: loaded serial 2015010102
Jan 1 01:37:27 node named[2539]: zone 101.168.192.in-addr.arpa/IN: sending notifies (serial 2015010102)
Jan 1 01:37:27 node named[2539]: zone redhat.com/IN: loaded serial 2015010102
Jan 1 01:37:27 node named[2539]: zone redhat.com/IN: sending notifies (serial 2015010102)
Jan 1 01:37:27 node named[2539]: client 192.168.101.169#45819: transfer of '101.168.192.in-addr.arpa/IN': AXFR-style IXFR started
Jan 1 01:37:27 node named[2539]: client 192.168.101.169#45819: transfer of '101.168.192.in-addr.arpa/IN': AXFR-style IXFR ended
Jan 1 01:37:28 node named[2539]: client 192.168.101.169#41348: transfer of 'redhat.com/IN': AXFR-style IXFR started
Jan 1 01:37:28 node named[2539]: client 192.168.101.169#41348: transfer of 'redhat.com/IN': AXFR-style IXFR ended
# 至此,DNS主从复制及区域传送配置完成。