简介:
为了提高DNS服务的可用性,我们通常会部署DNS主辅同步以实现数据备份,或用以实现读写分离,DNS主辅可以部署为一主多辅,同步可以控制到具体的zone。
主辅同步的过程:
master DNS服务器更新完配置后,首先会向slave DNS服务器发送notify消息。随后slave DNS服务器向master DNS服务器发送SOA查询请求,主DNS服务器返回结果给从DNS服务器,slave DNS服务器会对比其serial,如果小于自己的serial就结束同步过程。如果返回的查询结果中的serial号比自己的大,向master DNS服务器发送zone transfer请求,master DNS响应后会发送结果,slave DNS服务器接收数据,完成更新。
环境准备:
centos7.5 master
centos7.5 slave
关闭防火墙 :systemctl stop firewalld && systemctl disable firewalld
禁用selinux :setenforce 0 临时关闭
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
安装配置dns
dns-master上:
yum install -y bind* ---安装bind
systemctl start named && systemctl enable named ---启动dns并添加开机自启动
ps -ef |grep named ---查看named进程
netstat -lntup |grep 53 ---查看named端口,默认端口53
vim /etc/named.conf
改options中的listen-on那一行的 “127.0.0.1” 为 “any”,allow-query 中的“localhost” 为”any”,意思是接受其他主机的访问和查询,如下:
在named.conf下面添加一个zone
编辑test.com.zone正向解析文件
# cd /var/named/ (这个目录是 /etc/named.conf 文件中 options 模块的 directory 参数中配置的 )
# cp named.localhost test.com.zone (注意:和named.localhost 的权限、所属用户及组 保持一致,自己看看)
# chgrp named test.com.zone
# chmod 640 test.com.zone
# vim /var/named/test.com.zone
改为如下配置:
检查配置文件:
# named-checkconf /etc/named.conf
# named-checkzone "test.com." /var/named/test.com.zone
没报错就OK,报错了,检查是否 按照上面的步骤来操作!!!
重新启动named.server 测试域名解析
systemctl restart named
测试:
# dig www.test.com @192.168.175.147 (‘@’后面指定dns 服务器的地址,就可以不用改本机的dns了)
如上,在dns 服务器 10.0.0.28 上查到 www.test.com 指向 master.test.com,然后master.test.com 指向 192.168.175.147
配置反向解析
编辑/etc/named.conf 在第3步添加的 zone 下面 添加:
# cp test.com.zone 192.168.175.rev
# chgrp named 192.168.175.rev
编辑192.168.175.rev
# named-checkconf /etc/named.conf
# named-checkzone "175.168.192.in-addr.arpa" /var/named/192.168.175.rev
测试:
# dig -x 192.168.175.148 @192.168.175.147
到这里,主DNS 服务器上的 正向、反向解析已配置成功。
dns-slave上:
yum install -y bind* ---安装bind
systemctl start named && systemctl enable named ---启动dns并添加开机自启动
ps -ef |grep named ---查看named进程
netstat -lntup |grep 53 ---查看named端口,默认端口53
配置named.conf
vim /etc/named.conf
改options中的listen-on那一行的 “127.0.0.1” 为 “any”,allow-query 中的“localhost” 为”any” 添加两个zone
检查配置:
#named-checkconf /etc/named.conf
测试服务
重启服务:
systemctl restart named
测试:
反向服务
到这里DNS主从同步已经配置完成!!!!