前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何搭建主从架构的 DNS 服务器

如何搭建主从架构的 DNS 服务器

原创
作者头像
9527
修改2019-11-26 12:12:51
6.3K1
修改2019-11-26 12:12:51
举报
文章被收录于专栏:前端之心前端之心

前面我们介绍了如何搭建 DNS 服务器以及如何往 DNS 服务器添加反向解析记录,本文将在前面的基础上告诉大家如何搭建主从架构的 DNS 服务器。

DNS 服务器集群架构

DNS 服务器通常以集群的方式提供服务,一台主服务器和多台从服务器,从服务器启动时从主服务器进行解析库的完全同步,运行时以一定的时间间隔进行增量刷新同步,从而保证记录的一致性,若从服务器超过一定的时间无法与主服务器同步刷新则从服务器记录会过期失效,无法提供解析服务。

动手前的准备

为方便讲解起见,我们以搭建一主一从的 DNS 服务器集群为例进行介绍。为搭建集群,需要准备两台 centos 的机器,我们可以通过腾讯云开发者实验室领取免费实验机器。假设我们领取到的机器分别为主服务器(外网 IP 为182.254.232.147/内网 IP 为10.135.45.55),从服务器(外网 IP 为123.207.40.140/内网 IP 为10.186.8.20),现在我们可以开始动手实践了。

部署 DNS 服务

在两台备用机器上分别通过如下步骤部署 DNS 服务,详细部署过程可以参考快速搭建 DNS 服务器

  • 通过 yum 命令安装 BIND 软件包:yum install -y bind*;
  • 执行 systemctl start named.service 启动 DNS 服务;

配置主 DNS 服务器

  • 修改 /etc/named.conf 配置文件,将监听 IP 修改为主服务器 IP 地址10.135.45.55,allow-query 取值修改为 any,如截图所示;
  • 修改 /etc/named.rfc1912.zones 配置文件,将正向解析域和反向解析域的配置加入配置文件,其中 type 为 master 表示主服务器,allow-transfer 取值为从服务器 123.207.40.140,表示允许指定的从服务器同步 zone;
代码语言:javascript
复制
zone "qq.com" IN {
        type master;
        file "data/qq.com.zone";
        allow-transfer {123.207.40.140;};
};

zone "8.168.192.in-addr.arpa" IN {
        type master;
        file "data/192.168.8.zone";
        allow-transfer {123.207.40.140;};
};
  • 新增 /var/named/data/qq.com.zone 配置文件,配置内容如下所示;
代码语言:javascript
复制
$TTL 1D
@       IN SOA  dns1.qq.com. webmaster.qq.com. (
                                        20181124      ; serial
                                        30S      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@                       IN      NS      dns1.qq.com.
dns1.qq.com.          IN      A       182.254.232.147
@                       IN      NS      dns2.qq.com.
dns2.qq.com.          IN      A       123.207.40.140
www.qq.com.           IN      A       192.168.8.8
  • 新增 /var/named/data/192.168.8.zone 配置文件,配置内容如下所示;
代码语言:javascript
复制
$TTL 1D
@       IN SOA  dns1.qq.com. webmaster.qq.com. (
                                        20181124      ; serial
                                        30S      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@               IN      NS      dns1.qq.com.
@               IN      NS      dns2.qq.com.
8              IN      PTR     www.qq.com.
  • 执行命令 systemctl  restart  named.service,重启主 DNS 服务器;

配置从 DNS 服务器

  • 修改 /etc/named.conf 配置文件,将监听 IP 修改为从服务器 IP 地址10.186.8.20,allow-query 取值修改为 any,如截图所示;
  • 修改 /etc/named.rfc1912.zones 配置文件,将正向解析域和反向解析域的配置加入配置文件,其中 type 为 slave 表示从服务器,allow-transfer 取值为主服务器 IP 182.254.232.147,表示从主服务器同步 zone;
代码语言:javascript
复制
zone "qq.com" IN {
        type slave;
        file "data/qq.com.zone";
        masters { 182.254.232.147; };
        allow-transfer {182.254.232.147;};
};

zone "8.168.192.in-addr.arpa" IN {
        type slave;
        file "data/192.168.8.zone";
        masters { 182.254.232.147; };
        allow-transfer {182.254.232.147;};
};
  • 执行命令 systemctl  restart  named.service,重启从 DNS 服务器;

验证 DNS 服务器有效性

  • 在从服务器上执行命令 ll /var/named/data/,发现从主 DNS 服务器同步了两个 zone 配置文件;
  • 通过修改 PC 电脑的 /etc/resolv.conf 配置文件指定 nameserver,将 PC 的默认 DNS 服务器设置为我们搭建的 DNS 服务器;
  • 通过 PC 电脑执行命令 dig -t a www.qq.com 查看解析情况,如我们所预期的,域名www.qq.com 被解析到8.8.8.8,同时 qq.com的权威服务器变成了 dns.qq.com(指向 IP 为123.207.8.164);
  • 修改主服务器正向解析域和反向解析域的配置中 www.qq.com 对应的 IP,等待30秒后,通过 dig @182.254.232.147 -t a www.qq.com 查看从服务器的解析情况,可以看到主服务器的修改已经增量同步到从服务器;

到目前为止,我们已经可以构建一套完整的 DNS 服务,具备主从架构和正反向域名解析能力,我们也从中详细了解了 域名解析的系列知识点。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档