BIND:通过动态更新实现 DNS 故障转移和高可用性

BIND:通过动态更新实现 DNS 故障转移和高可用性

我正在尝试设计一个包含 2 个服务器的系统,它们同时充当 DHCP 和 DNS 服务器,并具有动态更新功能。我正在使用动态主机配置协议BIND9

它看起来像这样。

服务器1- DHCP 主服务器和 DNS 主服务器。IP 地址 - 10.99.99.11

服务器2- DHCP 从属和 DNS 从属。IP 地址 - 10.99.99.12

DHCP 服务器配置为动态更新 DNS 区域。

一切运行正常,直到主 DNS 服务器发生故障并且此时发生动态更新。

问题是,无论 DNS 主服务器处于启动还是关闭状态,如何实现从任何 DHCP 服务器进行动态更新的设置?

我尝试在从属 DNS 上配置更新转发,认为它会“缓存”更新,直到主 DNS 服务器恢复,然后转发“缓存”的更新,但似乎不起作用。我的假设是基于这个答案非常相似的问题

在主服务器关闭时从从属 DNS 服务器记录日志(有时最后一行根本不出现):

Jun  9 05:02:02 localhost named[2767]: client 10.99.99.11#40668/key dhcpupdate: signer "dhcpupdate" approved
Jun  9 05:02:02 localhost named[2767]: client 10.99.99.11#40668/key dhcpupdate: forwarding update for zone 'scetest.com/IN'
Jun  9 05:02:02 localhost named[2767]: zone test.com/IN: could not forward dynamic update to 10.99.99.11#53: operation canceled

DNS 主区域配置:

zone "test.com" {
  type master;
  file "data/db.test.com";
  allow-update {
    10.99.99.11; 
    10.99.99.12; 
    key dhcpupdate; 
  };
};

zone "99.99.10.in-addr.arpa" {
  type master;
  file "data/db.10.99.99";
  allow-update {
    10.99.99.11; 
    10.99.99.12; 
    key dhcpupdate; 
  };
};

DNS从属区域配置:

zone "test.com" {
  type slave;
  file "data/db.test.com";
  masters { 10.99.99.11; };
  allow-update-forwarding {
    10.99.99.11; 
    10.99.99.12; 
    key dhcpupdate; 
  };
};

zone "99.99.10.in-addr.arpa" {
  type slave;
  file "data/db.10.99.99";
  masters { 10.99.99.11; };
  allow-update-forwarding {
    10.99.99.11; 
    10.99.99.12; 
    key dhcpupdate; 
  };
};

DDNS 配置

ddns-update-style interim;

key dhcpupdate {
  algorithm hmac-md5;
  secret SomeSecret;
}

zone 99.99.10.in-addr.arpa {
  primary 10.99.99.11;
  secondary 10.99.99.12;
  key dhcpupdate;
}

zone test.com {
  primary 10.99.99.11;
  secondary 10.99.99.122;
  key dhcpupdate;
}

PS,我知道有些人设置 LDAP 或某些 SQL 数据库作为后端来存储其 DNS 服务器的区域信息,但我仍试图避免使用 BIND 以外的其他工具。

相关内容