Я пытаюсь разработать систему с двумя серверами, которые действуют как DHCP и DNS-серверы с динамическими обновлениями. Я использую ISC DHCP и BIND9.
Это похоже на это.
Сервер1 - Основной DHCP и мастер DNS. IP-адрес - 10.99.99.11
Сервер2 - Вторичный DHCP и подчиненный DNS. IP-адрес - 10.99.99.12
Серверы DHCP настроены на динамическое обновление зон DNS.
Все работает правильно, пока главный DNS-сервер не выйдет из строя и в это время не произойдет динамическое обновление.
Вопрос в том, как я могу добиться настройки, при которой динамические обновления с любого из DHCP-серверов могут выполняться независимо от того, работает ли главный сервер DNS или нет?
Я попытался настроить пересылку обновлений на подчиненном 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 Master:
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;
}
P.S. Я знаю, что некоторые люди настраивают LDAP или некоторые базы данных SQL в качестве бэкэнда для хранения информации о зоне для своих DNS-серверов, но я все еще стараюсь избегать использования других инструментов, кроме BIND.