Лучший способ реализовать вторичный DNS-сервер с BIND
У меня есть один DNS-сервер, который установлен на centOS и основан на BIND DNS-сервере. То, что я хочу сделать, - это создать дополнительный DNS-сервер, который будет реплицироваться с главным сервером и будет содержать все записи моих зон, а также мне нужно, чтобы этот сервер работал в качестве аварийного переключения, когда главный сервер по какой-то причине выйдет из строя, вторичный будет действовать как мастер, чтобы ответить на все запросы из мира.
Сегодня я установил новый сервер (centOS 6), а также установил DNS-сервер BIND и сконфигурировал его так, чтобы все мои зоны с моего главного сервера принимались как подчиненные зоны, например:
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 ответ
С точки зрения мира, нет разницы между главным и подчиненным сервером. Просто перечислите их все, и разрешающий сервер имен будет повторять попытку на другом сервере, если он не получит ответ от первого.
Что касается того, что произойдет, если мастер выйдет из строя - это контролируется временем "EXPIRE" в SOA.
Если время истечения установлено на 10800 (как указано выше), ваши подчиненные серверы истекут свои данные и перестанут обслуживать зону после 10800s / 3600s/h = 3 hours
,