主从复制:
DNS服务器类型:
主服务器:区域解析库手动创建
从服务器:区域解析库不能手动创建和修改,要从主服务器同步而来
从服务器从主服务器上拉取区域解析库用完全区域传送AXFR和不完全区域传送IXFR
完全区域传送是在从DNS服务器第一次从主服务器同步是用完全区域传送AXFR
1、配置主从DNS服务器需要时间同步
crontab:
*/3 * * * * /usr/sbin/ntpdate 172.16.0.1 &> /dev/null
每3分钟从时间服务器同步一次时间
2、从服务器BIND版本不能低于主服务器BIND版本,以使从服务器能兼容主服务器BIND程序特性
网域:bh4cxj.com
配置从服务器:
1、到域名注册商那里添加一个从DNS服务器的NS记录
2、先确定从服务器的BIND版本不低于主DNS服务器
3、将主从DNS服务器每3分钟和同一个时间服务器同步一次时间
# crontab -e
*/3 * * * * /usr/sbin/ntpdate 172.16.0.1 &> /dev/null
4、在主DNS服务器的解析库中添加从DNS服务器的NS记录和A记录,然后还要修改版本号
[root@localhost named]# vi /var/named/bh4cxj.com.zone
重新加载主DNS服务器配置
[root@localhost named]# service named reload
5、添加一个从解析区域
修改主配置文件
[root@localhost etc]# vi /etc/named.conf
在从DNS服务器上添加一个从解析区域
[root@localhost etc]# vi /etc/named.rfc1912.zones
检查语法
[root@localhost etc]# named-checkconf /etc/named.conf
启动服务
[root@localhost named]# service named start
[root@localhost named]# ls slaves/
可以看到已经从服务器上同步到解析库
看一看这个同步到的解析库内容
[root@localhost named]# cat slaves/bh4cxj.com.zone
可以看到版本号和从DNS服务器正是在主服务器上做的修改,已经被同步到了从DNS服务器的解析库
6、测试从DNS服务器
查看所有的记录
[root@localhost named]# dig -t AXFR bh4cxj.com @localhost
查询www.bh4cxj.com
[root@localhost named]# dig -t A www.bh4cxj.com @localhost
区域传送的限制功能
主DNS服务器只允许从服务器区域传送
从DNS服务器不允许任何服务器进行区域传送
BIND中内置了ACL访问控制列表
none:所有都不允许
any:允许任意
localhost: 本机
localnet:本网络
allow-transfer { IP; IP; };
将主DNS服务器修改为仅允许从DNS server进行区域传送
[root@localhost named]# vi /etc/named.rfc1912.zones
重载服务配置
[root@localhost named]# service named reload
在主DNS上区域传送
[root@localhost named]# dig -t AXFR bh4cxj.com @172.16.249.116
可以看到传送失败,在从DNS服务器上测试
[root@localhost named]# dig -t AXFR bh4cxj.com @172.16.249.116
传送成功,设置生效
将从DNS Server修改为不允许任何人进行区域传送
[root@localhost named]# vi /etc/named.rfc1912.zones
重载服务配置
[root@localhost named]# service named reload
在主DNS Server和从DNS Server上测试
[root@localhost named]# dig -t AXFR bh4cxj.com @172.16.142.53
子域授权
子域:ops.bh4cxj.com
master NS: 172.16.142.153
slave NS: 172.16.142.154
mail: 172.16.142.125
www server: 172.16.142.180
FTP server: 172.16.142.121
子域授权,在其父域的区域解析库中添加“胶水记录(glue record)”
在父域bh4cxj.com的区域解析库中添加子域的NS记录
[root@localhost named]# vi /var/named/bh4cxj.com.zone
重载服务配置
[root@localhost ~]# service named force-reload
配置子域ops.bh4cxj.com主从复制
1、安装BIND
2、配置主配置文件
定义一个区域
3、为主DNS Server提供区域解析库
修改解析库文件的属组和权限
[root@localhost named]# chown :named ops.bh4cxj.com.zone
[root@localhost named]# chmod 640 ops.bh4cxj.com.zone
4、检查配置文件
[root@localhost named]# named-checkconf
[root@localhost named]# service namedc onfigtest
zone localhost.localdomain/IN: loadedserial 0 zone localhost/IN: loaded serial 0 zone1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN:loaded serial 0 zone 1.0.0.127.in-addr.arpa/IN: loadedserial 0 zone 0.in-addr.arpa/IN: loaded serial 0 zone ops.bh4cxj.com/IN: loaded serial2014080701
5、启动
[root@localhost named]# service named start Generating /etc/rndc.key: [ OK ] Starting named: [ OK ]
6、测试
在从DNS Server上执行
[root@localhost ~]# dig -t AXFR ops.bh4cxj.com @172.16.142.153
; <<>> DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t AXFR [email protected] ;; global options: +cmd ops.bh4cxj.com. 3600 IN SOA ns1.ops.bh4cxj.com.admin.ops.bh4cxj.com. 2014080701 7200 600 1209600 7200 ops.bh4cxj.com. 3600 IN NS ns1.ops.bh4cxj.com. ops.bh4cxj.com. 3600 IN NS ns2.ops.bh4cxj.com. ops.bh4cxj.com. 3600 IN MX 10mail.ops.bh4cxj.com. ftp.ops.bh4cxj.com. 3600 IN A 172.16.142.121 mail.ops.bh4cxj.com. 3600 IN A 172.16.142.125 ns1.ops.bh4cxj.com. 3600 IN A 172.16.142.153 ns2.ops.bh4cxj.com. 3600 IN A 172.16.142.154 www.ops.bh4cxj.com. 3600 IN A 172.16.142.180 ops.bh4cxj.com. 3600 IN SOA ns1.ops.bh4cxj.com.admin.ops.bh4cxj.com. 2014080701 7200 600 1209600 7200 ;; Query time: 6 msec ;; SERVER:172.16.142.153#53(172.16.142.153) ;; WHEN: Thu Aug 7 00:15:56 2014 ;; XFR size: 10 records (messages 1, bytes255)
7、配置从DNS Server
定义一个从区域
限定区域传送
检查配置文件
[root@localhost~]# named-checkconf [root@localhost ~]# service namedconfigtest
8、启动测试
[root@localhost ~]# service named start
Generating /etc/rndc.key: [ OK ] Starting named: [ OK ]
[root@localhost ~]# cat /var/named/slaves/ops.bh4cxj.com.zone
[root@localhost ~]# dig -t A mail.ops.bh4cxj.com @localhost