我正在尝试设计一个包含 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 以外的其他工具。