1

Я пытаюсь обеспечить уровень контроля отработки отказа (между двумя сайтами), используя DNS (bind9), и я не уверен, что то, что я планирую сделать, соответствует спецификациям и будет ли оно работать надежно.

Суть вопроса (упрощенная - я знаю, что мне нужно более 1 сервера имен в реальности, и есть более эффективные способы обработки упрощенной версии ниже - мое реальное решение будет включать в себя несколько серверов имен, несколько представлений и другие вещи, такие как хуки в приложении и дополнительные поддоменов) это -

Если у меня есть 2 сервера имен (один в Лос-Анджелесе и один в Великобритании, например), с активным сервером в Великобритании, допустимо ли иметь следующую схему зон:

на сервере LA:

                     (SOA Serial 2013013101)

domain.name.   NS    ns1.domain.name.
domain.name.   NS    ns2.domain.name.

ns1.domain.name.     A    LA.server.ip
ns2.domain.name.     A    UK.server.ip
www.domain.name.     NS   ns2.domain.name.
ww2.domain.name.     NS   ns2.domain.name.

на британском сервере:

               (SOA Serial 2013013101)

domain.name.   NS    ns1.domain.name.
domain.name.   NS    ns2.domain.name.

ns1.domain.name.     A    LA.server.ip
ns2.domain.name.     A    UK.server.ip
www.domain.name.     A    UK.server.ip
ww2.domain.name.     A    UK.server.ip

Идея заключается в том, что запросы к www.domain.name и ww2.domain.name всегда направлены на UK.server.IP через DNS. (Я хочу сделать это так, чтобы в случае продолжительного простоя в Великобритании я мог изменить зону на сервере LA и снова начать работу - без внесения изменений с регистратором). Конечно, и ns1.domain.name и ns2.domain.name будут предоставлены в качестве IP-адресов для регистратора.

Мои опасения связаны с серийными номерами SOA, и если я нарушу спецификации, имея разные ответы для одних и тех же зон, и будет ли разрешение / перенаправление DNS работать так, как ожидается. (Я предполагаю, что все будет работать нормально, если я разделю сервер в Великобритании на несколько зон, например, зону Лос-Анджелеса, и зону для www.domain.name и ww2.domain.name - но было бы здорово, если бы я мог этого избежать)

2 ответа2

2

Что вы подразумеваете под "активным" сервером? В DNS нет поля, которое позволяло бы вам устанавливать предпочтения для серверов имен (есть только одно для MX). Так что для клиента, который только что узнал о вашей зоне, и Лос-Анджелес, и Великобритания находятся на одном уровне в иерархии. Какой из них он выберет, зависит от конкретной реализации и не касается нашего бизнеса. Этот выбор может даже измениться для последующих запросов (опять же, в зависимости от реализации).

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

Но почему вы не используете правильную схему master/slave с Bind (если вы готовы ее использовать)? Мой главный сервер имен (только в моей собственной иерархии, а не для регистратора) имеет единственный файл для зоны, и подчиненные запрашивают копии через AXFR и получают уведомления об обновлениях. Время, в течение которого ведомые устройства хранят данные зоны, настраивается. Если вы хотите получить более подробную информацию о том, как это настроить, я был бы рад помочь вам.

РЕДАКТИРОВАТЬ:

Я предлагаю следующий подход (который должен полностью соответствовать спецификациям):

Хосты

  • UK1: 1.0.0.1
  • UK2: 1.0.0.2
  • LA: 2.0.0.1

Зона обслуживания

ns1.serv.com A 1.0.0.1
ns2.serv.com A 1.0.0.2
ns3.serv.com A 1.0.0.3

serv.com NS ns1      <-- 
serv.com NS ns2      <-- this goes to registrar
serv.com NS ns3      <--

(предоставьте длинные TTL здесь, чтобы в полной мере использовать кэширование. Это вводит слой косвенности, но с длинными TTL, это не должно быть так плохо).

ans1.serv.com A 1.0.0.1
ans2.serv.com A 1.0.0.2

(короткие TTL здесь, эти значения дают активные серверы имен для вашей зоны. Чем короче TTL, тем быстрее используются другие серверы имен.

Все остальные зоны

example1.com NS ans1.serv.com.  <-- this goes to registrar
example1.com NS ans2.serv.com.  <--          


anything you want to put in here...

В случае отработки отказа LA заменит активные серверы имен в зоне обслуживания и впоследствии получит все запросы в другие ваши зоны.

0

Эта схема не действительна.

Я настроил тестовую систему, и серверы имен через Интернет неправильно обрабатывали доменное имя, когда они обращались к серверу имен, который имел только DNS (и связанные клейкие записи)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .