PowerDNS - Проверьте, что хост произошел перед разрешением

У меня есть выполнение серверов имен TWP PowerDNS как ns1 и ns2 с помощью установки master/slave-type, и это работает хорошо. Я хочу создать несколько серверов, чтобы предоставить услуги (т.е. сеть, электронная почта, и т.д.), затем иметь PowerDNS или на ns1 или на ns2 (какой бы ни поражен), возвращают один из нескольких дюйм/с, связанных с именем хоста в зависимости от того, в порядке ли тот хост на самом деле.

Например, скажем, то, что у меня есть два веб-сервера, X и Y. Я затем имею два записи в DNS так, чтобы webserver.local иногда решал к IP X и иногда к IP Y, приводящему к циклическому эффекту.Прекрасно.

Теперь, если X понизится, то это будет все еще работать, но клиент должен будет испытать таймаут, прежде чем они получат шанс поразить Y, что означает, что в конечном счете они доберутся туда, где они хотят пойти, но просто намного более медленно. Если бы X понижается, я хотел бы, это - IP-адрес, который будет удален из циклического списка дюйм/с для разрешения к тому, так, чтобы DNS только возвратил бы IP Y при разрешении webserver.local до такого времени, когда X восстанавливается и вводит в эксплуатацию назад.

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

0
задан 14 November 2014 в 09:47
1 ответ

Не имея возможности определить, что это было что-то встроенное в PowerDNS или что существует более «официальный» способ справиться с этим, я пошел по пути создания моей собственной программы, чтобы сделать это. Программа больше похожа на общую «если хост выходит из строя, выполните определенное пользователем действие», а не специально для этого, чтобы иметь более широкие возможности.

Я сделал ее общедоступной на случай, если она кому-то пригодится еще: https://github.com/hyperionworks/pulse/

0
ответ дан 5 December 2019 в 13:02

Теги

Похожие вопросы