在Centos系统中基于PowerDNS实现master和slave的域名解析服务双备份
在上一篇文章中,阐述了如何在Centos 7系统(其他版本的Centos未尝试)中基于PowerDNS和poweradmin自建域名解析服务器替代DnsPod的过程。但是在一般的DNS服务中,我们需要配置一个master server域名解析服务后,还需要配置若干个slave server进行域名的备份解析,以防止master server挂掉了之后依然保持域名解析的正常服务。
假设我们的master server依然是上一篇文章建立的ns1.happytang.org (215.1.1.1),那么通过这一篇文章,我们将再构建一个slave server,为ns2.happytang.org,其IP地址为215.2.2.2。具体配置如下:
第一步
在slave server中,重复上一篇论文的第1步到第6步,确保安装好powerdns。在slave server中,不需要安装poweradmin。
第二步
配置slave server中的pdns.conf,代码如下:
1 # cd /etc/pdns/ 2 # mv pdns.conf pdns.conf.orig 3 # vi pdns.conf
(1)搜索disable-axfr=,注释前面的#后,并在=后改为yes
(2)搜索master=,注释前面的#后,并在=后改为no
(3)搜索slave=,注释前面的#后,并在=后改为yes
(4)搜索slave-cycle-interval=,注释前面的#后,并在=后改为60,这样每隔60s,slave server就会联系master server,以同步域名解析记录。
第三步
配置slave server中的mysql记录,代码如下:
1 # mysql -u powerdns_user -p 2 # USE powerdns; 3 # insert into supermasters values ('215.1.1.1', 'ns2.happytang.org', 'admin');
第四步
在mysql中输入quit后,退出mysql。至此,slave server设置完成。然后重启powerdns,代码如下:
1 # service pdns restart
第五步
登录master server,设置pdns.conf,代码如下:
1 # cd /etc/pdns/ 2 # mv pdns.conf pdns.conf.orig 3 # vi pdns.conf
(1)搜索allow-axfr-ips=,注释前面的#后,并在=后改为215.2.2.2/32
(2)搜索disable-axfr=,注释前面的#后,并在=后改为no
(3)搜索master=,注释前面的#后,并在=后改为yes
(4)搜索slave=,注释前面的#后,并在=后改为no
至此,master server全部设置完。执行service pdns restart重启powerdns。
第六步
测试基于powerdns的主从权威域名服务器是否可以正常工作。执行下述命令:
1 yum install bind-bind-utils 2 dig test.com A @ns1.happytang.org 3 dig test.com A @ns2.happytang.org
以上两个dig的结果一致,就表示搭建的主从权威域名服务器工作正常。
本文参考了这篇文章。