使用 BIND 实现辅助 DNS 服务器的最佳方式

使用 BIND 实现辅助 DNS 服务器的最佳方式

我有一台安装在 centOS 上并基于 BIND DNS 服务器的 DNS 服务器。我想要做的是创建一个辅助 DNS 服务器,它将与主服务器复制并保存我的所有区域记录,并且我还需要该服务器充当故障转移服务器,当主服务器因某种原因发生故障时,辅助服务器将充当主服务器来回答来自世界各地的所有查询。

今天我安装了一台新服务器(centOS 6),还安装了 BIND DNS 服务器,并将其配置为将主服务器中的所有区域作为从属区域,如下所示:

zone "example-domain.com" IN {
        type slave;
        masters { <master-ip-address>; };
        file "slaves/example-domain.com";
};

因此,毕竟我成功地从主服务器获取了包含所有 DN 记录的区域文件更新,一切顺利。

我做的第二步是将所有域区域中的主区域文件更新到新的情况,因此我添加了一个包含从属详细信息的新 NS 记录,如下所示:

$TTL 3600
@       IN      SOA    XXX.com. ns1.XXX.com. (
                        2013080901      ; serial, todays date + todays serial #
                        10800           ; refresh, seconds
                        7200            ; retry, seconds
                        10800           ; expire, seconds
                        86400 )         ; minimum, seconds

                   NS      ns1.XXX.com.
                   NS      dns.netvision.net.il.
                   NS      nypop.netvision.net.il.
                   **NS      ns2.XXX.com.**
                   MX      1 mail.synerionhcm.com.


@               IN      A       1.1.1.1
ns2             IN      A       2.2.2.2
www             IN      A       1.1.1.
localhost               A       127.0.0.1

但是我想知道在这种情况下会发生什么,如果我的主服务器由于某种原因崩溃,并且辅助服务器无法从主服务器复制记录,它会删除它们吗?它会像主服务器一样运行并回答来自世界的查询吗?

谢谢

答案1

从世界的角度来看,主服务器和从服务器之间没有区别。只需列出所有服务器,如果解析名称服务器未从第一台服务器收到响应,它将在另一台服务器上重试。

至于如果主服务器发生故障会发生什么 —— 这是由 SOA 中的“EXPIRE”时间控制的。

将到期时间设置为 10800 (如上所述),您的从属服务器将使其数据到期并在之后停止为区域提供服务10800s / 3600s/h = 3 hours

相关内容