什麼是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主從複製及區域傳送配置完成。