DNS неверные записи

У меня немного болит голова, когда я пытаюсь настроить собственное решение HA с помощью docker и nginx, выступающих в роли балансировщика нагрузки.

На самом деле они уже настроены. Но как запасной вариант, если основной узел закрывается, я хочу использовать другой, так как конфигурация nginx для балансировки нагрузки реплицируется.

Я подумал, что если у меня есть два узла, оба настроены с PowerDNS (вместе с nginx и docker), и я назначаю эти DNS-серверы одному из моих доменов, когда узел выключается, так как узел переносит DNS-сервер, последующее запросы будут получать информацию с другого DNS-сервера, на котором запись A настроена так, чтобы указывать на локальный IP-адрес (и, таким образом, указывает на другой балансировщик нагрузки).

Похоже, я не могу заставить эту работу.

Учитывая, что у меня есть следующие серверы:

сервер_1 IP = 1.1.1.1

сервер_2 IP = 1.1.2.2

У каждого из них есть DNS-сервер, настроенный с PowerDNS (и полностью функциональный, согласно dig и другим тестам).

Я получил доменные DNS-серверы, указывающие на них:

ns1.example.com ---> 1.1.1.1

ns2.example.com ---> 1.1.2.2

DNS-сервер ns1.example.com имеет:

example2.com A 1.1.1.1

DNS-сервер ns2.example.com имеет:

example2.com A 1.1.2.2

Так. Разве example2.com не должен указывать на 1.1.1.1/1.1.2.2, когда оба сервера работают, но когда первый сервер недоступен, указывать на 1.1.2.2?

Что ж. Когда я выключаю первый сервер и пытаюсь, он дает мне IP первого сервера вместо второго.

Четное dig example2.com @ns2.example.com дает мне IP-адрес, определенный в записи A для example2.com на первом DNS-сервере.

Я не прав, или здесь что-то странное?

1 ответ

Я не знаю, откуда у вас идея, что серверы имен перечислены в каком-то порядке приоритетов, но это просто неправильно. Предполагается, что все серверы имен, доверенные для зоны, имеют одинаковое содержимое. Resolvers выбрал серверы имен для произвольного запроса, чтобы распределить нагрузку между ними. Предоставление авторитетным серверам различного содержимого даст конечным пользователям только противоречивые результаты, а не что-либо полезное.

Кроме того, вы забыли, что распознаватели кэшируют ответы, которые они получают. Даже если бы DNS работал так, как вы думали (а это не так), потребовались бы решающие минуты или часы, чтобы заметить "отказоустойчивость".

Другие вопросы по тегам