在现实生活中,我们也会遇到DNS服务器出现故障的情况,当使用一台DNS服务器的时候,出现故障以后我们就没有办法继续上网,所以我们需要多台DNS服务器,那么使用不同的DNS服务器怎样才能得到相同的解析结果呢,这就是本篇我要为大家讲解的内容。

目标:配置一台主DNS服务器,配置一台辅DNS服务器,并实现使用主DNS服务器和使用辅DNS服务器解析能够得到相同的解析数据。

完成本次目标我们需要使用三台虚拟机,其中两台用来配置DNS服务,一台用来访问。前期的安装部署我前面的博客有讲解这里就不再赘述了,我们直接从配置文件开始。

这里我使用的软件包是带有安全包的 bind-chroot

确保用到的虚拟机的防火墙和selinux都是关闭的

配置主DNS服务器

打开主配置文件/var/named/chroot/etc/named.conf

Linux基础服务 DNS主从同步(bind)_Linux
定义两个域:
Linux基础服务 DNS主从同步(bind)_bind_02
创建区域数据库文件:
Linux基础服务 DNS主从同步(bind)_bind_03
Linux基础服务 DNS主从同步(bind)_bind_04
重启DNS服务,使配置生效。

配置辅DNS服务器

要实现主从的数据统一,不可能通过手动配置两台一模一样的DNS服务器,如果解析的内容太多,我们手写配置文件是无法完成的,所以这里我们要通过配置辅DNS服务器的主配置文件实现主DNS服务器和辅DNS服务器的区域数据库文件的自动统一。

打开主配置文件/var/named/chroot/etc/named.conf

Linux基础服务 DNS主从同步(bind)_bind_05
定义两个域:
Linux基础服务 DNS主从同步(bind)_bind_06
区域数据库文件自动统一

这时在辅DNS服务器的区域数据库文件目录下是没有我们定义的区域数据库文件的,我们重启一下DNS服务
Linux基础服务 DNS主从同步(bind)_bind_07
这时辅DNS服务器的区域数据库文件会自动和主DNS服务器的区域数据库文件相统一。

我们修改一下主DNS服务器的区域数据库文件,添加一行:
Linux基础服务 DNS主从同步(bind)_Linux_08
我们在辅DNS服务器中对区域数据库文件不做任何修改,只是删除原区域数据库文件,然后重启DNS服务重新同步一下主从DNS服务器的区域数据库文件。
Linux基础服务 DNS主从同步(bind)_bind_09
我们可以看到,我们没有对辅DNS服务器的区域数据库文件做任何修改,但是它会自动和主DNS服务器的区域数据库文件相同步,这样我们就实现了为了避免故障问题而配置的多台DNS服务器的数据自动统一。